8279A可编程键盘显示接口

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

8279A可编程键盘显示接口实验内容

一、实验目的

学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法。

二、实验原理

如图所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。键值转换成显示代码供显示。根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表。

三、实验程序清单

见随机光盘,文件名为H8279.ASM

四、实验步骤

运行实验程序

在DVCC-8086JHN上显示"8279-1"

在系统键盘上输入数字键,在系统显示器上显示相应数字,按EXEC键显示"8279 good",按其它键不予理睬。

源程序:

CODE SEGMENT

ASSUME CS:CODE

START: JMP KEYLED

CONTPORT EQU 00DFH

DA TAPORT EQU 00DEH

DA TA1 EQU 0500H

DA TA2 EQU 0508H

DA TA3 EQU 0510H

DA TA4 EQU 0518H

DA TA5 EQU 0580H

KEYLED: CALL FORMAT

CLD

MOV DI,DATA5

MOV CX,08H

XOR AX,AX

REP STOSB

MOV SI,DATA2

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,DATAPORT

IN AL,DX

MOV DI,AX ;

AND AL,0F0H

JZ KEY1

MOV AX,DI ;

CMP AL,10H

JNZ KEY0

MOV SI,DATA3

CALL LEDDISP

KEYEND: JMP KEYEND

KEY1: CALL CONVERS

MOV SI,DATA5

CALL LEDDISPD

JMP KEY0

CONVERS:MOV BH,0H

MOV AX,DI

AND AL,0FH

MOV BL,AL

MOV AL,CS:[BX+DATA4]

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,DATAPORT

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,DATAPORT

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

相关文档
最新文档