键盘接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0
15 14 13 12 11 10 9 8
输出通道 D/A
传感器
A/D 电 量
非 电 量
单片机或 DSP RAM、 EPROM I/O接口
外部通信
RS232 USB
打印机
输入通道
板
键盘、开关、 显示器
内嵌微处理器智能仪器的基本结构
键盘接口技术
键盘输入数据和命令,显示用于仪器的状 态、命令和计算结果。 单片机键盘有两种: 全编码键盘,其键码全由硬件提供,但是 这种方式硬件结构复杂,成本高; 非编码键盘,这种键盘多采用矩阵方式, 利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘。
• 静态式编码器接口
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
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发出中断信号。
A0=1)。当FIFO RAM不是空的,IRQ会发出一个HI做 中断请求。当设置为SENSOR模式时,存放在FIFO内的 数据与外部 SENSOR 矩阵相对应,只要 SENSOR 矩阵 ( 64 个)中有任何一个变动, IRQ 都会由 LO 转为 HI , 发出中断请求。
6.显示地址寄存器及显示器RAM
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
+5V
并 行 接 口
1 1 0 1 0 0 0 0
+5V
并 行 接 口
1 1 0 1 1 0 1 1
+5V
非编码键盘接口
PA7 PA6 PA5 PA4 PA3 CE PA2 IO/M PA 1 WR PA0 0 1 2 RD PC 0 ALE 8 9 10 PC 1 D0~D7 PC2 16 17 18 PC3 24 25 26 8155 RESET
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
显示地址寄存器,决定CPU读写哪一个显示器RAM
的字节,可由程序设置,且读/写方式可以是自动或是单 一方式。显示器RAM(16×8位)在设置好模式及地址后, CPU可直接读取。显示器RAM的数据码送出显示时,分 为两部分高4位由OUTA送出,低4位由OUTB送出,也可
单独送出,可以利用程序设置。
说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc RL1 RL0 CNTL/STB SHIFT SL3 SL2 SL1 SL0 OUTB0 OUTB1 OUTB2 OUTB3 OUTA0 OUTA1 OUTA2 OUTA3 BD CS A0
8279
8279的组成及引脚
8279 芯片有 40 条引脚, 由单一+5 V电源供电。 它主要由以下几部分组成:
1、 I/O控制和数据缓冲器:利用/CS、A0、/RD、 /WR等信号,控制读写的数据;
2、 控制和定时寄存器及定时控制部分:这些寄 存器储存键盘模式、显示模式,可由程序设置 其操作方式。定时控制包括定时计数器,第1个 计数器为除以N的分频器,可由程序设置,分频 值为2~31。;
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
行 线
wenku.baidu.comx2
x1 x0
8 4 0
9 5 1
A 6 2
B 7 3
• CLK是系统来的外时钟,8279靠设置定 时器将外部时钟变为内时钟。其内部基 频=外时钟/定时器值。内部时钟的高低 控制着扫描时间和键盘去抖动时间的长 短,若8279内部时钟为100kHz,则扫描 时间为5.1ms,去抖动时间为10.3ms。
双键互锁
• 在读取一个键己按下时,不管另外有无其它键按下的 方式。如同时有多个键按下,则等待只剩下一个键按 下时,再将其值送入RAM。
A0
1
a)接口电路
b)真值表
可编程键盘/显示器接口8279
• 由于数据输入和显示乃是许多微处理机外设的 一个不可分离部分。系统设计者需要一种能够 控制这些功能,而又不致于使CPU负载过重的 接口。8279为8位微处理机提供这种功能。 • 8279有两个部分,键盘部分和显示器部分。键 盘部分能够与通常的打字机型键盘或随机乒乓 开关,或钮子开关相联接。显示部分驱动字母 数字显示或一排指示灯。从而减轻了CPU在扫 描键盘和刷新显示时的负担。
有按键信号? 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
N键轮换
• 多个键可以同时按下,按扫描顺序,分别将其值送入 RAM。
传感器矩阵
• 无去抖动功能,键的状态直接映射到RAM中,可以 用软件检查键何时按下,何时抬起。
选通输入方式
• RL7~0作为选通输入口。!CNTL/STB作为选通信号输 入端。这是只选用显示器没有键盘的工作方式。
CLK
ALE 8051
8279按设计直接连到CPU总线,CPU通过可编程 控制8279的所有操作方式。这些方式包括: 输入方式: 扫描键盘—带有编码扫描线或译码扫描线。每按一 下按键,就产生一个表示按键位置的6位编码。存储 在FIFO中。 扫描传感器阵列—带有编码扫描线或译码扫描线。 按键的状态被存储在可由CPU寻址的RAM中。 选通输入—在控制线选通时,回送线上数据被传送 到FIFO中。 输出方式: 8字符或16字符的多路切换式显示器。该显示器可被 组合成两组4位或一组8位形式(B0=D0, A3=D7)。 右端输入或左端输入的显示格式。
•键盘的接口必须解决下列的一些问题: (1)识键:决定是否有键按下;
(2)译键:如有键按下,决定是哪一个 键被按下; (3)确定被按键的读数;
(4)反弹跳—按键抖动的消除。
(5)处理同时按键,即同时有一个以上 的按键。
消除键抖动
1、硬件电路消除法
2、软件延时法,当判定按键按下时用 软件延时10~20ms,等待键稳定后再 判一次,以躲过触点抖动期
串键保护
n键同时按下:等到只有一个键按下去再 处理
n键锁定:只处理一个键
消除抖动电路
“1” “0” +5v 抖动时间 <10ms 开关动作时间 >100ms
&
<10ms
开关
+5v
&
I/O 接 口
单 片 机
消除抖动电路
+5V R1
(Di) Vo
Vi R2
S
V1
(Di) V 2
图 5-3
滤波延时消抖电路
独立式按键接口设计
一、独立式键盘接口电路
1. 接口与数据 每个按键单独占有一 根I/O接口引线。
P1.0
P1.1 +5v
输入每根 I/O 接口引 线的信号对应某个数据。
P1.7
独立式按键接口程序设计
键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按 键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 2)键译码 键号为键盘位置码,根据键号查表 得出被按键的键值。键值:数字键0~9、 字符键0AH~0FH、功能键10H~ 。 3)键处理 根据键值转移到不同程序段。若键 值属于数字、字符键,则调用显示数字 和字符的子程序。若键值属于功能键, 则进行多分支转移,执行各个功能程序 段。
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-外时钟输入端
滤波延时消抖电路
键连击的处理
读 键
延时去抖 读 键 延时去抖
执 行 等键释放
执 行 延 时
非编码键盘
1)独立式键盘
图 3-1(a)
特点: 一键一线. 优点: 结构简单,键容易识别. 缺点: 占用较多检测线,不便组成大型键盘. 2)矩阵式键盘 图3-1(b) 特点: 把检测线分成二组,一组为行线,另一组为列 线,按键放在行线和列线的交叉点上. 优点: 键盘规模可扩大. 缺点: 键盘分析程序较复杂. 键盘的工作方式 a) 编程扫描方式(查询方式) b) 中断工作方式 c) 定时扫描方式
可编程键盘/显示器接口8279
主要特性:
• • • • • • • • • • • • • 与MCS-51微处理器兼容 能同时执行键盘与显示器操作 扫描式键盘工作方式 有8个键盘FIFO(先入先出)存储器 带触点去抖动的二键锁定或N键巡回功能 两个8位或一个16位的数字显示器 可左/右输入的16字节显示用RAM 由键盘输入产生中断信号 扫描式传感器工作方式 用选通方式送入输入信号 单个16字符显示器 工作方式可由CPU编程 可编程扫描定时
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
5.FIFO(先进先出)/SENSOR RAM及状态码
为8×8位的RAM。当8279被设置为键盘扫描模式或
选通输入模式时,FIFO RAM最先被存入,也最先被提 出来,而状态码可检测FIFO RAM是空的还是满的,或
发 生 错 误 , 可 读 取 状 态 码 来 判 断 ( /RD=0 , /CS=0 ,