51单片机超声波测距并用1602液晶显示距离程序

51单片机超声波测距并用1602液晶显示距离程序

ID:41401431

大小:71.50 KB

页数:3页

时间:2019-08-24

51单片机超声波测距并用1602液晶显示距离程序_第1页
51单片机超声波测距并用1602液晶显示距离程序_第2页
51单片机超声波测距并用1602液晶显示距离程序_第3页
资源描述:

《51单片机超声波测距并用1602液晶显示距离程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include<2.h>#include#defineucharunsignedchar#defineuintunsignedintsbitrs=P3^5;sbitwr=P3^6;sbitlcden=P3^4;voiddelay()//100us{uchari,j;for(i=0;i<1;i++)for(j=0;j<30;j++);}voidwrite_command(ucharcommand){rs=0;wr=0;lcden=0;P0=command;lcden=1;delay();lcd

2、en=0;}voidlcd_initial(){write_command(0x38);write_command(0x0c);write_command(0x06);}voidwrite_data(ucharlcd_data){rs=1;wr=0;lcden=0;P0=lcd_data;lcden=1;delay();lcden=0;}ucharshi,ge,bai;intjia=0;//如果计数器满,则保存满值unsignedlongintnum=0;//注意数据类型sbittrig=P2^0;//定义发送引脚sbitecho=P3^6;//定

3、义接受回响信号引脚voidsend()//发送声波{trig=1;delay();trig=0;}voidmain(){while(1){TMOD=0x01;//定时器方式1ET0=1;//允许T0中断EA=1;//开启总中断TH0=0;//装初值TL0=0;send();while(!echo);//如果回响变为高电平则执行下一步TR0=1;//启动定时器while(echo);//等待回响结束TR0=0;//关闭定时器num=TH0*256+TL0+jia;jia=0;num=num*0.017*12/11;lcd_initial();//液晶

4、初始化bai=num/100;shi=num/10%10;ge=num%10%10;write_command(0x80+0x02);//地址write_data(0x30+bai);write_data(0x30+shi);write_data(0x30+ge);}}voidTime0(void)interrupt1//计数器满时,进入中断,jia用来保存满值{jia=jia+65535;TH0=0;TL0=0;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。