开发环境(蓝色粗体字为特别注意内容)
1,开发板:STC89C52RC 11.0592Mhz。
2,开发环境:Keil uv5
1,开发板:STC89C52RC 11.0592Mhz。
2,开发环境:Keil uv5
3、参考文献:https://www.cnblogs.com/qsyll0916/p/6964638.html
在使用HC-SR04的时候,网上找的驱动程序,发现误差很大,调来调去还是不合适,本来不想重复制造轮子的,忙活了半天,无奈,只能只能亲自用示波器调试了,,,,
模块如下图:
我们知道,HC-SR04超声波模块使用的时候,先给Trig引脚一个持续时间>10us的高电平,然后Echo引脚就返回一个高电平,该高电平的持续时间即为超声波往返的时间,因此我们在单片机里面通过定时器计算Echo高电平的持续时间即可算出超声波往返的距离。
但是如何精准的计算该高电平的时间,成了提高该模块精度的关键点。因为不同的单片机,不同的时钟频率,造成了计算结果的差异。下面我们以STC89C52RC单片机为例,利用示波器来调试,以提高测量精度。
我们先测出定时器的值,然后利用示波器查看高电平的持续时间,计算出他们之间的关系。
得到的数据如下:
//测量数据
Count/2 us us/2 us/2 / Count/2
306 668 334 1.0915
292 636 318 1.0890
27