新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于51单片机的超声波测距系统的设计

基于51单片机的超声波测距系统的设计

作者:时间:2011-11-18来源:网络收藏

O 引言
超声波是指频率大于20 kHz的在弹性介质中产生的机械震荡波。由于超声波频率较高,穿透力强,指向性强,传输过程中衰减少,能量消耗缓慢,在介质中传播的距离较远,遇到杂质或分界面时会产生反射波,因此常被用于非接触式测距。并且超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力。广泛应用于汽车倒车、机器人避障、工业测井、水库液位测量、管道长度测量等需要自动进行非接触测距的场合。

1 超声波测距原理
Pellarn和Galt于1946年提出了脉冲回波法,其工作原理是:用超声脉冲激励超声探头向外辐射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过检测或估计从发射超声波至接收回波所经历的射程时间ToF(Time of Flight),按下式计算超声波探头与被测物体之间的距离d,即
a.JPG
其中。c为声波在空气介质中的传播速度。

2 系统构成
本系统硬件电路由单片机、超声波发射电路、超声波接收电路、测温电路、显示电路、报警电路等构成,如图1所示。

b.JPG

3 系统程序设计
3.1 主程序
主程序首先对系统环境初始化,设置定时器TO工作模式为16位定时/计数器模式,总中断允许位置1并给显示端口清0;然后调用超声波发生子程序送出若干个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起直射渡触发,从发射开始一直到“虚假反射波”结束这段时间内,不开放外部中断(INTO)申请,便可有效躲避干扰,但同时也会造成测试“盲区”。假设延时约0.1 ms后,才打开外部中断接收返回的超声波信号,当温度为20℃,测量盲区为d=1×10-2×344=1.72 cm。
3.2 超声波发生子程序和接收子程序
超声波发生子程序的作用是通过P1.0端口发送超声波换能器所需的40kHz的方波信号(脉冲宽度为12μs左右),同时把计数器TO打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭