#include <reg52.h>
#include <intrins.h>
#include "stdio.h"
#define uchar unsigned char
#define uint unsigned int
#define out P0
sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P2^2;
sbit led=P2^3;
sbit key=P2^4;
sbit trig = P1^5;
sbit echo = P1^6;
void check_busy(void);
void write_command(uchar com);
void write_data(uchar dat);
void LCD_initial(void);
void string(uchar ad ,uchar *s);
void lcd_test(void);
void delay(uint);
//主程序
void Delay20us() //@12.000MHz
{
unsigned char i;
_nop_();
i = 7;
while (--i);
}
void Time0Init()
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01;
TH0 = 0;
TL0 = 0;
}
void startHC()
{
trig=0;
trig = 1;
Delay20us();
trig = 0;
}
void main(void)
{
double time;
double dis;
unsigned char buf[10];
Time0Init();
LCD_initial();
while(1)
{
startHC();
while(echo==0);
TR0=1;
while(echo==1);
TR0=0;
time=TH0 * 256 + TL0;
TH0=0;
TL0=0;
dis=time*0.017;
string(0x80,"distance is :");
sprintf(buf,"%.1f",dis);
string(0xC0,buf);
// delay(1000);
// write_command(0x01);//清屏
// delay(1000);
}
}
//1ms延时程序
void delay(uint j)
{
uchar i=250;
for(;j>0;j--)
{
while(--i);
i=249;
while(--i);
i=250;
}
}
//查忙程序
void check_busy(void)
{
uchar dt;
do
{
dt=0xff;
e=0;
rs=0;
rw=1;
e=1;
dt=out;
}while(dt&0x80);
e=0;
}
//写控制指令
void write_command(uchar com)
{
check_busy();
e=0;
rs=0;
rw=0;
out=com;
e=1;
_nop_();
e=0;
delay(1);
}
//写数据指令
void write_data(uchar dat)
{
check_busy();
e=0;
rs=1;
rw=0;
out=dat;
e=1;
_nop_();
e=0;
delay(1);
}
//屏幕初始化
void LCD_initial(void)
{
write_command(0x38);//8位总线,双行显示,5X7点阵字符
write_command(0x0F);//开整体显示,光标关,无黑块
write_command(0x06);//光标右移
write_command(0x01);//清屏
delay(1);
}
//输出字符串
void string(uchar ad,uchar*s)
{
write_command(ad);
while(*s>0)
{
write_data(*s++);
delay(100);
}
}
51单片机超声波模块测距Prpteus仿真加keil源代码
需积分: 3 157 浏览量
2023-12-12
21:47:36
上传
评论
收藏 95KB RAR 举报
小白研究僧学习嵌入式
- 粉丝: 1509
- 资源: 19
最新资源
- .archivetemp解压密码.url
- AI运营网站系统+支持GTP4 支持Midjourney绘画+文档分析+多模态模型支持+识图模型
- CNC转换器(信诚)CNC转换器(信诚)
- CNC转换器(信诚)CNC转换器(信诚)
- FaceFusionSharp OnnxRuntime版 视频换脸.rar
- 上市公司澄清公告数据集.xlsx
- 基于Matlab实现的基于车辆运动学,实现低速度下的MPC轨迹跟踪(高分项目)
- 安卓Android社团管理App+源代码+文档说明+数据库(高分项目).zip
- 基于安卓Android的社团管理App+sql数据库(高分毕设项目).zip
- 通用性I2C接口的应用之驱动SHT20(N32G45XVL-STB)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈