来源:中国一卡通网 作者:不详 发布时间:2012-05-21 09:38:28 字体:[大 中 小]
摘 要: 目前国内的超声波测距专用集成电路都是只有厘米级的测量准确度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92 温度传感器进行声波传播速度的补偿后,设计的高准确度超声波测距仪能达到毫米级的测量准确度。
图7 电路原理
然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms,然后才打开外中断0 接收返回的超声波信号。
测出距离后结果将以十进制BCD 码方式送往LED 显示约0.5 s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用C 语言编写。
3.1 主程序
· 系统控制初始化LED、初始化计数控制部分,清除计数值。
· 单片机超声波脉冲信号。
· 立刻置INT0 为1,打开计时器,等待回波信号。
· 回波信号到达,关闭计时器,P3.3 为0,清INT0 为0.
· 单片机读出计数值。
· 单片机将计数值进行计算后得出的距离值,显示在LED 上。
· 当测量距离< 10.0 cm 或> 50.0 cm 时,报警系统灯亮。
· 当按下复位键时,启动复位功能。
主程序流程图如图8 所示。
图8 主程序流程
3.2 定时中断服务子程序
超声波发生子程序的作用是通过P3.3 端口发送2 个左右频率约40 kHz 的方波的超声波脉冲信号,同时把计数器T0 打开进行计时。定时中断子程序如图9 所示。
图9 定时中断服务子程序
3.3 功能显示
如图10 所示,通过数码管显示测出距离为14.3 cm,属于10.0 ~ 50.0 cm 正常范围。
图10 超声波测距正常范围
如图11 所示,超声波测出的距离为9.4 cm,< 10.0 cm,报警系统启动,LED 灯亮。
图11 超声波测距< 10.0 cm
如图12 所示,超声波测出的距离为50.3 cm,> 50.0 cm,报警系统启动,LED 灯亮。
图12 超声波测距大于50.0 cm
如图13 所示,按下键盘模块中的按键,复位系统,数码管显示距离数归零。
图13 启动复位功能
推荐文章
论坛热帖