键盘显示器接口8279PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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读、写的字节均为数据。
16
补充:键盘接口
“1”
“0” 抖动时间
<10ms 开关动作时间 >100ms
<10ms
17
补充:键盘接口
有按键信号? N Y
延时等待10ms
仍有按键信号? N Y
键盘处理
按键释放? N Y
18
补充:键盘接口
串键问题
所谓的串键是指在键盘上同时按下两个或多个键。防 止因串键而产生错误代码的方法很多,常用的方法:
8279是一种通用的可编程的键盘、显示器接口芯片,能完 成键盘输入和显示控制的功能,可以大大提高CPU效率,并可 使接口电路更具有通用性。
8279的功能主要包括键盘输入和显示控制两部分,其中 键盘部分提供扫描工作方式,可连接64个键的矩形键盘,并 具有自动消抖和多键同时按下保护功能。显示部分则提供扫 描方式的显示接口,可与8位或16位LED数码管连接构成。 实现对键盘和显示器的自动扫描 识别闭合键的键号 完成显示器的动态扫描
采用软件进行扫描,直到检测到只有一个键闭合时, 才从键盘读取代码。这种方法认定最后一个仍然保持按下 的键是正确的键,它一般用于采用软件对键盘进行扫描的 场合。
硬件方法进行锁定,在第一个键未释放之前,按其它 的键不产生选通信号。这种方法认为第一个按下的键有效。
19
补充:键盘接口
第二节 8279可编程键盘/显示器接口芯片
PROCE:….;键译码程序 DONE : …;后序处理程序
10
补充:键盘接口
行反转法识别按键
将行线接一个并行口,先让它工作在输出方式,将列线 出接到一个并行口,先让它工作在输入方式。编程使CPU 通过输出端口往各行线全部送低电平,然后读入列线的值。 如果有某一个键被按下,则必有一条列线为低电平。然后 进行线反转,通过编程对两个并行端口进行方式设置,使 连接行线的端口工作在输入方式,并将刚才读到的列线值 通过所连接的并行口再输出到列线,然后读取行线的值, 那么闭合键所对应的行线必为低电平,这样当一个键被按 下时,就可以读到一对唯一的列值和行值。
15
补充:键盘接口
去抖动和防串键
在键盘设计时,除了对键码的识别外,还有两个问题 需要解决:抖动和串键。
当用手按下一个键时,往往会出现按键在闭合位置和断 开位置之间跳几下才稳定到闭合状态的情况;在释放一个 键时,也会出现类似的情况,这就是抖动。抖动的持续时 间随操作员而异,不过通常总是不大于10ms。大家容易 想到,抖动问题不解决就会引起对闭合键的错误识别。
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
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
行扫描法识别按键的过程是:首先判断是否有键被按下, 即先进行全扫描,将所有行线置成低电平;然后扫描全部 列线,如果扫描的列值全是高电平,则说明没有任何一个 键被按下;如果读入的列值不是全1,则说明有键按下, 再用逐行扫描的方法确定哪一个键被按下。先扫描第一行, 即置该行为低电平,其他行为高电平,然后检查列线,如 果某条列线为低电平,则说明第一行与该列相交的位置上 的按键被按下;如果所有列线全是高电平,则说明第一行 没有键被按下,接着扫描第二行,以此类推,直到找到被 按下的键。
(2)非编码键盘 它仅仅是按行、列排列起来的矩阵开关,其它的工作如识 别键、提供代码、去抖动等均由软件来解决。目前微型 机中,一般为了降低成本,简化硬件电路,大多采用非 编码键盘,所以下面仅介绍非编码键盘的接口电路。
5
补充:键盘接口
非编码键盘按键的识别: 行扫描法和线反转法
6
补充:键盘接口
(1)行扫描法识别按键
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 编码,并能将数据保持到新键按下为止,还有去抖动和 防止多键、串键等保护装置。编码键盘软件简短,它根 据编码就能识别是什么键按下,但硬件电路复杂,价格 较贵。
相关文档
最新文档