第七章键盘和LED显示
第一节键盘设计
一按键种类
在微机系统中,键盘是一种最常用的外设,它由多个开关组合而成。可以用来制造键盘的按键开关有好多种,最常用的有机械式、薄膜式、电容式和霍尔效应式等4种。
机械式开关较便宜,但压键时会产生触点抖动,即在触点可靠地接通前会通断多次,而且长期使用后可靠性会降低。高质量机械式开关的寿命约100万次。
薄膜式开关可做成很薄的密封单元,不易受外界潮气或环境污染,常用于微波炉、医疗仪器或电子称等设备的按键。不同薄膜开关的寿命差别很大。
电容式开关没有抖动问题,但需要特制电路来测电容的变化,平均寿命约2000万次。
霍尔效应按键是另一种无机械触点的开关,具有很好的密封性,平均寿命高达1亿次甚至更高,但开关机制复杂,价格昂贵。
计算机上用的键盘一般都用机械式开关。
二键盘的工作原理
⒈简易键盘
简易键盘工作原理图
说明:电路简单,但是有个最大的缺点,那就是每个键要用一条线,每8个开关还要占用一个8位的并行端口。一个具有64个键的键盘需要64条连线,与8个8位的并行端口相连。所以,这种结构只能应用于仅有几个键的小键盘中。
⒉行列式键盘
键盘接口电路图
①电路图
②电路说明
设16个键分别为16进制数字0~9和A~F,键盘排列、连线及接口电路如上图所示。16个键排成4行×4列的矩阵,接到微型机的一对端口上。端口由8255A构成,其中端口A作输出,端口B作输入。矩阵的4条行线接到输出端口A的PA3~PA0,用程序能改变这4条行线上的电平。4条列线连到输入端口B的PB3~PB0,4条行线还同时接到输入端口B的PB7~PB4上。这样,用输入指令读取B口状态时,可同时读取键盘的行列信号。
③工作原理
在无键压下时,由于接到+5V上的上拉电阻的作用,列线被置成高电平。压下某一键后,该键所在的行线和列线接通。这时,如果向被压下键所在的行线上输出一个低电平信号,则对应的列线也呈现低电平。当从B口读取列线信号时,便能检测到该列线上的低电平。读取B口的状态时,还能读到行线上的低电平信号。这样,根据读入的行和列状态中低电平的位置,便能确定哪个键被压下了。
④键盘扫描过程
Ⅰ检测是否所有键都松开了,若没有则反复检测;
Ⅱ当所有键都松开了,再检测是否有键压下,若无键压下则反复检测;
Ⅲ若有键压下,要消除键抖动,确认有键压下;
Ⅳ对压下的键进行编码,将该键的行列信号转换称16进制码,由此确定哪个键被压下了。如出现多键重按的情况,只有在其它键均释放后,仅剩一个键闭合时,才把此键当作本次压下的键。
Ⅴ该键释放后,再回到Ⅱ。
注意:
Ⅰ检测矩阵中是否有键压下的一种简单方法是,自输出口A向所有行线输出0电平,再通过B口的低4位读取列值,若其中有0值,便是有键压下了。
Ⅱ当检测到有键压下后,必须消除键抖动。消除键抖动的常用方法是在检测到有键压下后,延长一定时间(通常为20ms),再检查该键是否仍被压着。若是,才认定该键确实被按下了,而不是干扰。
Ⅲ确认有键压下后,再确定被压下键所在的行列号。为获取行列信息,先从A口输出一个低电平到一行线上,再从B口读入各列的值,若没有一列为低电平,说明压下的键不在此行。于是,再向下一行输出一个低电平,再检测各列线上是否有低电平。依次对每一行重复这个过程,直到查到某一列
第七章 键盘和LED显示 来自淘豆网m.daumloan.com转载请标明出处.