请教下关于超声波测距中的测距分辨率的设定和如何用定时器发送40khz的超声波的问题

2019-03-24 18:37发布

最近想用51单片机做一个简易的超声波测距仪,被一下两个问题困扰,望高手给与指点。
1.通过时间计算距离时,怎样确定测距离的分辨率,常温下声速是340M/S,计时器最大值是65526us,想让测距仪精度在厘米级别,该怎样写这个程序。
2.如何运用定时器0让单片机每隔一定时间发送一组9个40khz的方波。

小弟初学单片机c语言编程,编程思路不很开阔,还望各位高手多多给与指点啊!在此谢过! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
bintimes
1楼-- · 2019-03-25 03:40
 精彩回答 2  元偷偷看……
bintimes
2楼-- · 2019-03-25 05:06
kuokuo709394
3楼-- · 2019-03-25 08:57
看看,帮顶
chunyang
4楼-- · 2019-03-25 14:22
A1:开一个字节的全局变量,初始化时先清零,等待接收回波时开启定时器中断,中断服务程序仅仅对前述变量自加1,那么就可以将定时器溢出周期大幅提高,一个字节最高可放大256倍。记得收到回波后将该变量清零。
A2:如果需要定时自动发送脉冲串用两个定时器最方便,一个用于定时,一个用于产生信号周期,定时时间不够,就用前述方法“放大”,一个字节还不够就用两个字节,那么最大“放大倍数”就是256*256。用这个方法,就是定时周期为天、月、年都可以轻松实现。

一周热门 更多>