[论文精品] 超声波数码管显示_脉宽测量

[论文精品] 超声波数码管显示_脉宽测量

ID:6690254

大小:102.00 KB

页数:4页

时间:2018-01-22

[论文精品] 超声波数码管显示_脉宽测量_第1页
[论文精品] 超声波数码管显示_脉宽测量_第2页
[论文精品] 超声波数码管显示_脉宽测量_第3页
[论文精品] 超声波数码管显示_脉宽测量_第4页
资源描述:

《[论文精品] 超声波数码管显示_脉宽测量》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数码管接线方式原理图:超声波数码管显示脉宽测量:/***********************************************************************************************************///DYP-ME007超声波测距模块DEMO程序//晶振:11。0592//接线:模块TRIG接P0.2ECH0接P0.1//数码管:共阳数码管P1接数据口,P2.5P2.4P2.3接选通数码管/****************************************

2、*******************************************************************/#include//器件配置文件#include#defineRXP0_1#defineTXP0_2unsignedinttime=0;unsignedinttimer=0;unsignedcharposit=0;unsignedlongS=0;bitflag=0;unsignedcharconstdiscode[]={0xC0,0xF9,0xA4,0xB0,

3、0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/};unsignedcharconstpositon[3]={0xdf,0xef,0xf7};unsignedchardisbuff[4]={0,0,0,0,};/********************************************************/voidDisplay(void)//扫描数码管{if(posit==0){P1=(discode[disbuff[posit]])&0x7f;}else{P1=discode

4、[disbuff[posit]];}P2=positon[posit];if(++posit>=3)posit=0;}/********************************************************/voidConut(void){time=TH0*256+TL0;TH0=0;TL0=0;S=(time*1.7)/100;//算出来是CMif((S>=700)

5、

6、flag==1)//超出测量范围显示“-”{flag=0;disbuff[0]=10;//“-”disbuff[1]=10;//“-”disb

7、uff[2]=10;//“-”}else{disbuff[0]=S%1000/100;disbuff[1]=S%1000%100/10;disbuff[2]=S%1000%10%10;}}/********************************************************/voidzd0()interrupt1//T0中断用来计数器溢出,超过测距范围{flag=1;//中断溢出标志}/********************************************************/voidz

8、d3()interrupt3//T1中断用来扫描数码管和计800MS启动模块{TH1=0xf8;TL1=0x30;Display();timer++;if(timer>=400){timer=0;TX=1;//800MS启动一次模块_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_no

9、p_();_nop_();TX=0;}}/*********************************************************/voidmain(void){TMOD=0x11;//设T0为方式1,GATE=1;TH0=0;TL0=0;TH1=0xf8;//2MS定时TL1=0x30;ET0=1;//允许T0中断ET1=1;//允许T1中断TR1=1;//开启定时器EA=1;//开启总中断while(1){while(!RX);//当RX为零时等待TR0=1;//开启计数while(RX);//当RX为1计

10、数并等待TR0=0;//关闭计数Conut();//计算}}

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

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

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