以Multisim仿真软件验证CD4017键盘扫描电路真值数据分析
在项目中当MCU的I/O足够多的情况下,使用矩阵键盘扫描的方式来进行按键检测,方案常规。但是当遇到I/O数量不足情况下就要考虑其他的方案。
有两个办法可以解决此类问题:方案1:电压分压检测法;使用现成的I/O扩展器,或用一只电阻排,为每个键设定一个唯一的电压,然后使用模拟引脚来读取电压值,判断按住了哪个键。缺点:一方面是I/O扩展器需通过特殊的通信协议(如I2C或SPI)来读写数据,MCU需要具备内置通信模块,或用户需实现相关的通信协议软件,而这明显增加了MCU的负担。另一方面是当按键数量增加时,通过电阻排给各按键分配独特电压会变得很繁琐,而这最终将导致电压裕度较小。此外,由于电阻值会随温度而变化,使用较小的电压裕度可能导致读取错误,甚至连开关弹跳都可能成为导致电压出错的重要原因。这种方法的另一个弊端是要求MCU中需有模拟输入引脚。
方案2:计数器检测中断法; 优势:它只需要两只I/O引脚,而不论连接的开关数量有多少;不需要特别的通信协议;不需要模拟引脚,电路方面搭建。
本案例基于两个CD4017约翰逊计数器组成的4×3键盘电路,LED1–LED9为输出端口状态显示,R1–R9为限流电阻,D8,D9,D10组成“或”门,D1–D7为单向二极管,R10-R14为限流电阻。
以Multisim仿真软件验证CD4017键盘扫描电路真值数据分析
最新推荐文章于 2022-12-11 21:13:27 发布