1、键盘接口技术,计算机所用的键盘有全编码键盘和非编码键盘两种。 单片机系统中通常采用非编码键盘 非编码键盘连接结构形式有: (1)独立式键盘 (2)行列式(矩阵)键盘,1、按键闭合过程,(1)按键抖动问题 一般按键开关为机械弹性开关,由于触点的弹性作用,会出现“抖动”现象,抖动时间一般为510ms。消除抖动是按键设计所必须要考虑的问题。 (2)消除抖动的方法 消抖动通常有软件和硬件两种方法。 软件消抖动就是在检测到键按下时,执行一段延时子程序后,再确认该键电平是否仍保持键按下时的状态电平。延时时间通常取510ms以上。 硬件消抖动可采用RS触发器或RC延时等方法。,2、独立式按键,独立式键盘是指
2、各按键相互独立,每个按键分别与单片机或外扩I/O芯片的一根输入线相连。 如:JB P1.0,L1 ;K0闭合?LCALL DELAY ;延时10msJB P1.0,L1 ;K0闭合?LJMP KEY0 ;K0处理L1:JB P1.2,L2 ;K1闭合?,3、行列式键盘(矩阵键盘),矩阵式键盘适用于按键数量较多的场合。它通常由行线和列线组成,按键位于行、列的交叉点上。 矩阵键盘按键的识别通常由两种方法:行扫描法和行列反转法。,4、行扫描法,(1)全扫描:使所有的行为0,读列的数值判断整个键盘是否有键按下粗扫描. (2)逐行扫描:逐行输出0,读列的数值。 判断被按键的具体位置细扫描。 (3)确定键
3、值或键号: 采用某种算法,将行和列的信息合并为一个信息,该信息称为该键的键值,并按一定的顺序形成一个键值表。如:,确定键值或键号,如:数字 “6”键 行扫描码:1101 列值:1011,则 键值=行扫描码+列值-11011011 即:0DBH 键值表: TAB: DB 0EEH,0EDH,0EBH,0E7H0DEH,0DDH,0DBH,0D7H 键扫描例程如:KEY.ASM,5、互动试验装置键盘接口,1、装置中键号未按照顺序定义; 使用时可采用查表方式。 2、扫描时,可按照列号、行号进行查表,确定键的键值。 全扫描码为0FFH,无键按下时读入列值为00H,有键按下为“1”。,例3:键盘扫描程序:D6L3.ASM,程序JIANPAN.ASM为键盘扫描例程,在LED上显示对应的键值。,修改:,1、若按数字键5,显示“12345678”;按其他数字键,清显示,并显示提示符“P.”。 2、若按命令键“宏单”,则显示“-GOOD-”,按其他数字键,清显示,并显示提示符“P.”。,