当前位置:文档之家› 键盘接口

键盘接口


P2.7 P2.0 WR RD ALE P0 8031 20µ F +5V 1K
3 4 5 6 7 5.1K×4 11 12 13 14 15 19 20 21 22 23 +5V 27 28 29 30 31
3.1.2 键盘信号的获取方法有三种: . 程序扫描法 中断扫描法 定时中断法 键盘监控程序设计方法有 . 直接分析法 状态矩阵法 3.1.3 编码键盘 . 编码键盘的基本任务是识别按键,提供按键读 数,一个高质量的编码键盘还应具有反弹跳、处理 同时按键等功能. . 静态编码器—普通编码器如74148 可编程键盘/显示接口 如8279
8279
8279的组成及引脚
8279 芯片有 40 条引脚, 由单一+5 V电源供电。 它主要由以下几部分组成:
1、 I/O控制和数据缓冲器:利用/CS、A0、/RD、 /WR等信号,控制读写的数据;
2、 控制和定时寄存器及定时控制部分:这些寄 存器储存键盘模式、显示模式,可由程序设置 其操作方式。定时控制包括定时计数器,第1个 计数器为除以N的分频器,可由程序设置,分频 值为2~31。;
8279按设计直接连到CPU总线,CPU通过可编程 控制8279的所有操作方式。这些方式包括: 输入方式: 扫描键盘—带有编码扫描线或译码扫描线。每按一 下按键,就产生一个表示按键位置的6位编码。存储 在FIFO中。 扫描传感器阵列—带有编码扫描线或译码扫描线。 按键的状态被存储在可由CPU寻址的RAM中。 选通输入—在控制线选通时,回送线上数据被传送 到FIFO中。 输出方式: 8字符或16字符的多路切换式显示器。该显示器可被 组合成两组4位或一组8位形式(B0=D0, A3=D7)。 右端输入或左端输入的显示格式。
RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0
15 14 13 12 11 10 9 8
3、扫描计数器: (1)编码(ENCODE)扫描模式,为二进 码输出,必须外接译码器(74154,4028,74138 等),译码为单一LO或HI,然后送至键盘及显
示器;
(2)译码扫描模式,已经内部译码为单一
LO,只能接4个显示器。
4、返回缓冲器
( 1)键盘扫描模式:当设定键盘扫描模式时,从 SL0~ SL3 送出的扫描信号,将会去扫描键盘,如有按键被 按时,它会等待10ms,然后再检查该按键,将此键码 (含CTRL、SHIFT)存入FIFO RAM内。 ( 2 )传感器模式:当设定为传感器模式时,存入 FIFO RAM的值,完全按扫描的输出码。如有传感元件被触 发时,在 8279内部的 FIFO RAM中都有一个位与之相 对应。 (3)选通输入模式:当CNTR/STB输入一个上升沿触发 时,返回线上的数据码将被反相后存入FIFO RAM, 并由IRQ发出中断信号。
有按键信号? Y 延时等待10ms
N
仍有按键信号? N Y 键盘处理 N
按键释放? Y
8031
+5V
+5V
I/O
INT0 INT1
(a) 中断方式 图 8-1-1 独立式按键电路
I/O
8031
(b)查询方式
独立式按键电路
+5V P 2.7 ALE 8031 P0 WR RD 8 74LS 373 8 PA 0 CS PA 1 8255 PA 2 A0 PA 3 A1 PA 4 D0 ~D 7 PA 5 PA 6 PA 7 WR RD RESET GND 0
• 静态式编码器接口
0 1 2 3 4 5 6 7 10 11 12 13 1 2 3 4 74148 EI 8 7 9 6 A2 A1 键 1 1 1 A2’ 0 A1’ A0’ 1 2 3 4 5 6 7 A2’ A1’ 0 A0’ 0
0
0 0 0 1 1 1
0
1 1 0 0 1 1
1
0 1 0 1 0 1
1 2 3 4 5 6 7
1K
10μF +5V
使用8255扩展I/O的独立式键盘
2.矩阵式非编码键盘
识别按键的方法
行扫描法 线反转法
+5V 10KΩ*3 行码 列 码
0键:1 1 0
1键:1 1 0 2键:1 1 0
1110
1101 1011
行 线
x2
x1 x0
8 4 0
9 5 1
A 6 2
B 7 3
• CLK是系统来的外时钟,8279靠设置定 时器将外部时钟变为内时钟。其内部基 频=外时钟/定时器值。内部时钟的高低 控制着扫描时间和键盘去抖动时间的长 短,若8279内部时钟为100kHz,则扫描 时间为5.1ms,去抖动时间为10.3ms。
双键互锁
• 在读取一个键己按下时,不管另外有无其它键按下的 方式。如同时有多个键按下,则等待只剩下一个键按 下时,再将其值送入RAM。
串键保护
n键同时按下:等到只有一个键按下去再 处理
n键锁定:只处理一个键
消除抖动电路
“1” “0” +5v 抖动时间 <10ms 开关动作时间 >100ms

<10ms
开关
+5v

I/O 接 口
单 片 机
消除抖动电路
+5V R1
(Di) Vo
Vi R2
S
V1
(Di) V 2
图 5-3
滤波延时消抖电路
显示地址寄存器,决定CPU读写哪一个显示器RAM
的字节,可由程序设置,且读/写方式可以是自动或是单 一方式。显示器RAM(16×8位)在设置好模式及地址后, CPU可直接读取。显示器RAM的数据码送出显示时,分 为两部分高4位由OUTA送出,低4位由OUTB送出,也可
单独送出,可以利用程序设置。
说明:
输出通道 D/A
传感器
A/D 电 量
非 电 量
单片机或 DSP RAM、 EPROM I/O接口
外部通信
RS232 USB
打印机
输入ቤተ መጻሕፍቲ ባይዱ道

键盘、开关、 显示器
内嵌微处理器智能仪器的基本结构
键盘接口技术
键盘输入数据和命令,显示用于仪器的状 态、命令和计算结果。 单片机键盘有两种: 全编码键盘,其键码全由硬件提供,但是 这种方式硬件结构复杂,成本高; 非编码键盘,这种键盘多采用矩阵方式, 利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘。
N键轮换
• 多个键可以同时按下,按扫描顺序,分别将其值送入 RAM。
传感器矩阵
• 无去抖动功能,键的状态直接映射到RAM中,可以 用软件检查键何时按下,何时抬起。
选通输入方式
• RL7~0作为选通输入口。!CNTL/STB作为选通信号输 入端。这是只选用显示器没有键盘的工作方式。
CLK
ALE 8051
A0
1
a)接口电路
b)真值表
可编程键盘/显示器接口8279
• 由于数据输入和显示乃是许多微处理机外设的 一个不可分离部分。系统设计者需要一种能够 控制这些功能,而又不致于使CPU负载过重的 接口。8279为8位微处理机提供这种功能。 • 8279有两个部分,键盘部分和显示器部分。键 盘部分能够与通常的打字机型键盘或随机乒乓 开关,或钮子开关相联接。显示部分驱动字母 数字显示或一排指示灯。从而减轻了CPU在扫 描键盘和刷新显示时的负担。
8279的引脚图
DB7~0-双向外部数据总线 RL2 CS-片选信号 RL3 CLK A0-区分信息的特征位 IRQ A0=1,命令状态;A0=0,数据 RL4 RD-读选通信号 RL5 RL6 WR-写选通信号 RL7 IRQ-中断请求输出 RESET RL7~RL0-反馈输入线 RD SL3~SL0-扫描输出线 WR OUTB3~0,OUTA3~0-显示段数据输出DB0 DB1 BD-消隐输出 DB2 DB3 RESET-复位输入。复位后: DB4 1. 16个8位字符显示为左端输入 DB5 2. 编码的扫描键为两键连锁 DB6 SHIFT-换档 DB7 CNTL/STB-控制/选通 GND CLK-外时钟输入端
74LS373
A0
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7
WR RD INT1 +5V 20µF 2K
D0 D1 D2 SL0 D3 SL1 SL2 D4 8279 D5 D6 D7 CS WR B0 RD B1 B2 B3 IRQ A0 RESET A1 A2 CNTL A3 SHIFT
A0=1)。当FIFO RAM不是空的,IRQ会发出一个HI做 中断请求。当设置为SENSOR模式时,存放在FIFO内的 数据与外部 SENSOR 矩阵相对应,只要 SENSOR 矩阵 ( 64 个)中有任何一个变动, IRQ 都会由 LO 转为 HI , 发出中断请求。
6.显示地址寄存器及显示器RAM
滤波延时消抖电路
键连击的处理
读 键
延时去抖 读 键 延时去抖
执 行 等键释放
执 行 延 时
非编码键盘
1)独立式键盘
图 3-1(a)
特点: 一键一线. 优点: 结构简单,键容易识别. 缺点: 占用较多检测线,不便组成大型键盘. 2)矩阵式键盘 图3-1(b) 特点: 把检测线分成二组,一组为行线,另一组为列 线,按键放在行线和列线的交叉点上. 优点: 键盘规模可扩大. 缺点: 键盘分析程序较复杂. 键盘的工作方式 a) 编程扫描方式(查询方式) b) 中断工作方式 c) 定时扫描方式
3键:1 1 0 4键:1 0 1 5键:1 0 1
0111 1110 1101
y0 y1
列线
y2 y3
A键:0 1 1
1011
线反转法
+5V
相关主题