这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机的按键设计原理

共2条 1/1 1 跳转至

单片机的按键设计原理

工程师
2020-09-14 00:21:01     打赏

学习单片机的时候想必大家都接触过按键,按键是一个人机交互的接口设备,在刚开始接触的时候 简单也是 直接的办法就是将按键直接接到一个 I/O 口上,然后检测 I/O 上的电平变化,假设按键另一端接在 GND 上,则一旦检测到低电平就认为是按键触发了(此处假设已经进行了去抖,软件去抖也好,硬件去抖也好),乍一看,no problem!而且还是 very good!其实这对于初学者而言确实是入门的不二选择,但对大佬而言就是错误的设计思想。

  问题出在去检测 I/O 口这个过程,CPU 必须每隔一段时间检测,一般用定时器去实现,间隔时间太长了达不到实时的性能,时间太短了有浪费 CPU 资源,因为在很多场合按键处于触发的时间段时相当少的,比如学校的自动圈存机,一般情况下时没人用的,那就意味着 CPU 每间隔时间去查看 I/O 是非常不合理的,只有当按键按下采取查看,这才是 合理的方式。

  这样就必须引入外部中断的设计方案,一个按键的设计原理图如下:

单片机的按键设计原理

  如果有两个甚至多个按键,那如何弄了,很简单,使用或门来解决这个问题。电路图如下:

单片机的按键设计原理




高工
2020-09-14 11:25:12     打赏
2楼

楼主,把程序也附上,这些只是电路图,里面还有程序的


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]