单线键盘接口可释放微控制器I / O引脚

描述

在大多数键盘中,按一个键会关闭一个桥接xy矩阵中两条线的触点。如果使用微控制器检测键闭合,则检查(x + y)行的状态需要相同数量的I/O引脚。电路图1仅占用一个空闲I/O引脚,每当有人按下一个键时,通过产生一个脉冲与微控制器通信。脉冲的宽度与按下的按键数成正比,微控制器通过测量脉冲的宽度来识别按下的按键。

  IC 2 ,一种流行的555定时器的CMOS LMC555版本,作为单稳态单次多谐振荡器工作。在电路的静止状态下,引脚7处IC 2 内部的晶体管分流C 6 ,引脚3处的IC 2 输出仍然存在在逻辑低。按键盘上的任意键连接两组中的两个电阻 - 一个组中的R 1 和R 2 ,R 3 ,R 4 ,R 5 在另一个 - 与R 6 串联。两个电阻的总和以10-kΩ为增量变化,总电阻与按下的按键数量成正比。

 按任意键通过R 6 ,R 7 和所选键盘电阻吸取电流,并提高IC 2 的电压引脚7.在C 1 充电后,引入一个足以消除键盘开关触点闭合反弹的短延迟,CMOS比较器IC 1 检测到R上建立的小电压降<子> 7 。 IC 1 (引脚6)的输出从5变为0V,进而触发IC 2 的引脚2。定时器IC 2 的输出(引脚3)变为高电平,并开始以取决于所选键的时间常数对电容器C 6 充电。当C 6 上的电压达到V CC 的三分之二或3.333V时,引脚3变为低电平并放电C 6 。下面的等式计算IC 2 的输出脉冲宽度,T:T =1.1Ã-R S Ã-C 6 ,其中R S 等于所选键盘电阻的总和,范围从10到120kΩ。脉冲宽度范围为110至1320微秒,增量为110微秒。

脉冲宽度的最小相对变化发生在最长脉冲比,110/1320或8.33%。该比率提供了足够的余量,允许使用标准的±1%容差或更好的组件,如图1中那些±0.5和±1%。电阻器R 13 且R 14 补偿IC 2 的内部分压器通过将引脚5的电压强制为电源电压V CC 的三分之二。

键盘电路的输出脉冲驱动Microchip 16F630微控制器的外部中断输入RA 2 。清单1给出了16F630的一个中断程序,用于测量脉冲宽度,验证其容差是否在±40μsec内,并返回与按下的键对应的1到12的数值。作为防止错误数据的安全措施,如果脉冲宽度超出一定限度,例程将返回错误代码。

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分