Download presentation
Presentation is loading. Please wait.
Published by弟 纪 Modified 8年之前
1
第五章 键盘及其接口技术 本章要点: 1 .按键的抖动干扰及其解决方法。 2 .独立式键盘的结构原理及其接口电路。 3 .矩阵式键盘的结构原理及其行扫描法。 4 .编码器及其编码键盘接口电路。 返回总目录
2
本章主要内容 引言 引言 5.1 键盘输入电路 5.1 键盘输入电路 5.2 非编码独立式键盘 5.2 非编码独立式键盘 5.3 非编码矩阵式键盘 5.3 非编码矩阵式键盘 5.4 编码键盘 5.4 编码键盘 思考题 思考题
3
引言 键盘 -- 一种最常用的输入设备, 它是一组按键的集合, 分类 -- 从功能上可分为数字键和功能键两种,作用是输入数 据与命令,查询和控制系统的工作状态,实现简单的 人机对话。 键盘接口电路-- 编码键盘 : 采用硬件编码电路来实现键的编码,每按下一个键, 键盘便能自动产生按键代码。编码键盘主要有 BCD 码键 盘、 ASCII 码键盘等类型。 特点: 使用方便,键盘码产生速度快,占用 CPU 时间少,但对 按键的检测与消除抖动干扰是靠硬件电路来完成的, 因而硬件电路复杂、成本高。 非编码键盘:仅提供按键的通或断状态, 按键代码的产生与识别 由软件完成。 特点: 硬件电路简单,成本低,但占用 CPU 的时间较长。
4
5.1 键盘输入电路 主要知识点 : 5.1.1 键盘的抖动干扰 5.1.2 抖动干扰的消除
5
链接动画 5.1.1 键盘的抖动干扰 图 键盘的抖动干扰
6
5.1.2 抖动干扰的消除 去抖动的方法 -- 有硬件方法和软件方法两种。 1 .硬件方法 -- 设计一个滤波延时电路或单稳态电路 2 .软件方法 -- 编制一段时间大于 100ms 的延时程序 图 滤波延时消抖电路 链接动画
7
5.2 非编码独立式键盘 主要知识点 : 5.2.1 查询法接口电路 5.2.2 中断法接口电路
8
5.2.1 查询法接口电路 图 独立式键盘结构原理 链接动画
9
实现的功能-查询检测是否有键 按下,如有键闭 合,则消除抖动, 再判断 键号,然后 转入相应的键 处 理。其程序流程如 所示。 图 独立式键盘查询法程序流程图
10
5.2.2 中断法接口电路 链接动画
11
5.3 非编码矩阵式键盘 主要知识点 : 5.3.1 矩阵式键盘的结构组成 5.3.2 矩阵式键盘的程序设计
12
5.3.1 矩阵式键盘的结构组成 矩阵式键盘又叫行列式键盘,是用 I/O 口线组成的行、列矩阵结构,在 每根行线与列线的交叉处,二线不直 接相通而是通过一个按键跨接接通。 采用这种矩阵结构只需 M 根行输出线 和 N 根列输入线,就可连接 M×N 个按 键。通过键盘扫描程序的行输出与列 输入就可确认按键的状态,再通过键 盘处理程序便可识别键值。
13
图 矩阵式键盘接口电路 链接动画 行扫描原理 链接动画
14
5.3.2 矩阵式键盘的程序设计 计算机键盘设计 : 在设计键盘扫描程序时,必须考虑实时性. 消除抖 动干扰。通用方式编程扫描、定时扫描或中断扫 描。 下面来考虑扫描程序的编写与准备
15
链接动画 图 矩阵式键盘扫描及键处理程序流程图
16
程序设计 KEY : MOV AL , 0 MOV CL , AL ;行值寄存器 CL 和列值寄存器 DL 清零 MOV DL , AL MOV AL , 0FFH OUT PORT1 , AL ;使所有行线为低电平 IN AL , PORT1 ; 读列键值 CMP AL , 0FFH ; 检查是否有键按下 JZ DONE ; 无键按下转返回 CALL DELAY ; 有键按下调延时 100mA 子程序 MOV AL , 0FFH OUT PORT1 , AL IN AL , PORT1 ; 重复上述扫描, 再次确认是否有键按下
17
CMP AL , 0FFH JZ DONE ; 无键按下转返回 MOV AH , 08 ; 行数 08 送计数器 AH MOV BL , 01H ;行扫描初值 ( 即 X0 线 ) 送 BL KEY1 : MOV AL , BL OUT PORT1 , AL ;输出使某行为低电平 IN AL , PORT1 ; 读入列值 CMP AL , 0FFH ; 判断此行是否有键按下 JNZ KEY2 ; 有键按下转 KEY2 MOV AL , CL ADD AL , 08 ; 无键按下, 行值寄存器加 08 DAA MOV CL , AL 程序设计 ( 续 )
18
RCL BL , 1 ; 求下一行为低电平的输出代码 DEC AH ; 判 8 行全扫描完了吗 JNZ KEY1 ; 若未完转 KEY1 ,继续扫描下一行 DONE : IRET ; 若全完则返回 KEY2 : INC DL ; 列值寄存器加 1( 与键值对应 ) RCR AL , 1 ; 列值循环右移 1 位 JC KEY2 ; 判断该列是否为 1 ,为 1 则无键按下继查下一列 MOV AL , CL ; 为 0 则有键按下, 获得列值 ADD AL , DL DAA ;求键值 MOV [BUFF] , AL ;键值送缓冲单元暂存 JMP KEYADR ;转查找功能键的入口地址 END KEY ; 程序设计 ( 续 )
19
5.4 编码键盘 主要知识点 : 5.4.1 二进制编码器 5.4.2 编码键盘接口电路
20
5.4.1 二进制编码器 具有优先级的二进制 8 位编码器 CD4532B 的真值表见表 5-1 。 状 态 输 入编 码 输 出 EiEi I7I7 I6I6 I5I5 I4I4 I3I3 I2I2 I1I1 I0I0 GSO2O2 O1O1 O0O0 Eo 0××××××××00000 10000000000001 1×××××××110000 1××××××1010010 1×××××10010100 1××××100010110 1×××1000011000 1××10000011010 1×100000011100 11000000011110
21
图 二进制编码键盘接口电路 5.4.2 编码键盘接口电路
22
图 消抖电路波形图
23
思考题 1 .简述键盘的两种类型及其特点。 2 .简述何为键盘的抖动干扰及其消除的两种方 法。 3 .对比分析说明图 5-3 与图 5-5 两种键盘接口电路 的异同。 4 .结合图 5-6 ,分析说明矩阵式键盘电路的逐行 零扫描法的工作过程。 5 .分析说明图 5-8 二进制编码键盘接口电路的工 作原理。 6 .结合图 5-8 与图 5-9 ,分析说明硬件电路消除 抖动干扰的过程。
Similar presentations