实现特定功能的键盘及LED显示课程设计.docx

上传人:b****4 文档编号:1453587 上传时间:2022-10-22 格式:DOCX 页数:15 大小:19.38KB
下载 相关 举报
实现特定功能的键盘及LED显示课程设计.docx_第1页
第1页 / 共15页
实现特定功能的键盘及LED显示课程设计.docx_第2页
第2页 / 共15页
实现特定功能的键盘及LED显示课程设计.docx_第3页
第3页 / 共15页
实现特定功能的键盘及LED显示课程设计.docx_第4页
第4页 / 共15页
实现特定功能的键盘及LED显示课程设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实现特定功能的键盘及LED显示课程设计.docx

《实现特定功能的键盘及LED显示课程设计.docx》由会员分享,可在线阅读,更多相关《实现特定功能的键盘及LED显示课程设计.docx(15页珍藏版)》请在冰豆网上搜索。

实现特定功能的键盘及LED显示课程设计.docx

实现特定功能的键盘及LED显示课程设计

微机原理与接口技术

课程设计

 

题目:

实现特定功能的键盘及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以左端入口方式显示与数码管上。

程序段如下:

MOVDX,D8279;键值输入

INAL,DX

CMPAL,02H

JZYEAR

YEAR:

MOVCX,04H

AA:

MOVDX,D8279;其余四位,显示0

MOVAL,3FH

OUTDX,AL

LOOPAA

MOVBX,OFFSETTAB

MOVSI,OFFSETDISPBUFF1+3;设置要显示的初始位

MOVCX,4

DISP1:

MOVAL,[SI]

XLAT;通过换码,再显示

MOVDX,D8279

OUTDX,AL

DECSI

LOOPDISP1;依次读取数值9,0,0,2

TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DISPBUFF1DB2,0,0,9;定义显示缓冲区

3.4.2功能二按2键显示月日

方法同功能一,当8279扫描寄存器AL=0AH时,说明按键为2号键。

显示月日方法和显示年份一样,首先定义一个显示缓冲区,用于存储表示月日的数字。

然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。

程序段如下:

CMPAL,0AH;键值输入

JZMONTH

MONTH:

MOVCX,04H

BB:

MOVDX,D8279;其余四位,显示0

MOVAL,3FH

OUTDX,AL

LOOPBB

MOVBX,OFFSETTAB

MOVSI,OFFSETDISPBUFF2+3;设置要显示的初始位

MOVCX,4

DISP2:

MOVAL,[SI]

XLAT;通过换码,再显示

MOVDX,D8279

OUTDX,AL

DECSI;依次读取数值1,3,8,0

LOOPDISP2

TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DISPBUFF2DB0,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:

MOVBL,0AH;闪烁次数10次

GOD:

MOVCX,08H;清空LED数码管的显示

CLEAR:

MOVDX,D8279

MOVAL,00H

OUTDX,AL

LOOPCLEAR

CALLDELAY;延时

MOVCX,04H

CC:

MOVDX,D8279其余位显示0

MOVAL,3FH

OUTDX,AL

LOOPCC

MOVDX,D8279;显示D

MOVAL,5EH

OUTDX,AL

MOVDX,D8279;显示O

MOVAL,3FH

OUTDX,AL

MOVDX,D8279;显示O

MOVAL,3FH

OUTDX,AL

MOVDX,D8279;显示G

MOVAL,6FH

OUTDX,AL

CALLDELAY

DECBL

CMPBL,00H;若已闪烁10次,则不再闪烁

JNZGOD

3.4.4功能四按4键数码管由左到右字符“0”循环显示

当8279扫描寄存器AL=01H时,说明按键为4号键。

ZEROPROCNEAR

MOVDX,C8279;修改8279配置(右边输入,八位显示,外部译码)

MOVAL,010H

OUTDX,AL

MOVCX,08H;清空LED数码管的显示

CLEAR1:

MOVDX,D8279

MOVAL,00H

OUTDX,AL

LOOPCLEAR1

MOVCX,08H;大循环计数

MOVBL,01H

C_DZERO:

PUSHCX

MOVBH,01H

MOVCX,08H;小循环计数

DZERO:

MOVAL,00H

CMPBL,BH;相等则显示0,否则不显示

JNENOAL_ZERO

MOVAL,3FH

NOAL_ZERO:

MOVDX,D8279

OUTDX,AL

CALLDELAY;延时

ROLBH,1

LOOPDZERO

POPCX

ROLBL,1

LOOPC_DZERO

MOVDX,C8279;改回8279配置(左边输入,八位显示,外部译码)

MOVAL,0H

OUTDX,AL

RET

ZEROENDP

3.4.5功能五自行设计特效显示功能

此功能的实现引入了中断技术,通过边沿触发中断,执行中断服务子程序,进而达到效果。

(1)中断向量表的设置计8259的设置:

CLI;设置中断向量

MOVAX,0;设置中断向量IR0用于键盘中断

MOVES,AX

LEAAX,DATE;设置中断类型号08H

MOVES:

[4*08],AX

MOVAX,CS

MOVES:

[4*08+2],AX

MOVDX,INT00;8259配置

MOVAL,13H;设置ICW1,边沿触发,单片8259A,需ICW4

OUTDX,AL

NOP

MOVDX,INT01

MOVAL,08H;设置ICW2,中断类型号的高5位为00001

OUTDX,AL

MOVAL,01H;设置ICW4,非AEOI方式,完全嵌套方式

OUTDX,AL

MOVDX,INT01

INAL,DX

ANDAL,0H;设置OCW1,开放IR0

OUTDX,AL

STI

(2)中断服务子程序:

DATEPROCNEAR

PUSHAX

PUSHBX

PUSHCX

PUSHDX

MOVCX,08H

CLEAR2:

MOVDX,D8279;清空LED数码管的显示

MOVAL,00H

OUTDX,AL

LOOPCLEAR2

MOVAH,00H

DIS:

MOVCX,08H

DISP3:

MOVAL,AH

leabx,TAB;依次显示断码表中数字

xlat

movdx,D8279

outdx,al

CALLDELAY

LOOPDISP3

INCAH

TESTAH,01H;根据AH的奇偶性选择输入方式

JZX1

MOVAL,010H

MOVDX,C8279;修改8279配置(右边输入,八位显示,外部译码)

OUTDX,AL

CMPAH,09H

JBEDIS

X1:

MOVAL,00H

MOVDX,C8279;修改8279配置(右边输入,八位显示,外部译码)

OUTDX,AL

CMPAH,09H

JBEDIS

MOVDX,INT00;中断结束命令

MOVAL,20H

OUTDX,AL

POPDX

POPCX

POPBX

POPAX

IRET

DATEendp

4、汇编程序源代码

C8279EQU222H

D8279EQU220H

INT00EQU200H;8259地址

INT01EQU201H

MODEEQU00H;左边输入,八位显示,外部译码

FEQEQU38H;扫描频率

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

START:

PUSHCS

POPDS

MOVDX,C8279;初始化8279

MOVAL,MODE

OUTDX,AL

MOVAL,FEQ

OUTDX,AL

CLI;设置中断向量

MOVAX,0;设置中断向量IR0用于键盘中断

MOVES,AX

LEAAX,DATE;设置中断类型号08H

MOVES:

[4*08],AX

MOVAX,CS

MOVES:

[4*08+2],AX

MOVDX,INT00;8259配置

MOVAL,13H;设置ICW1,边沿触发,单片8259A,需ICW4

OUTDX,AL

NOP

MOVDX,INT01

MOVAL,08H;设置ICW2,中断类型号的高5位为00001

OUTDX,AL

MOVAL,01H;设置ICW4,非AEOI方式,完全嵌套方式

OUTDX,AL

MOVDX,INT01

INAL,DX

ANDAL,0H;设置OCW1,开放IR0

OUTDX,AL

STI

;清FIFORAM

BEGIN:

MOVDX,C8279

MOVAL,0C2H

OUTDX,AL

WAIT1:

INAL,DX

MOVBL,AL

ANDAL,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1