b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

使用两个I / O引脚将4×3矩阵键盘连接到微控制器

电脑杂谈  发布时间:2020-08-25 03:03:26  来源:网络整理

4 4矩阵键盘引脚_射频功放管引脚工作电压_m57788h射频功放管引脚工作电压

在基于微控制器(MCU)的项目中,矩阵键盘通常用作输入设备. 将矩阵键盘连接到微控制器的常规做法需要使用微控制器的多个I / O引脚. 然后,MCU使用扫描算法来确认按下了哪些键. 这种方法的一个缺点是,它需要大量的MCU I / O引脚才能连接到键盘. 例如,连接4×3键盘需要7个数字I / O引脚. 当项目使用低引脚数的MCU或所使用的MCU没有足够的可用I / O引脚时,就会出现问题.

本文引文地址:

有两种方法可以解决此问题: 使用现成的I / O扩展器,或使用电阻器组为每个键设置唯一的电压,然后使用模拟引脚读取电压值以确定哪个按键. 每个程序都有其缺点.

m57788h射频功放管引脚工作电压_4 4矩阵键盘引脚_射频功放管引脚工作电压

因为在大多数情况下,I / O扩展器需要通过特殊的通信协议(例如I2C协议或SPI协议)读写数据,MCU需要具有内置的通信模块,或者用户需要实现相关的通讯协议软件,这显然增加了MCU的负担. 另一方面,当按钮的数量增加时,通过电阻器行为每个按钮分配唯一的电压变得非常麻烦,这最终将导致较小的电压裕量. 此外,由于电阻值会随温度变化,因此使用较小的电压裕量可能会导致读取错误,甚至开关跳动也可能会成为导致电压错误的重要原因. 这种方法的另一个缺点是它需要MCU中的模拟输入引脚. 此处描述的示例显示了上述所有问题的有效解决方案,并具有多个优点: 无论连接的开关数量如何,它都只需要两个I / O引脚即可. 不需要特殊的通信协议;无需模拟引脚. 该示例基于两个CD4017 Johnson计数器,它们非常常见且价格便宜.

图1显示了4×3键盘中使用的电路. R1,R4,R5和R6用于限流,而D7,D4,D5和D6构成“或”门.

射频功放管引脚工作电压_4 4矩阵键盘引脚_m57788h射频功放管引脚工作电压

620)this.width = 620;' alt ='使用两个I / O引脚将4×3矩阵键盘连接到微控制器'/>

此处描述的示例显示了如何使用此方法读取4×3键盘. 一个CD4017用于控制键盘行,另一个用于控制键盘列.

MCU生成时钟信号,然后将其提供给控制列的计数器IC. 最初,列计数器和行计数器的第0个输出为逻辑高电平. 收到时钟脉冲后,列计数器将增加. 当接收到第四个时钟脉冲时,列计数器将被重置,行计数器将被加1. 在重置列控制器之后,在从列控制器接收到第五个时钟脉冲后,行控制器将递增并重置. 在生成时钟脉冲时,应增加MCU的计数变量,并在第五个时钟脉冲到达行控制器时将计数变量重置为1. 键盘的两个输出进行“或”运算,并连接到MCU的外部中断引脚.

4 4矩阵键盘引脚_射频功放管引脚工作电压_m57788h射频功放管引脚工作电压

仅当与行和列相关的按钮位于逻辑高位置时,按下按钮时才会发生中断. 如果按钮的行或列为逻辑零值,则不会发生中断.

发生中断时,MCU读取当前计数值,并且读取的值对应于刚刚按下的按钮.

MCU定期产生时钟脉冲时,MCU中的时钟计数增加;此计数等于键盘上的开关数量,按这些开关可能会导致中断. 图2中的流程图描述了这种情况.

4 4矩阵键盘引脚_射频功放管引脚工作电压_m57788h射频功放管引脚工作电压

使用两个I / O引脚将4×3矩阵键盘连接到微控制器

注意: 尽管此示例仅显示了4×3键盘的读取方法,但是两个4017计数器的其余输出可用于读取10×10键盘. 此外,如有必要,您可以级联更多4017IC以扩展键盘.

DIY机械键盘相关社区: 机械键盘DIY


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-306281-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...