8279A可编程键盘显示接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学实验(实习)报告
实验(实习)名称8279A可编程键盘显示接口日期2011.6.14得分指导老师周欣
系电子与信息工程专业电子信息工程年级2009 班次2 姓名邹应杰学号20091305079
一、实验目的
学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法
二、实验原理
实验原理如图5-20所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。键值转换成显示代码供显示。根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表5-6。
原理图5-20
表5-5
键名0 1 2 3 4 5 6 7 8 9 A
键值00H 01H 02H 03H 04 H 05H 06H 07H 08H 09H 0AH
键名 B C D E F EXEC NEXT LAST
键值值0BH 0CH 0DH 0EH 0FH 10H 11H 15H
表5-6
显示值0 1 2 3 4 5 6 7
显示代码3FH 06H 5BH 4FH 66H 6DH 7DH 07H 显示值8 9 A B C D E F
显示代码7FH 6FH 77H 7CH 39H 5EH 79H 71H
三、实验软件参考程序
CODE SEGMENT
ASSUME CS:CODE
START: JMP KEYLED
CONTPORT EQU 00DFH
DATAPORT EQU 00DEH
DATA1 EQU 0500H
DATA2 EQU 0508H
DATA3 EQU 0510H
DATA4 EQU 0518H
DATA5 EQU 0580H
KEYLED: CALL FORMAT
CLD
MOV DI,DA TA5
MOV CX,08H
XOR AX,AX
REP STOSB
MOV SI,DA TA2
CALL LEDDISP ;DISP 8279-1
MOV BYTE PTR DS:[0601H],00H
KEY0: MOV DX,CONTPORT
IN AL,DX
TEST AL,07H
JZ KEY0
MOV CX,0FFFH
DELAY1: LOOP DELAY1
MOV DX,CONTPORT
MOV AL,40H
OUT DX,AL
MOV DX,DA TAPORT
IN AL,DX
MOV DI,AX ;
AND AL,0F0H
JZ KEY1
MOV AX,DI ;
CMP AL,10H
JNZ KEY0
MOV SI,DA TA3
CALL LEDDISP
KEYEND: JMP KEYEND
KEY1: CALL CONVERS
MOV SI,DA TA5
CALL LEDDISPD
JMP KEY0
CONVERS:MOV BH,0H
MOV AX,DI
AND AL,0FH
MOV BL,AL
MOV AL,CS:[BX+DA TA4]
MOV Bl,DS:[0601H]
MOV BH,0H
MOV BYTE PTR DS:[BX+DA TA5],AL
INC BX
MOV DS:[0601H],BX
CMP BX,08H
JZ SA VE0
RET
SA VE0: MOV BYTE PTR DS:[0601H],0H RET
LEDDISP:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LED1: CMP BYTE PTR DS:[0600H],07H JA LED2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,CS:[BX+SI]
MOV DX,DA TAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LED1
LED2: RET
LEDDISPD:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LEDD1: CMP BYTE PTR DS:[0600H],07H JA LEDD2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,DS:[BX+SI]
MOV DX,DA TAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LEDD1
LEDD2: RET
FORMAT: MOV BX,0
MOV WORD PTR DS:[BX+0500H],5050H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],0079H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],0000H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],0000H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4006H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4040H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],076FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],3F5EH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],3F5CH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],076FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],063FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4F5BH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D66H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],077DH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6F7FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7C77H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],5E39H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7179H