永发信息网

51单片机在键盘检测中,比如我要让按下按键且等我释放按键后才算按下一次按键,请问怎么编程为好?比如

答案:2  悬赏:20  手机版
解决时间 2021-02-19 22:02
  • 提问者网友:回忆在搜索
  • 2021-02-19 07:55
51单片机在键盘检测中,比如我要让按下按键且等我释放按键后才算按下一次按键,请问怎么编程为好?比如用while(!key);那么我觉得只要按键一直按着,岂不是单片机在这里空等待了?
最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-02-19 08:05
如果任务量不大,等也无妨,这样的响应速度最快。但总感到别扭不是?
可以这样解决,利用一个定时器每20毫秒中断一次,在中断程序中查询按键状态,连消抖都一并解决了。如果连续俩次检测到按键按下,即认为按键按下,如果连续两次检测不到按键按下,则认为按键释放。这样你是按下有效还是释放有效都可以了。希望对你有帮助。
全部回答
  • 1楼网友:長槍戰八方
  • 2021-02-19 08:43
还是用第一个,但电路需要修改,p3口需要接上拉电阻,4.7k- 10k 的上拉电阻,才能保证p3口的引脚在没有按键时是高电平。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯