按键板的原理与实现 系列2---基于GPIO的按键板

本文介绍了如何基于GPIO实现按键板,包括当GPIO充足时直接对应按键,资源有限时采用矩阵扫描,以及如何用2个GPIO实现6个按键的巧妙方法,涉及到电路设计和简单的软件编程实现。
摘要由CSDN通过智能技术生成

    上篇介绍简单的ADC实现,需要IC提供一个额外的ADC。但出于IC成本的考虑,无法提供这个的ADC时,但提供了多个额外的GPIO(General Purpose Input Output:双向的:可以为输入/输出,只有两个状态High/Low),就可以使用本篇的实现方法了。

    基于GPIO的按键板

    基于GPIO的按键板实现,需要提供额外的GPIO口供使用。GPIO口足够多的话可以一个按键对应一个GPIO,不够多的时候可以使用矩阵扫描方式实现,若可供使用的GPIO连矩阵扫描方式都不满足,还可以增加二极管来进一步扩展成2个GPIO实现6个按键,本节将简单介绍这些方法。另外还可以通过扩展GPIO的方法来实现,将在下一篇幅中专门介绍。

    嵌入式开发中,GPIO是最常用的控制接口,普通GPIO只具有High/Low两个状态,我们可以对其进行Read/Write操作。

   1:足够多的GPIO供使用

    则每个按键对应一个GPIO口,电路设计可以保证:无按键动作GPIO口为Low,有按键动作GPIO口为High,或者相反。软件设计只需要逐个扫描每个GPIO口的状态,就可以知道某个按键是否有动作。

    2:有限的GPIO供使用:使用矩阵扫描按键方式是最常见的方案。

    其原理如下:任意两个GPIO之间连接一个按键,比如GPIO_1 & GPIO_2,其默认状态为Low,按键按下的话,两者就连通了,这就意味着,我们可以先给GPIO_1

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值