你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

单片机的一个按键的设计原理

[复制链接]
gaosmile 发布时间:2020-8-27 23:21

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

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

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


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


收藏 1 评论2 发布时间:2020-8-27 23:21

举报

2个回答
ldptest 回答时间:2020-8-28 09:20:55
第二个图多了个连接点,PA1应该不与最右边电阻相连
hujjj 回答时间:2020-8-28 14:36:06
32位的ARM单片机用不着这么复杂吧?

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版