单片机源程序如下:
- #include <reg51.h>
- #uint unsigned int
- //控制端
- sbit Trig =P2^0;
- //输出端
- sbit Echo=P2^1;
- /*测波函数*/
- TH0=0;
- TL0=0;
- uint get_distance()
- {
- uint speed=340;
- uint time;
- uint distance;
- //发出超声波
- trig=1;
- for(i=0;i<=1000;i++);
- trig=0;
- //第二步:读取超声波返回时间
- while(Echo==0);//等待超声波发出
- TR0=1;//超声波开始发出,开启定时器
- while(Echo==1)//超声波还在发送中
- TR0=0;//超声波回来,立即关闭定时器
- distance=speed*((dounle)time/1000000)/2*100;
- return distance;
- }
- void inittimer0()
- {
- TMOD=0x01;
- TG0=0;
- TL0=0;
- EA=1;
- ET0=1;
- TR0=1;
- }
- void main()
- {
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
超声波测距.zip
(35.31 KB, 下载次数: 15)
|