51单片机超声波模块的C语言程序.doc

51单片机超声波模块的C语言程序.doc

ID:48446561

大小:21.02 KB

页数:13页

时间:2020-01-30

51单片机超声波模块的C语言程序.doc_第1页
51单片机超声波模块的C语言程序.doc_第2页
51单片机超声波模块的C语言程序.doc_第3页
51单片机超声波模块的C语言程序.doc_第4页
51单片机超声波模块的C语言程序.doc_第5页
资源描述:

《51单片机超声波模块的C语言程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.//超声波模块程序//超声波模块程序//Trig=P2^0//Echo=P3^2#include#defineucharunsignedchar#defineuintunsignedintinttime;intsucceed_flag;uchartimeL;uchartimeH;sbitTrig=P1^0;sbitEcho=P3^2;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharcodetable1[]={0,1,2,3,4,5,6,7};//

2、voiddelay(uintz)..{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//voiddelay_20us(){uchara;for(a=0;a<100;a++);}//***************************************************************//显示数据转换程序voiddisplay(uinttemp){ucharge,shi,bai;bai=temp/100;shi=(temp%100)/10;..ge=temp%10;P2=table1[2];P0=tab

3、le[ge];delay(1);P2=table1[1];P0=table[shi];delay(1);P2=table1[0];P0=table[bai];delay(1);}//***************************************************************voidmain(){uintdistance;//test=0;Trig=0;//首先拉低脉冲输入引脚EA=1;//打开总中断0..TMOD=0x10;//定时器1,16位工作方式while(1){EA=0;//关总中断Trig=1;//超声波输入端delay

4、_20us();//延时20usTrig=0;//产生一个20us的脉冲while(Echo==0);//等待Echo回波引脚变高电平succeed_flag=0;//清测量成功标志EA=1;EX0=1;//打开外部中断0TH1=0;//定时器1清零TL1=0;//定时器1清零TF1=0;//计数溢出标志TR1=1;//启动定时器1delay(20);//等待测量的结果TR1=0;//关闭定时器1EX0=0;//关闭外部中断0if(succeed_flag==1)..{time=timeH*256+timeL;distance=time*0.0172;//厘米}i

5、f(succeed_flag==0){distance=0;//没有回波则清零//test=!test;//测试灯变化}display(distance);}}//***************************************************************//外部中断0,用做判断回波电平voidexter()interrupt0//外部中断0是0号{..EX0=0;//关闭外部中断timeH=TH1;//取出定时器的值timeL=TL1;//取出定时器的值succeed_flag=1;//至成功测量的标志}//**********

6、******************************************************//定时器1中断,用做超声波测距计时voidtimer1()interrupt3//{TH1=0;TL1=0;}1602液晶显示的超声波模块程序接口程序里边都有、、..#include//#include#include#defineucharunsignedchar#defineuintunsignedintsbitlcdrs=P2^3;sbitlcden=P2^2;sbittrig=P2^0;//

7、超声波发送//sbitecho=P3^2;//超声波接受//P0____________DB0-DB7uchardis[]="Disp_HC-SR04";ucharnum[]="0123456789";uintdistance;voiddelay(uintz){..uintx,y;for(x=z;x>0;x--)for(y=121;y>0;y--);}voidHC_init(){TMOD=0x09;TR0=1;TH0=0;TL0=0;}uintHC_jisuan(){uintdist,timer;timer=TH0;timer<<=8;timer=timer

8、TL

9、0;..d

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

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

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