版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、超声波测距 C程序本探头是自带晶振的那种,只需发出一个脉冲,探头发出方波,等待回波 并计时,液晶显示。能避免超出测量距离的死等待,请大家完善。/超声波模块程序#include <reg52.h> #include <intrins.h> #define uchar unsigned char#define uint unsigned intunsigned int time;unsigned int S,s_false;unsigned long num1;bit flag ;sbit Trig =P36;/定义引脚sbit
2、 Echo=P37;sbit lcdrs=P20;/命令数据sbit lcdrw=P21;/读写sbit lcde=P22;/能sbit led=P35;void delay(uint z)uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-);/*void delay_20us() uchar a ; for(a=0;a<100;a+);*/*void write_com(unsigned char com)
3、0; lcdrs=0; P0=com; delay(5); lcde=1; delay(5); lcde=0;void write_data(unsigned char zifu) lcdrs=1; P0=z
4、ifu; delay(5); lcde=1; delay(5); lcde=0;void write_temp(uint t_emp) uchar qian,bai,shi,ge; qian=t_emp/1000; bai
5、=(t_emp%1000)/100; shi=(t_emp%100)/10; ge=t_emp%10; write_com(0x80); write_data(0x30+qian); delay(1); write_data(0x30+bai); &
6、#160; delay(1); write_data(0x30+shi); delay(1); write_data(0x30+ge); delay(1); delay(100);/*/void T0_time() interrupt 1
7、60; /T0中断用来计数器溢出,超过测距范围 flag=0; /中断溢出标志,失败 TH0=0; TL0=0;
8、 TR0=0; /关闭计数 /*/void T1_timer() interrupt 3 /中断 TH1=(65536-50000)/256; TL1=(6
9、5536-50000)%256; num1+; if (num1=20) num1=0; led=led; void StartModule
10、() /启动模块 Trig=1; /启动一次模块
11、;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_
12、(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
13、160; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
14、160; _nop_(); _nop_(); Trig=0; /*/void Count(void) time=TH0*256+TL0; TH0=0;
15、; TL0=0; S=(time*1.7)/100; /算出来是CM if(S<8)|(S>=600)|flag=0) /超出测量范围显示“-”失败
16、0; / flag=1;
17、60; s_false=1000; write_com(0x80); write_data('e&
18、#39;); delay(5); write_data('r'); delay(5);
19、 write_data('r'); delay(5); write_data('o');
20、; delay(5); write_data('r'); delay(5);
21、 / write_temp(s_false); else &
22、#160; write_temp(S); &
23、#160; /*/*/ void init() lcde=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); lcdrw=0;/*void main()
24、0;/ unsigned char TempCyc; delay(500); /启动等待,等LCM讲入工作状态 lcdrw=0; init(); /LCM初始化 delay(500); /延时片刻(可不要) while(1)
25、; TMOD=0x11; /设T0为方式1,GATE=1; TH0=0; TL0=0; &
26、#160;ET0=1; /允许T0中断 ET1=1; TR1=1; EA=1; /开启总中断 Trig=0;
27、160; Echo=0; while(1) &
28、#160; StartModule(); flag=1; / while(!Echo); /当echo为零时等待 while(!Echo)&&flag);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《材料成型计算机辅助设计A》教学大纲
- 玉溪师范学院《西方哲学史》2022-2023学年第一学期期末试卷
- 华师版反比例函数新课教案
- 2024年车装石油修井机项目成效分析报告
- 《黑神话:悟空》2025高中物理练习题含答案
- 2024届河北省石家庄二中润德学校高三下学期第一次联合模拟考试数学试题
- 2024届海南省鲁迅中学第二学期高三年级期末质量检测试题数学试题
- 2024届广西南宁市马山县金伦中学高三下学期3月月考数学试题
- 采购合同管理重点工作方案设计
- 保证无挂靠协议书
- ISO27001信息安全管理体系培训资料
- 《 合唱指挥案头工作、排练与舞台呈现的递进构建》范文
- 红色经典影片与近现代中国发展学习通超星期末考试答案章节答案2024年
- 《交换与路由技术》 课件 第5部分 路由器基础
- 2024年法律职业资格考试(试卷一)客观题试卷与参考答案
- 2024年秋季新北师大版一年级数学上册全册教案
- 2024年江苏南京航空航天大学招聘36人历年高频500题难、易错点模拟试题附带答案详解
- BitTk支付公链-精简版
- 2024年四川省凉山州中考数学适应性试卷
- 绿城物业服务协议书范本2024年
- 血标本采集法并发症
评论
0/150
提交评论