本代码基于QH - 5A平台,测试通过。
开发板PCB完整工程下载连接:
http://www.cirmall.com/circuit/7388/51%2FAVR单片机开发板PCB工程源文件#/details
适用于51系列单片机平台,不同的型号只需要移植一下即可,SR04超声波模块是一个精度较高的测距模块,本人测试精度1cm,模块可直接与开发板连接,具体连接请参考本贴下面的内容,连接模块时一定要断电连接,不要带电操作,容易损坏并且工作可能不正常。模块实物如下图所示:
开发板图片:
http://weidian.com/i/1577917775?wfr=c
1、SR04模块主要技术参数:
1.使用电压:DC5V
2.静态电流:小于2mA
3:电平输出:高5V
4:电平输出:低0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7:高精度:可达3mm
2、接线方式:VCC、trig(控制端)、 echo(接收端)、 GND地线(若采用QH-5A开发板直接插上即可)
3、使用方法: 一个控制口trig发一个10US以上的高电平,就可以在接收口echo等待高电平输出.一有输出就可以开定时器计时,当echo此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了~~
4、模块工作原理:
(1)采用IO触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2或距离=(331.4+0.61*当前温度)*定时器时间/2000000 CM;
5、程序功能:
本程序是采用第二公式编写的,显然有温度矫正的超声波测距更加准确,同时本程序还带有内部存储功能,可设定报警距离,程序有详细注释
程序连接:http://pan.baidu.com/s/1eRvO4mQ
水平有限,本程序只供学习,欢迎大家一起交流