微机原理与接口技术
课 程 设 计
题目:实现特定功能的键盘及
LED
显示
1、 课程设计目的
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知
识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、
动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢
于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一
个重要教学环节。
2、 实验设计内容:
本次实验的主要内容是在了解键盘及 LED 显示接口原理的基础上,设计
出相应的实验电路,以实现特定功能的键盘及 LED 显示。需要完成以下
功能:
1. 按 1 键显示年;
2. 按 2 键显示月日;
3. 按 3 键显示 GOOD ;
4. 按 4 键数码管由左到右字符“0”循环显示。
5.自行设计特效显示功能。
实验主要涉及可编程的键盘、显示接口芯片 8279 和可编程中断控制器
8259A。功能 1 至 4 是在可编程的键盘、显示接口芯片 8279 的基础上通
过程序实现的。在功能 5 中,加入了中断,通过边沿触发产生中断,执
行中断服务子程序,以此来时现功能 5 的特效(在数码管上从左、从右
依次显示 0—9 的数字)。
3、 试验设计原理及方案:(含电路原理图、硬件连接示意图、系统功能框
图、程序流程图等)
3.1 电路原理图
3.2 系统功能框图
3.3 程序流程图
3.4 各功能实现方案
3.4.1 功能一 按 1 键显示年
当可编程的键盘、显示接口芯片 8279 扫描寄存器 AL=02H 时,说明按键
为 1 号键。关于显示年份,首先定义一个显示缓冲区,用于存储表示年
份的数字。然后依次读取其值,经过换码,再通过 8279 以左端入口方式
显示与数码管上。程序段如下:
MOV DX,D8279 ;键值输入
IN AL,DX
CMP AL,02H
JZ YEAR
YEAR: MOV CX,04H
AA: MOV DX,D8279 ;其余四位,显示 0
MOV AL,3FH
OUT DX,AL
LOOP AA
MOV BX,OFFSET TAB
MOV SI,OFFSET DISPBUFF1+3 ;设置要显示的初始位
MOV CX,4
DISP1: MOV AL,[SI]
XLAT ;通过换码,再显示
MOV DX,D8279
OUT DX,AL
DEC SI
LOOP DISP1 ;依次读取数值 9,0,0,2
。。。
TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DISPBUFF1 DB 2,0,0,9 ;定义显示缓冲区
3.4.2 功能二 按 2 键显示月日
方法同功能一,当 8279 扫描寄存器 AL=0AH 时,说明按键为 2 号键。显
示月日方法和显示年份一样,首先定义一个显示缓冲区,用于存储表示
月日的数字。然后依次读取其值,经过换码,再通过 8279 以左端入口方
式显示与数码管上。程序段如下:
CMP AL,0AH ;键值输入
JZ MONTH
MONTH:MOV CX,04H
BB: MOV DX,D8279 ;其余四位,显示 0
MOV AL,3FH
OUT DX,AL
LOOP BB
MOV BX,OFFSET TAB
MOV SI,OFFSET DISPBUFF2+3 ;设置要显示的初始位
MOV CX,4
DISP2: MOV AL,[SI]
XLAT ;通过换码,再显示
MOV DX,D8279
OUT DX,AL
DEC SI ;依次读取数值 1,3,8,0
LOOP DISP2
。。。。。
TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DISPBUFF2 DB 0,8,3,1 ;定义显示缓冲区
3.4.3 功能三 按 3 键显示 GOOD
将 G,O,O,D 分别以七段代码 6FH,3FH,3FH,5EH 代替,由于 8279 为左端
入口方式,所以应依次将 5EH,3FH,3FH,6FH 送与 8279 数据端,以
显示 GOOD 字样。然后清空 LED 数码管的显示,再将以上代码送与
8279,并通过延时,让 GOOD 字样以闪烁方式显示与数码管。程序如下:
GOOD: MOV BL,0AH ;闪烁次数 10 次
GOD: MOV CX,08H ;清空 LED 数码管的显示
CLEAR:MOV DX,D8279
MOV AL,00H
OUT DX,AL
LOOP CLEAR
CALL DELAY ;延时
MOV CX,04H
CC: MOV DX,D8279 其余位显示 0
MOV AL,3FH
OUT DX,AL
LOOP CC
MOV DX,D8279 ;显示 D
MOV AL,5EH
OUT DX,AL
MOV DX,D8279 ;显示 O
MOV AL,3FH
OUT DX,AL
MOV DX,D8279 ;显示 O
MOV AL,3FH
OUT DX,AL
MOV DX,D8279 ;显示 G
MOV AL,6FH
OUT DX,AL
CALL DELAY
DEC BL
CMP BL,00H ;若已闪烁 10 次,则不再闪烁
JNZ GOD
3.4.4 功能四 按 4 键数码管由左到右字符“0”循环显示
当 8279 扫描寄存器 AL=01H 时,说明按键为 4 号键。
ZERO PROC NEAR
MOV DX,C8279 ;修改 8279 配置(右边输入,八位显示,外
部译码)
MOV AL,010H
OUT DX,AL
MOV CX,08H ;清空 LED 数码管的显示
CLEAR1:MOV DX,D8279
MOV AL,00H
OUT DX,AL
LOOP CLEAR1
MOV CX,08H ;大循环计数
MOV BL,01H
C_DZERO:
PUSH CX