大家好,欢迎来到IT知识分享网。
在学习单片机的时候想必大家都接触过按键,按键是一个人机交互的接口设备,在刚开始接触的时候最简单也是最直接的办法就是将按键直接接到一个I/O口上,然后检测I/O上的电平变化,假设按键另一端接在GND上,则一旦检测到低电平就认为是按键触发了(此处假设已经进行了去抖,软件去抖也好,硬件去抖也好),乍一看,no problem!而且还是very good!其实这对于初学者而言确实是入门的不二选择,但对大佬而言就是错误的设计思想。
问题出在去检测I/O口这个过程,CPU必须每隔一段时间检测,一般用定时器去实现,间隔时间太长了达不到实时的性能,时间太短了有浪费CPU资源,因为在很多场合按键处于触发的时间段时相当少的,比如学校的自动圈存机,一般情况下时没人用的,那就意味着CPU每间隔时间去查看I/O是非常不合理的,只有当按键按下采取查看,这才是最合理的方式。
如果有两个甚至多个按键,那如何弄了,很简单,使用或门来解决这个问题。电路图如下:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/160618.html