初学51单片机,超声波测距控制电灯,请教如何消除抖动。
时间:10-02
整理:3721RD
点击:
最近在学习51单片机,想用超声波测距来控制电灯的开和关,想要通过控制P1.0端口来驱动继电器从而达到控制电路通断,现在的问题是不知道如何消除抖动,在后面直接加delay函数的话LCD显示会出现错误,初学单片机有好多不懂的,希望得到前辈的指点。代码在附件里
http://bbs.elecfans.com/forum.php?mod=attachment&aid=Mzk1MjUzfDIwOGY2NmE5MDU1NjU2ODc0YzRiMzllOWI3YWQwNDJifDE1MDk2NDIyNDY%3D&request=yes&_f=.zip
http://bbs.elecfans.com/forum.php?mod=attachment&aid=Mzk1MjUzfDIwOGY2NmE5MDU1NjU2ODc0YzRiMzllOWI3YWQwNDJifDE1MDk2NDIyNDY%3D&request=yes&_f=.zip
读取两次,不是一次读取两次,检测到信号后,不动做,下次在检测到就动作,
消抖的话有延时 在做小车的过程中遇到过按键消抖,就是用延时,具体的记不得了
用延时LCD就显示错误了,网上查了也不行
好啊,这个思路好,谢谢前辈的指点,我去试试
多次读取用程序周期代替延时。
多读几次?
一般去抖动有两种,硬件去除跟软件去除,硬件一般就是用斯密特触发器,软件的话,就是两次 以上的出发判定都可以的.至于你说你加延迟显示问题,应该是你延迟写法有问题,可以再思考一下.
嗯嗯,解决了多谢指导。
嗯嗯,我是连续读出3次再判定就稳定多了。
谢谢指导,问题解决了