实现特定功能的键盘及LED显示课程设计
![实现特定功能的键盘及LED显示课程设计](https://img.360docs.net/img73/1dj57okwx73kmwqfg0gii0y95s3ebpyy-31.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术课程设计
题目:实现特定功能的键盘及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: M OV 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
MOV BH,01H