什么叫真正的干扰,先要问干扰信号的功率有多大,
机械按键,按键的导通电阻和断开电阻分别有多大?从硬件上看,这个很明显就分别出来,除非你的环境的干扰功率大得连这个都分辨不出,那我无话可说,不过,这样的单片机的其他功能,如输出等,是否还能正常工作?这个硬件可靠性也大打折扣。
只要把这个解决了,那当检测到按键第一次导通的时刻,只有一种可能性,就是按键已经按下了,该干嘛就干嘛,
至于如何区分这个键是按下抖动,或者是释放抖动,那是算法问题。
本书生20多年来,做过的项目超过100个,既有娱乐玩具类,也有高尖端类,有电池供电,也有220V驱动继电器,可控硅的,大部分都是进行了量产。在这么多产品设计中,有多次失手的经历,包括IC驱动能力,复位,各种元件的温飘,电源波动等,更多的是软件设计理念失手。
幸运的是,暂时没有产品在按键问题上失手。或者有些更恶劣环境,本书生没遇到。 |