唐都试验箱交通灯课程设计.docx
- 文档编号:3661579
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:20
- 大小:448.67KB
唐都试验箱交通灯课程设计.docx
《唐都试验箱交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《唐都试验箱交通灯课程设计.docx(20页珍藏版)》请在冰豆网上搜索。
唐都试验箱交通灯课程设计
微
机
原
理
与
接
口
技
术
课
程
设
计
题目:
交通灯显示系统
院(系):
计算机科学与技术学院
专业班级:
计科0803班
小组成员:
杨宇0808030316
熊健0808030312
2011年7月4日
一.设计任务
用实验室唐都实验箱模拟某十字路口交通灯显示系统
任务具体要求如下:
一:
东西与南北的交通灯定时30秒交换红绿灯一次。
二:
每次红绿灯交换之间要求黄色灯闪烁3秒。
三:
在紧急车辆(如消防车、救护车)通过时,四边街道均显示红灯,以便紧急车辆顺利通过,而其它车辆暂停行驶。
紧急车辆通过后,交通灯自动恢复原来的颜色标志。
四:
当一个方向绿灯亮后6秒无车通过则切换到另一路绿灯亮。
五:
在数码管上显示已计时多少时间。
二、方案设计
本实验要用到8253,8255,8259芯片以及数码管、发光二极管,其中用8253来计时,8255的A、B口来做输出与七段数码管和发光二极管相连,C口做数码管的片选,8259来发中断控制计时和特殊情况。
三、电路原理图/接线图
1.十字路口模拟图
2.硬件连线图:
4.流程图:
总体流程图
VIP情况:
6秒自动转换:
显示子程序
延时子程序:
五、源程序
STACKSEGMENTSTACK
DB200DUP(0)
STACKENDS
DATASEGMENT
LIVINGDB'HAVEAGOODDAY!
',0AH,0DH,00H
NIGHTDB'NOCARPASSBY6MINUTES!
',0AH,0DH,00H
VIPDB'ITISVIPTIME!
',0AH,0DH,00H
TIMEDB07H,02H,00H,03H
LEDTALDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,73H
COUNTDW0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ0
ADDAX,2000H
MOVSI,0020H
MOV[SI],AX
MOVAX,0000H
MOVSI,0022H
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,0FEH
OUT21H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ1
ADDAX,2000H
MOVSI,0024H
MOV[SI],AX
MOVAX,0000H
MOVSI,0026H
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,0FDH
OUT21H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ6
ADDAX,2000H
MOVSI,0038H
MOV[SI],AX
MOVAX,0000H
MOVSI,003AH
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,0BFH
OUT21H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ7
ADDAX,2000H
MOVSI,003CH
MOV[SI],AX
MOVAX,0000H
MOVSI,003EH
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,7FH
OUT21H,AL
F1:
MOVAH,06H
MOVBX,OFFSETLIVING
INT10H
MOVAL,80H
OUT63H,AL
MOVAL,0B6H
OUT43H,AL
MOVAX,59500
OUT42H,AL
MOVAL,AH
OUT42H,AL
MOVCOUNT,0
STI
S1:
MOVAL,0D8H
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLS1
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI+1]
CMPAL,00H
JZA5
MOVAL,[DI]
CMPAL,00H
JZA6
DECAL
MOV[DI],AL
A2:
MOVAL,[DI+2]
CMPAL,00H
JZA3
DECAL
MOV[DI+2],AL
JMPS1
A3:
MOVAL,9
MOV[DI+2],AL
MOVAL,[DI+3]
DECAL
MOV[DI+3],AL
JMPS1
A5:
MOVAL,[DI]
CMPAL,01H
JZA0
DECAL
MOV[DI],AL
JMPA2
A6:
MOVAL,9
MOV[DI],AL
MOVAL,[DI+1]
DECAL
MOV[DI+1],AL
JMPA2
A0:
MOVAL,03H
MOV[DI],AL
MOV[DI+2],AL
JMPS21
S21:
MOVAL,0DDH
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLS21
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA7
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPS22
A7:
MOVAL,3
MOV[DI+1],AL
MOVAL,0
MOV[DI],AL
MOVAL,2
MOV[DI+3],AL
MOVAL,7
MOV[DI+2],AL
JMPS3
S22:
MOVAL,0DCH
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLS22
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA7
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPS21
S3:
MOVAL,0E4H
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLS3
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI+3]
CMPAL,00H
JZA8
MOVAL,[DI+2]
CMPAL,00H
JZA9
DECAL
MOV[DI+2],AL
A11:
MOVAL,[DI]
CMPAL,00H
JZA12
DECAL
MOV[DI],AL
JMPS3
A8:
MOVAL,[DI+2]
CMPAL,01H
JZA1
DECAL
MOV[DI+2],AL
JMPA11
A9:
MOVAL,9
MOV[DI+2],AL
MOVAL,[DI+3]
DECAL
MOV[DI+3],AL
JMPA11
A12:
MOVAL,9
MOV[DI],AL
MOVAL,[DI+1]
DECAL
MOV[DI+1],AL
JMPS3
A1:
MOVAL,03H
MOV[DI+2],AL
MOV[DI],AL
JMPS41
S41:
MOVAL,0EEH
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLS41
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA10
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPS42
A10:
MOVAL,2
MOV[DI+1],AL
MOVAL,7
MOV[DI],AL
MOVAL,3
MOV[DI+3],AL
MOVAL,0
MOV[DI+2],AL
JMPS1
S42:
MOVAL,0ECH
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLS42
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI+2]
CMPAL,00H
JZA10
DECAL
MOV[DI+2],AL
MOV[DI],AL
JMPS41
IRQ0:
MOVAL,20H
OUT20H,AL
MOVDI,OFFSETTIME
MOVAL,2
MOV[DI+1],AL
MOVAL,7
MOV[DI],AL
MOVAL,3
MOV[DI+3],AL
MOVAL,0
MOV[DI+2],AL
JMPF1
IRET
IRQ1:
MOVAL,20H
OUT20H,AL
MOVAH,06H
MOVBX,OFFSETVIP
INT10H
L7:
STI
MOVDI,OFFSETTIME
MOVAL,5
MOV[DI+1],AL
MOV[DI+3],AL
MOVAL,10
MOV[DI],AL
MOV[DI+2],AL
MOVAL,0CCH
OUT61H,AL
CALLDISP
JMPL7
IRET
IRQ6:
MOVAL,20H
OUT20H,AL
MOVAH,06H
MOVBX,OFFSETNIGHT
INT10H
STI
L0:
MOVDI,OFFSETTIME
MOVAL,0
MOV[DI+1],AL
MOVAL,6
MOV[DI],AL
MOVAL,0
MOV[DI+3],AL
MOVAL,6
MOV[DI+2],AL
L1:
MOVAL,0D8H
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLL1
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZL3
DECAL
MOV[DI],AL
MOV[DI+2],AL
JMPL1
L3:
MOVDI,OFFSETTIME
MOVAL,0
MOV[DI+1],AL
MOVAL,6
MOV[DI],AL
MOVAL,0
MOV[DI+3],AL
MOVAL,6
MOV[DI+2],AL
JMPL2
L2:
MOVAL,0E4H
OUT61H,AL
CALLDISP
CMPCOUNT,20
JLL2
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZL0
DECAL
MOV[DI],AL
MOV[DI+2],AL
JMPL2
IRET
IRQ7:
INCCOUNT
MOVAL,20H
OUT20H,AL
IRET
DISPPROCNEAR
MOVDI,OFFSETTIME
MOVCL,0FEH
ST1:
MOVAL,CL
TESTAL,10H
JZED
OUT62H,AL
ROLAL,01H
MOVCL,AL
MOVAL,[DI]
MOVBX,OFFSETLEDTAL
XLAT
OUT60H,AL
CALLDELAY
INCDI
JMPST1
ED:
RET
DISPENDP
DELAYPROCNEAR
PUSHCX
MOVCX,1000
WAIT1:
LOOPWAIT1
POPCX
RET
DELAYENDP
CODEENDS
ENDSTART
六、设计结果及分析
装入程序运行后,程序进入正常状态。
先是东西干道绿灯,南北干道红灯,LED显示30秒和27秒的倒计时;其次东西干道黄灯每隔1秒亮一次,南北干道红灯一直亮,LED显示3-0秒倒计时;再次东西干道红灯,南北干道绿灯,LED显示30秒和27秒的倒计时;最后南北干道一直保持红灯次干道黄灯每隔1秒亮一次,东西干道红灯一直亮,LED显示3-0秒倒计时。
这时一个周期结束,再次跳入进入起始状态,重新循环一遍。
在上述正常状态中,可由8259A发中断控制特殊情况,具体如下:
1.遇到特殊情况,所有干道都显示红灯,LED显示‘SP'表示‘STOP',由按键K1控制。
2.每六秒红绿灯转换,可由按键K2发中断,LED显示6-0秒倒计时。
3.上述两种特殊情况结束后,可由开关K0完成复位从30秒和27秒开始进入正常状态。
七、心得体会
通过这次课程设计针对设计的内容和要求,我利用8259、8253、8255、数码管、发光二极管设计模拟了十字路口交通灯显示系统。
起初拿到题目时觉得无从下手,但是通过查阅资料和与小组成员之间的讨论,初步了解了整个实验的构架,即用8253来计时,8255的A、B口来做输出与七段数码管和发光二极管相连,C口做数码管的片选,8259来发中断控制计时和特殊情况,初步架构了解后,我们根据实验要求,一步步编程把全部功能都得以实现。
通过设计交通灯显示系统将软硬充分相结合,学会了很多有用的知识锻炼了软硬相互协调的能力。
同时也增强了全面系统考虑问题的能力,以及硬件设计能力。
可以说这次课程设计很成功,在自己学习独立思考的情况下找到了分析问题解决问题的方法。
这对以后的学习和工作具有重要的指导意义!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试验 交通灯 课程设计