微机课设循环彩灯.docx
- 文档编号:28509731
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:25
- 大小:99.17KB
微机课设循环彩灯.docx
《微机课设循环彩灯.docx》由会员分享,可在线阅读,更多相关《微机课设循环彩灯.docx(25页珍藏版)》请在冰豆网上搜索。
微机课设循环彩灯
沈阳航空航天大学
课程设计报告
课程设计名称:
微机系统综合课程设计
课程设计题目:
循环彩灯
院(系):
计算机学院
专业:
计算机科学与技术
班级:
学号:
姓名:
指导教师:
完成日期:
2014年7月4日
目录
第1章总体设计方案1
1.1课程设计的内容和要求1
1.2课程设计原理1
1.3课程设计思路1
1.3.1提出方案2
1.3.2方案论证2
第2章详细设计方案3
2.1实现方法3
2.2模块设计3
2.2.1主程序流程图3
2.2.2功能选择流程图5
2.3程序连线图6
第3章调试及结果分析7
3.1调试步骤及方法7
3.2实验结果7
参考文献8
附录(源程序)9
第1章总体设计方案
1.1课程设计的内容和要求
1、课程设计内容:
设计一个循环彩灯程序,具体内容如下:
1.用实验箱上的数码管实现3种以上不同的循环显示方式;
2.用按键可以调整循环的速度和循环方式。
二、课程设计要求:
1.认真查阅相关资料;
2.独立设计、调试并通过知道教师现场验收;
3.撰写课程设计报告。
1.2课程设计原理
根据课设题目的要求,要完成循环彩灯的显示、控制、循环方式选择等功能,在本次设计中根据芯片作用及要实现的功能决定用四个芯片,实验用到可编程键盘/显示接口芯片8279、中断控制芯片8259、可编程计数器/定时器芯片8253和可编程并行通信接口芯片8255来完成循环彩灯的模拟。
主要采用8279键盘显示接口芯片显示不同循环方式的彩灯,通过8253计数器/定时器芯片控制彩灯循环的速度。
将选择功能、停止功能、显示功能、调节速度功能等通过不同的子程序实现,然后在程序中调用相应的子程序来实现相应的功能。
1.3课程设计思路
采用汇编语言程序设计的方法结合硬件电路设计方法,利用AEDK实验箱上已有芯片在数码管上实现3种以上不同的循环显示方式并能控制循环的速度。
根据芯片作用及要实现的功能决定用四个芯片完成此次设计,8279、8259、8253、8255。
1.3.1提出方案
首先,设计8种彩灯循环方式,都以子函数存在,通过8279芯片,设置12个键位,其中1到7为7种循环方式,A键位开始键(一种循环方式),B键位暂停键,C键为结束键,D、E为调节速度键,分别调用这12个子函数。
开始运行显示登陆界面,即用数码管显示12345678;然后按下A键开始第一种循环方式,接下来可以随意的选择1到7号键,彩灯无限循环演示其余7种循环方式,按下D或E键可以调节循环速度;在显示时按下B键则数码管停留在某一种循环方式的某个状态,当按下A键时回到第一种循环方式继续循环显示。
按下C键,则清空数码管,当再次按下A键后所有的选择循环方式键、暂停键和速度调节键才能继续使用。
1.3.2方案论证
由于实验要求用实验箱上的数码管实现3种以上不同的循环显示方式,并且还要用按键可以调整循环的速度和循环方式,所以选择8279键盘显示接口芯片,通过键盘上的不同按键来实现不同循环方式的切换、调节循环速度、开始、暂停等功能,并将不同的循环方式的彩灯变化通过数码管显示出来。
为了能够控制数码管的每一段,将每种模式以8×8的模式存储,相邻行有一位不同,这样在显示时就能控制到数码管的每一段了。
并且显示彩灯循环变化时,每次将一行8位数码管显示信息输出到数码管上,输出后再取下一行输出,这样8行输出后该彩灯循环方式就显示一遍了。
为了实现彩灯循环速度的调整,因此用8253定时器/计数器芯片的方式3来控制循环速度。
为了实现不同循环方式的切换、暂停,在显示子程序中的显示循环方式的每一行后用一个程序来扫描键盘,如果有键按下,则判断是否为循环方式的切换键,若是,则依照按键的循环方式运行;若不是,则判断是否为暂停键,若是暂停键,则不停循环扫描键盘,直到有开始键按下才回到第一种循环方式循环显示。
若不是暂停键,则跳转到键盘输入子程序,等待新的循环方式输入。
第2章详细设计方案
2.1实现方法
课设要求用实验箱上的数码管实现3种以上不同的循环显示方式,并且还要用按键可以调整循环的速度和循环方式。
首先,开始运行用数码管从左至右显示12345678,整个系统的进入要按下A键,然后系统处于激活状态,彩灯开始变化,当前为第一种循环方式,接下来用户可以任意的按1到7号键,分别对应了彩灯的其余7种循环方式,当选择了一种循环方式后,彩灯就可以无限的循环变化下去,如果在此过程中,用户需要选择其它的循环方式,可以直接选择其它的按键,彩灯直接转到被选择的循环方式进行运行,并且也是无限的循环下去,在此过程中,用户可以按D或E键调整循环的速度,如果在彩灯循环过程中,用户需要暂停当前的彩灯循环,可以直接按B键,之后需要彩灯继续变化,可直接选择循环方式,彩灯又恢复到循环状态,如果在彩灯变化过程中,用户需要停止当前彩灯的变化,可以直接按C键,彩灯立刻停止循环,并处于熄灭状态,只有当用户再一次按下开始键A时,彩灯才会处于运行状态。
利用8279的键盘,输入功能键,输入控制键,并分别与各个功能的控制键对比,如果相同,则执行当前功能,如果不同,则继续比较下面的功能键,如果全部都不相同,则继续等待按键。
利用8253定时器方式3,对循环速度进行调整。
2.2模块设计
2.2.1主程序流程图
主程序用于控制各功能子程序的调用和相应的芯片及内存、寄存器、变量的初始化,协调整个程序的运行。
本课设要求用实验箱上的数码管实现3种以上不同的循环显示方式,并且还要用按键可以调整循环的速度和循环方式。
主程序流程图如图2.1所示。
图2.1主程序流程图
2.2.2功能选择流程图
图2.2功能选择流程图
功能选择模块包括8种彩灯循环方式的选择、开始、暂停、结束、调整循环速度等功能。
8种彩灯循环方式(1到7)的选择还负责传递相应循环方式的彩灯参数用于显示该循环方式,A键控制彩灯显示的开始,B键控制循环中的彩灯暂停显示,C键是将数码管清零,D或E键用于调整彩灯循环速度。
流程图如图2.2所示。
2.3程序连线图
8279是一种通用的可编程键盘显示器接口芯片,能完成键盘输入和显示控制的两大功能,其命令地址为222H,数据地址为220H。
8255A是一种可编程并行接口芯片,其命令地址为20BH,C口数据地址是20AH。
8253是一种可编程定时器/计数器芯片,其命令地址为203H,计时器0的端口地址为200H,计时器1的端口地址为201H,计时器2的端口地址为202H,8259A是可编程中断控制器,其命令地址为210H。
该系统的硬件连线图如图2.3所示。
图2.3程序连线图
第3章调试及结果分析
3.1调试步骤及方法
按电路图连接好电路以后,编译并连接程序,然后全速运行,数码管从左至右显示12345678。
按下A键,彩灯变化开始,当前为一种循环方式,接下来可以随意的选择1到7号键,彩灯无限循环演示各种循环方式;在彩灯循环过程中可以按D或E调节运行速度;当按下暂停键B之后,8个彩灯停止在当前变化的状态,如果在按下A键或者1到7号键,彩灯可继续运行;如果按下结束键C,彩灯变暗,整个系统停止,此时,1到7号键和B、D、E键无效,只有再一次按下开始键A,整个系统又一次恢复到运行状态,可通过A或1到7号键选择8种不同的循环方式进行演示。
3.2实验结果
本程序已经满足要求。
在程序运行时,一共有十二个功能键,1到7号为变化循环显示方式的选择键;A为开始键,B为暂停键,C为结束键,D、E为速度控制键,这五个键在本程序中能实现相应的功能,所以本程序满足此次课设的要求,并在实验箱上正确的实现。
参考文献
[1]龚尚福.微机原理与接口技术[M].西安:
西安电子科技大学出版社,2003
[2]沈美明,温冬蝉.IBM-PC汇编语言程序设计[M].北京:
清华大学出版社,2001
[3]郑初华.汇编语言、微机原理及接口技术[M].北京:
电子工业出版社,2006
[4]王忠民.微型计算机原理[M].西安:
西安电子科技大学出版社,2003
[5]王爱英.计算机组成与设计[M].北京:
教育出版社,2003
[6]杨素行.微型计算机系统原理及应用[M].北京:
清华大学出版社,1996
[7]张雪兰.汇编语言程序设计[M].北京:
清华大学出版社,2006
附录(源程序)
;8253:
TIM_CTLEQU203H;控制口地址一8253DE端口定义
TIMER0EQU200H;计时器0端口地址
TIMER1EQU201H;计时器1端口地址
TIMER2EQU202H;计时器2端口地址
MODE03EQU00110110B;计时器0工作在方式3
MODE13EQU01110110B;计时器1
MODE22EQU10110100B;计时器2
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE
START:
DISBUFDB00H,00H,00H,00H,00H,00H,00H,00H
FLAGDB1
CHZHDB90
SCHDW0;传送选择信息
CLI
MOVAX,8100H
MOVDS,AX
MOVBP,2
MOVDX,20BH;8255A初始化208-20F
MOVAL,80H
OUTDX,AL
MOVAL,03H;C1置1
OUTDX,AL
MOVAL,0D2H;8279A初始化220-22711010010B
MOVDX,222H
OUTDX,AL
AA:
INAL,DX;
TESTAL,80H
JNZAA
MOVAL,00H
OUTDX,AL
CALLDISP
KEY:
CALLGETKEY
;--------------------------------------------------
STA:
CMPAL,0AH;START
JNZS1
MOVDX,222H
MOVAL,90H
OUTDX,AL
MOVFLAG,0
MOVWORDPTR[SCH],2
CALLCOUNTP
JMPKEY
S1:
CMPAL,01H
JNZS2
MOVWORDPTR[SCH],66
CALLCOUNTP
JMPKEY
S2:
CMPAL,02H
JNZS3
MOVWORDPTR[SCH],130
CALLCOUNTP
JMPKEY
S3:
CMPAL,03H
JNZS4
MOVWORDPTR[SCH],194
CALLCOUNTP
JMPKEY
S4:
CMPAL,04H
JNZS5
MOVWORDPTR[SCH],258
CALLCOUNTP
JMPKEY
S5:
CMPAL,05H
JNZS6
MOVWORDPTR[SCH],322
CALLCOUNTP
JMPKEY
S6:
CMPAL,06H
JNZS7
MOVWORDPTR[SCH],386
CALLCOUNTP
JMPKEY
S7:
CMPAL,07H
JNZS8
MOVWORDPTR[SCH],450
CALLCOUNTP
JMPKEY
S8:
CMPAL,0DH
JNZS9
MOVCHZH,10
CALLCOUNTP
JMPKEY
S9:
CMPAL,0EH
JNZPAU
MOVCHZH,90
CALLCOUNTP
JMPKEY
PAU:
CMPAL,0BH;PAUSE
JNZEN
CALLPAUSEP
JMPKEY
J1:
JMPKEY
EN:
CMPAL,0CH;END
JNZJ1
MOVDX,222H
MOVAL,0D2H
OUTDX,AL
CALLENDSP
JMPKEY
;--------------------------------------------------
MOVAX,4C00H
INT21H
DISP:
LEADI,DISBUF
MOVBYTEPTR[DI+0],1
MOVBYTEPTR[DI+1],2
MOVBYTEPTR[DI+2],3
MOVBYTEPTR[DI+3],4
MOVBYTEPTR[DI+4],5
MOVBYTEPTR[DI+5],6
MOVBYTEPTR[DI+6],7
MOVBYTEPTR[DI+7],8
MOVAL,97H
CALLDISP1
MOVAL,96H
CALLDISP1
MOVAL,95H
CALLDISP1
MOVAL,94H
CALLDISP1
MOVAL,93H
CALLDISP1
MOVAL,92H
CALLDISP1
MOVAL,91H
CALLDISP1
MOVAL,90H
CALLDISP1
RET
DISP1:
PUSHBX
MOVDX,222H
OUTDX,AL
MOVAL,[DI]
LEABX,TAB
XLAT
MOVDX,220H
OUTDX,AL
INCDI
POPBX
RET
;-------------------------------
MODI:
PUSHDS;中断向量的装入
PUSHBX
XORAX,AX
MOVDS,AX
MOVBX,30H*4
MOVAX,OFFSETINTR
MOV[BX],AX
MOVAX,8100H
MOV[BX+2],AX
POPBX
POPDS
RET
COUNTP:
MOVDX,TIM_CTL;定时器0工作在方式3
MOVAL,MODE03
OUTDX,AL
MOVDX,TIMER0
MOVAL,CHZH
OUTDX,AL
MOVAL,00H
OUTDX,AL
MOVDX,TIM_CTL;定时器1工作在方式3
MOVAL,MODE13
OUTDX,AL
MOVDX,TIMER1
MOVAL,96
OUTDX,AL
MOVAL,00H
OUTDX,AL
MOVDX,TIM_CTL;定时器2工作在方式2
MOVAL,MODE22
OUTDX,AL
MOVDX,TIMER2
MOVAL,16
OUTDX,AL
MOVAL,00H
OUTDX,AL
MOVAL,13H;8259A初始化210-217
MOVDX,210H
OUTDX,AL
MOVAL,30H;ICW2
MOVDX,211H
OUTDX,AL
MOVAL,03H;ICW4
OUTDX,AL
MOVAL,0FEH;IR0
OUTDX,AL
CALLMODI;中断向量的装入
CMPFLAG,1;标志位
JZS;结束
JMPZZ;暂停
S:
CALLKEY
ZZ:
MOVAL,1
MOVDX,20BH
OUTDX,AL;C0=1
STI
MOVFLAG,0
RET
INTR:
PUSHAX;计时+变化
PUSHBX
DECBP
MOVSI,OFFSETDISBUF
MOVBP,2
MOVBX,WORDPTR[SCH]
CMPCL,1
JZC1
CMPCL,2
JZC2
CMPCL,3
JZC3
CMPCL,4
JZC4
CMPCL,5
JZC5
CMPCL,6
JZC6
CMPCL,7
JZC7
CMPCL,8
JZC8
C1:
ADDCL,1
JMPCDO
C2:
ADDCL,1
ADDBX,8
JMPCDO
C3:
ADDCL,1
ADDBX,16
JMPCDO
C4:
ADDCL,1
ADDBX,24
JMPCDO
C5:
ADDCL,1
ADDBX,32
JMPCDO
C6:
ADDCL,1
ADDBX,40
JMPCDO
C7:
ADDCL,1
ADDBX,48
JMPCDO
C8:
SUBCL,7
ADDBX,56
CDO:
MOVAL,PIC[BX+0]
MOVBYTEPTR[SI+0],AL
MOVAL,PIC[BX+1]
MOVBYTEPTR[SI+1],AL
MOVAL,PIC[BX+2]
MOVBYTEPTR[SI+2],AL
MOVAL,PIC[BX+3]
MOVBYTEPTR[SI+3],AL
MOVAL,PIC[BX+4]
MOVBYTEPTR[SI+4],AL
MOVAL,PIC[BX+5]
MOVBYTEPTR[SI+5],AL
MOVAL,PIC[BX+6]
MOVBYTEPTR[SI+6],AL
MOVAL,PIC[BX+7]
MOVBYTEPTR[SI+7],AL
JMPDISPL
DISPL:
;显示
CALLDISP2
POPBX
POPAX
IRET
DISP2:
PUSHDX
PUSHSI
MOVBX,OFFSETTAB
MOVSI,OFFSETDISBUF
ADDSI,7
MOVAL,90H
MOVDX,222H
OUTDX,AL
PUSHCX
MOVCX,8
DIS:
MOVAL,[SI]
XLAT
MOVDX,220H
OUTDX,AL
DECSI
LOOPDIS
POPCX
POPSI
POPDX
RET
GETKEY:
A:
MOVDX,222H;是否有键读入
INAL,DX
ANDAL,0FH
JZA
MOVAL,40H
OUTDX,AL
MOVDX,220H
INAL,DX
RET
PAUSEP:
;暂停
MOVDX,20BH
MOVAL,0
OUTDX,AL
RET
ENDSP:
;停止
MOVDX,20BH
MOVAL,0
OUTDX,AL
MOVFLAG,1;1/0?
RET
BB:
TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0"0-9"字符
DB77H,7CH,39H,5EH,79H,71H,80H,44H,40H,0C6H;10"A-F"16".,-+"
DB48H,09H,01H,08H,11H,28H,05H,0AH,00H,00H;20:
21=22~23_24.~25'_26~.27_'2829(REFERENCE)
DB31H,37H,3FH,73H,30H,3FH,00H,00H,00H,00H;0r31n32033P34|350
PICDB0,0
DB24,23,22,23,22,23,22,27;1
DB25,22,23,22,23,22,23,26
DB24,23,22,23,22,23,22,27
DB25,22,23,22,23,22,23,26
DB21,21,21,22,23,21,21,21
DB22,22,22,22,23,23,23,23
DB21,21,21,22,23,21,21,21
DB22,22,22,22,23,23,23,23
DB8,0,0,0,0,0,0,0;2
DB0,8,0,0,0,0,0,0
DB0,0,8,0,0,0,0,0
DB0,0,0,8,0,0,0,0
DB0,0,0,0,8,0,0,0
DB0,0,0,0,0,8,0,0
DB0,0,0,0,0,0,8,0
DB0,0,0,0,0,0,0,8
DB8,29,29,29,29,29,29,29;3
DB8,8,29,29,29,29,29,29
DB8,8,8,29,29,29,29,29
DB8,8,8,8,29,29,29,29
DB8,8,8,8,8,29,29,29
DB8,8,8,8,8,8,29,29
DB8,8,8,8,8,8,8,29
DB8,8,8,8,8,8,8,8
DB29,29,29,29,29,29,29,35;4
DB29,29,29,29,29,29,35,35
DB29,29,29,29,29,35,35,35
DB29,29,29,29,35,35,35,35
DB29,29,29,35,35,35,35,35
DB29,29,35,35,35,35,35,35
DB29,35,35,35,35,35,35,35
DB35,35,35,35,35,35,35,35
DB32,29,29,29,29,29,29,35;5
DB29,32,29,29,29,29,35,29
DB29,29,32,29,29,35,29,29
DB29,29,29,32,35,29,29,29
DB29,29,29,35,32,29,29,29
DB29,29,35,29,29,32,29,29
DB29,35,29,29,29,29,32,29
DB35,29,29,29,29,29,29,32
DB32,29,29,29,29,29,29,35;6
DB32,32,29,29,29,29,35,35
DB32,32,32,29,29,35,35,35
DB32,32,32,32,35,35,35,35
DB35,35,35,35,32,32,32,32
DB35,35,35,29,29
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 循环 彩灯