超声波检测原理

超声波检测原理

ID:36295821

大小:169.50 KB

页数:12页

时间:2019-05-08

超声波检测原理_第1页
超声波检测原理_第2页
超声波检测原理_第3页
超声波检测原理_第4页
超声波检测原理_第5页
资源描述:

《超声波检测原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、超声波检测原理  超声波测距的程序流程图 程序如下://超声波模块程序//超声波模块程序//Trig  =P2^0//Echo  =P3^2#include    #defineucharunsignedchar#defineuint  unsignedint//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++); }//***************

2、************************************************//显示数据转换程序voiddisplay(uinttemp)  {     ucharge,shi,bai;    bai=temp/100;    shi=(temp%100)/10;      ge=temp%10;      wela=1;    P0=0xf7;    wela=0;    dula=1;    P0=table[bai];    dula=0;    delay(1);    dula=1;    P0=0x00;   //关位码  

3、  dula=0;    wela=1;    P0=0xef;    wela=0;    dula=1;    P0=table[shi];    dula=0;    delay(1);    dula=1;    P0=0x00;   //关位码    dula=0;    dula=1;    P0=table[ge];    dula=0;    wela=1;    P0=0xdf;    wela=0;    delay(1);    dula=1;    P0=0x00;   //关位码    dula=0; }//***********

4、****************************************************voidmain()  {     uintdistance;    test=0;    Trig=0;       //首先拉低脉冲输入引脚    EA=1;         //打开总中断0     TMOD=0x10;    //定时器1,16位工作方式     while(1)            {        EA=0;           //关总中断        Trig=1;         //超声波输入端        de

5、lay_20us();   //延时20us        Trig=0;         //产生一个20us的脉冲        while(Echo==0);//等待Echo回波引脚变高电平        succeed_flag=0;//清测量成功标志        EA=1;         EX0=1;          //打开外部中断0        TH1=0;          //定时器1清零        TL1=0;          //定时器1清零        TF1=0;          //计数溢出标志        

6、TR1=1;          //启动定时器1        delay(20);      //等待测量的结果        TR1=0;          //关闭定时器1        EX0=0;          //关闭外部中断0       if(succeed_flag==1)       {             time=timeH*256+timeL;          distance=time*0.172;  //厘米          display(distance);       }                   

7、            if(succeed_flag==0)       {          distance=0;                    //没有回波则清零          test=!test;                  //测试灯变化        }                   }}//***************************************************************//外部中断0,用做判断回波电平voidexter()  interrupt0   //外部中断0是0

8、号 {        timeH=TH1;    //取出定时器的

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

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

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