微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 初学51单片机,超声波测距控制电灯,请教如何消除抖动。

初学51单片机,超声波测距控制电灯,请教如何消除抖动。

时间:10-02 整理:3721RD 点击:
      最近在学习51单片机,想用超声波测距来控制电灯的开和关,想要通过控制P1.0端口来驱动继电器从而达到控制电路通断,现在的问题是不知道如何消除抖动,在后面直接加delay函数的话LCD显示会出现错误,初学单片机有好多不懂的,希望得到前辈的指点。代码在附件里
http://bbs.elecfans.com/forum.php?mod=attachment&aid=Mzk1MjUzfDIwOGY2NmE5MDU1NjU2ODc0YzRiMzllOWI3YWQwNDJifDE1MDk2NDIyNDY%3D&request=yes&_f=.zip


读取两次,不是一次读取两次,检测到信号后,不动做,下次在检测到就动作,

消抖的话有延时  在做小车的过程中遇到过按键消抖,就是用延时,具体的记不得了

用延时LCD就显示错误了,网上查了也不行

好啊,这个思路好,谢谢前辈的指点,我去试试

多次读取用程序周期代替延时。

多读几次?

一般去抖动有两种,硬件去除跟软件去除,硬件一般就是用斯密特触发器,软件的话,就是两次 以上的出发判定都可以的.至于你说你加延迟显示问题,应该是你延迟写法有问题,可以再思考一下.

嗯嗯,解决了多谢指导。

嗯嗯,我是连续读出3次再判定就稳定多了。

谢谢指导,问题解决了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top