微机原理实验报告
实验六:8279A可编程键盘显示接口实验
学 院 : 物理与机电工程学院 专 业 : 电子科学与技术 班 级 : 2013级2班 学 号 : 201310530221 姓 名 : 熊 杰 指导老师 : 柳 妮
实验六:8279A可编程键盘显示接口实验
1. 实验目的
学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法。
2. 试验设备及主要器件原理简介
8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED自动扫描, 使显示缓冲器的内容在LED上显示出来。
实验原理如图5-20所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。键值转换成显示代码供显示。根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表5-6。
5---20 3. 实验内容及程序
实验内容:实验原理如图5-20所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。键值转换成显示代码供显示。根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表5-6。
实验程序
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,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+DATA5],AL INC BX
MOV DS:[0601H],BX CMP BX,08H JZ SAVE0 RET
SAVE0: 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