在大多数键盘中,按一个键会关闭一个桥接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的数值。作为防止错误数据的安全措施,如果脉冲宽度超出一定限度,例程将返回错误代码。
审核编辑 黄宇
-
微控制器
+关注
关注
48文章
7443浏览量
150827 -
键盘接口
+关注
关注
0文章
23浏览量
9397
发布评论请先 登录
相关推荐
评论