键盘显示器接口8279PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
补充:键盘接口
“1”
“0” 抖动时间
<10ms 开关动作时间 >100ms
<10ms
17
补充:键盘接口
有按键信号? N Y
延时等待10ms
仍有按键信号? N Y
键盘处理
按键释放? N Y
18
补充:键盘接口
串键问题
所谓的串键是指在键盘上同时按下两个或多个键。防 止因串键而产生错误代码的方法很多,常用的方法:
11
补充:键盘接口
行反转法
12
补充:键盘接口 8255A的A口行线,B口列线。
13
补充:键盘接口
START:MOV AL,82H OUT 63H,AL
WAIT0: MOV AL,0 OUT 60H,AL IN AL,61H CMP AL, 0FFH JZ WAIT0 PUSH AX PUSH AX
7
补充:键盘接口
8
补充:键盘接口
AGAIN:XOR AL,AL MOV DX,PORT0 OUT DX,AL MOV DX,PORT1 IN AL,DX CMP AL,0FFH JZ AGAIN CALL DELAY
PROG:MOV BL,0;键号初值为0 MOV BH,0FEH;送扫描初值 MOV CX,8;计数值为行数
补充:键盘接口
本讲重点: 键盘接口(键盘种类,矩阵键盘的行扫
描与线反转法的电路、原理与编程) 8279的使用
1
补充:键盘接口
整体 概述
一 请在这里输入您的主要叙述内容
二
请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
2
补充:键盘接口
3
补充:键盘接口
4
补充:键盘接口
键盘的分类
(1)编码键盘 编码键盘带有必要的硬件电路,能自动提供按键的ASCII 编码,并能将数据保持到新键按下为止,还有去抖动和 防止多键、串键等保护装置。编码键盘软件简短,它根 据编码就能识别是什么键按下,但硬件电路复杂,价格 较贵。
15
补充:键盘接口
去抖动和防串键
在键盘设计时,除了对键码的识别外,还有两个问题 需要解决:抖动和串键。
当用手按下一个键时,往往会出现按键在闭合位置和断 开位置之间跳几下才稳定到闭合状态的情况;在释放一个 键时,也会出现类似的情况,这就是抖动。抖动的持续时 间随操作员而异,不过通常总是不大于10ms。大家容易 想到,抖动问题不解决就会引起对闭合键的错误识别。
采用软件进行扫描,直到检测到只有一个键闭合时, 才从键盘读取代码。这种方法认定最后一个仍然保持按下 的键是正确的键,它一般用于采用软件对键盘进行扫描的 场合。
硬件方法进行锁定,在第一个键未释放之前,按其它 的键不产生选通信号。这种方法认为第一个按下的键有效。
19
补充:键盘接口
第二节 8279可编程键盘/显示器接口芯片
(2)非编码键盘 它仅仅是按行、列排列起来的矩阵开关,其它的工作如识 别键、提供代码、去抖动等均由软件来解决。目前微型 机中,一般为了降低成本,简化硬件电路,大多采用非 编码键盘,所以下面仅介绍非编码键盘的接口电路。
5
补充:键盘接口
非编码键盘按键的识别: 行按键
9
补充:键盘接口
FROW :MOV AL,BH;扫描一行 MOV DX,PORT0 OUT DX,AL ROL BH,1 MOV DX,PORT1;读进列值 IN AL,DX CMP AL,0FFH JNZ FCOL ADD BL,8 LOOP FROW
JMP DONE
FCOL: RCR AL,1 JNC PROCE INC BL JMP FCOL
行扫描法识别按键的过程是:首先判断是否有键被按下, 即先进行全扫描,将所有行线置成低电平;然后扫描全部 列线,如果扫描的列值全是高电平,则说明没有任何一个 键被按下;如果读入的列值不是全1,则说明有键按下, 再用逐行扫描的方法确定哪一个键被按下。先扫描第一行, 即置该行为低电平,其他行为高电平,然后检查列线,如 果某条列线为低电平,则说明第一行与该列相交的位置上 的按键被按下;如果所有列线全是高电平,则说明第一行 没有键被按下,接着扫描第二行,以此类推,直到找到被 按下的键。
PROCE:….;键译码程序 DONE : …;后序处理程序
10
补充:键盘接口
行反转法识别按键
将行线接一个并行口,先让它工作在输出方式,将列线 出接到一个并行口,先让它工作在输入方式。编程使CPU 通过输出端口往各行线全部送低电平,然后读入列线的值。 如果有某一个键被按下,则必有一条列线为低电平。然后 进行线反转,通过编程对两个并行端口进行方式设置,使 连接行线的端口工作在输入方式,并将刚才读到的列线值 通过所连接的并行口再输出到列线,然后读取行线的值, 那么闭合键所对应的行线必为低电平,这样当一个键被按 下时,就可以读到一对唯一的列值和行值。
8279是一种通用的可编程的键盘、显示器接口芯片,能完 成键盘输入和显示控制的功能,可以大大提高CPU效率,并可 使接口电路更具有通用性。
8279的功能主要包括键盘输入和显示控制两部分,其中 键盘部分提供扫描工作方式,可连接64个键的矩形键盘,并 具有自动消抖和多键同时按下保护功能。显示部分则提供扫 描方式的显示接口,可与8位或16位LED数码管连接构成。 实现对键盘和显示器的自动扫描 识别闭合键的键号 完成显示器的动态扫描
CALL DELAY MOV AL,90H OUT 63H,AL POP AX OUT 61H,AL IN AL,60H POP BX MOV AH,BL;列值送AH,行值送AL LEA SI,TABLE;取键码表首址
14
补充:键盘接口
MOV CX,40H LOOP1: CMP AX,[SI]
JZ KEYPRO INC SI INC SI LOOP LOOP1;未完,继续。 JMP START;未找到相同码,重新开始找。 KEYPRO:…;键译码程序 TABLE:DW 0FEFEH;键码表,K0 DW 0FEFDH DW 0FEFBH DW 0FEF7H………..
20
补充:键盘接口
一、 8279引脚及逻辑符号
21
补充:键盘接口
8279采用40引脚封装,其管脚、引线功能如图所示。其引脚 功能如下:
D0~D7(数据总线):双向、三态总线,和系统数据总线相连; 用于CPU和8279间的数据/命令传递。 CLK(系统时钟):输入线,为8279提供内部时钟的输入端。 RESET(复位):输入线,当RESET=1时,8279复位,其复 位状态为:16个字符显示; 编码扫描键盘--双键锁定; 程序 时钟编码为31。 CS(片选):输入线,当CS=0时8279被选中,允许CPU对其 读、写,否则被禁止。 A0(C/D):输入线。当A0=1时CPU写入数据为命令字,读 出数据为状态字;A0=0时CPU读、写的字节均为数据。
补充:键盘接口
“1”
“0” 抖动时间
<10ms 开关动作时间 >100ms
<10ms
17
补充:键盘接口
有按键信号? N Y
延时等待10ms
仍有按键信号? N Y
键盘处理
按键释放? N Y
18
补充:键盘接口
串键问题
所谓的串键是指在键盘上同时按下两个或多个键。防 止因串键而产生错误代码的方法很多,常用的方法:
11
补充:键盘接口
行反转法
12
补充:键盘接口 8255A的A口行线,B口列线。
13
补充:键盘接口
START:MOV AL,82H OUT 63H,AL
WAIT0: MOV AL,0 OUT 60H,AL IN AL,61H CMP AL, 0FFH JZ WAIT0 PUSH AX PUSH AX
7
补充:键盘接口
8
补充:键盘接口
AGAIN:XOR AL,AL MOV DX,PORT0 OUT DX,AL MOV DX,PORT1 IN AL,DX CMP AL,0FFH JZ AGAIN CALL DELAY
PROG:MOV BL,0;键号初值为0 MOV BH,0FEH;送扫描初值 MOV CX,8;计数值为行数
补充:键盘接口
本讲重点: 键盘接口(键盘种类,矩阵键盘的行扫
描与线反转法的电路、原理与编程) 8279的使用
1
补充:键盘接口
整体 概述
一 请在这里输入您的主要叙述内容
二
请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
2
补充:键盘接口
3
补充:键盘接口
4
补充:键盘接口
键盘的分类
(1)编码键盘 编码键盘带有必要的硬件电路,能自动提供按键的ASCII 编码,并能将数据保持到新键按下为止,还有去抖动和 防止多键、串键等保护装置。编码键盘软件简短,它根 据编码就能识别是什么键按下,但硬件电路复杂,价格 较贵。
15
补充:键盘接口
去抖动和防串键
在键盘设计时,除了对键码的识别外,还有两个问题 需要解决:抖动和串键。
当用手按下一个键时,往往会出现按键在闭合位置和断 开位置之间跳几下才稳定到闭合状态的情况;在释放一个 键时,也会出现类似的情况,这就是抖动。抖动的持续时 间随操作员而异,不过通常总是不大于10ms。大家容易 想到,抖动问题不解决就会引起对闭合键的错误识别。
采用软件进行扫描,直到检测到只有一个键闭合时, 才从键盘读取代码。这种方法认定最后一个仍然保持按下 的键是正确的键,它一般用于采用软件对键盘进行扫描的 场合。
硬件方法进行锁定,在第一个键未释放之前,按其它 的键不产生选通信号。这种方法认为第一个按下的键有效。
19
补充:键盘接口
第二节 8279可编程键盘/显示器接口芯片
(2)非编码键盘 它仅仅是按行、列排列起来的矩阵开关,其它的工作如识 别键、提供代码、去抖动等均由软件来解决。目前微型 机中,一般为了降低成本,简化硬件电路,大多采用非 编码键盘,所以下面仅介绍非编码键盘的接口电路。
5
补充:键盘接口
非编码键盘按键的识别: 行按键
9
补充:键盘接口
FROW :MOV AL,BH;扫描一行 MOV DX,PORT0 OUT DX,AL ROL BH,1 MOV DX,PORT1;读进列值 IN AL,DX CMP AL,0FFH JNZ FCOL ADD BL,8 LOOP FROW
JMP DONE
FCOL: RCR AL,1 JNC PROCE INC BL JMP FCOL
行扫描法识别按键的过程是:首先判断是否有键被按下, 即先进行全扫描,将所有行线置成低电平;然后扫描全部 列线,如果扫描的列值全是高电平,则说明没有任何一个 键被按下;如果读入的列值不是全1,则说明有键按下, 再用逐行扫描的方法确定哪一个键被按下。先扫描第一行, 即置该行为低电平,其他行为高电平,然后检查列线,如 果某条列线为低电平,则说明第一行与该列相交的位置上 的按键被按下;如果所有列线全是高电平,则说明第一行 没有键被按下,接着扫描第二行,以此类推,直到找到被 按下的键。
PROCE:….;键译码程序 DONE : …;后序处理程序
10
补充:键盘接口
行反转法识别按键
将行线接一个并行口,先让它工作在输出方式,将列线 出接到一个并行口,先让它工作在输入方式。编程使CPU 通过输出端口往各行线全部送低电平,然后读入列线的值。 如果有某一个键被按下,则必有一条列线为低电平。然后 进行线反转,通过编程对两个并行端口进行方式设置,使 连接行线的端口工作在输入方式,并将刚才读到的列线值 通过所连接的并行口再输出到列线,然后读取行线的值, 那么闭合键所对应的行线必为低电平,这样当一个键被按 下时,就可以读到一对唯一的列值和行值。
8279是一种通用的可编程的键盘、显示器接口芯片,能完 成键盘输入和显示控制的功能,可以大大提高CPU效率,并可 使接口电路更具有通用性。
8279的功能主要包括键盘输入和显示控制两部分,其中 键盘部分提供扫描工作方式,可连接64个键的矩形键盘,并 具有自动消抖和多键同时按下保护功能。显示部分则提供扫 描方式的显示接口,可与8位或16位LED数码管连接构成。 实现对键盘和显示器的自动扫描 识别闭合键的键号 完成显示器的动态扫描
CALL DELAY MOV AL,90H OUT 63H,AL POP AX OUT 61H,AL IN AL,60H POP BX MOV AH,BL;列值送AH,行值送AL LEA SI,TABLE;取键码表首址
14
补充:键盘接口
MOV CX,40H LOOP1: CMP AX,[SI]
JZ KEYPRO INC SI INC SI LOOP LOOP1;未完,继续。 JMP START;未找到相同码,重新开始找。 KEYPRO:…;键译码程序 TABLE:DW 0FEFEH;键码表,K0 DW 0FEFDH DW 0FEFBH DW 0FEF7H………..
20
补充:键盘接口
一、 8279引脚及逻辑符号
21
补充:键盘接口
8279采用40引脚封装,其管脚、引线功能如图所示。其引脚 功能如下:
D0~D7(数据总线):双向、三态总线,和系统数据总线相连; 用于CPU和8279间的数据/命令传递。 CLK(系统时钟):输入线,为8279提供内部时钟的输入端。 RESET(复位):输入线,当RESET=1时,8279复位,其复 位状态为:16个字符显示; 编码扫描键盘--双键锁定; 程序 时钟编码为31。 CS(片选):输入线,当CS=0时8279被选中,允许CPU对其 读、写,否则被禁止。 A0(C/D):输入线。当A0=1时CPU写入数据为命令字,读 出数据为状态字;A0=0时CPU读、写的字节均为数据。