- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
word
word
PAGE/NUMPAGES
word
微机原理与接口技术课程设计
题目:交通灯显示系统
学院:计算机科学与技术学院
专业班级:计算机科学与技术0904班
设计任务
利用唐都实验箱,模拟十字路口交通灯显示系统。
具体要求如下:
一:东西与南北的交通灯定时30秒交换红绿灯一次。
二:每次红绿灯交换之间要求黄色灯闪烁3秒。
三:在紧急车辆〔如消防车、救护车〕通过时,四边街道均显示红灯,以便紧急车辆顺利通过,而其它车辆暂停行驶。紧急车辆通过后,交通灯自动恢复原来的颜色标志。
四:当一个方向绿灯亮后6秒无车通过如此切换到另一路绿灯亮。
五:在数码管上显示已计时多少时间。
二.方案设计
本实验用到的芯片有8253、8255A、8259A,其中8253利用计数器2来计时,8255A的A、B口作输出与七段显示数码管和发光二极管连接,8259A用来中断控制与紧急情况。
三.电路原理图、接线图
8253
8253
GATE2
CLK2
OUT2
+5V
OPCLK
8259A
IRQ7
IRQ6
IRQ5
IRQ4
IRQ3
IRQ2
IRQ1
IRQ0
K0
KK2+
KK1+
ABCDEFGDP
PA0PA7PPPPa7PA7
R1R2Y1Y2G1G2
PB7PB6PB54PB32PB1PB0
X4X3X2X1
PC0PC1PC2PC3
入口四.程序流程图延时子程序:
入口
保护存放器
保护存放器
把CX赋值为1000
把CX赋值为1000
CX=?
CX=?
YN
CX减1
CX减1
恢复存放器
恢复存放器
出口
出口
开始
开始
填中断向量表
填中断向量表
8253、8255初始化
8253、8255初始化
FLAG=0?
FLAG=0?
N
东西方向绿灯,南北方向红灯,LED显示30和27
东西方向绿灯,南北方向红灯,LED显示30和27
东西方向绿灯,南北方向黄灯,LED显示3和3
东西方向绿灯,南北方向黄灯,LED显示3和3
东西方向红灯,南北方向绿灯,LED显示27和30
东西方向红灯,南北方向绿灯,LED显示27和30
东西方向黄灯,南北方向绿灯,LED显示3和3
东西方向黄灯,南北方向绿灯,LED显示3和3
LED显示到24〔6秒内无车通过〕?
LED显示到24
〔6秒内无车通过〕?
N
Y
东西方向红灯,南北方向绿灯,LED显示27和30,同时黄灯闪烁3秒
东西方向红灯,南北方向绿灯,LED显示27和30,同时黄灯闪烁3秒
调用显示子程序
调用显示子程序
调用延时子程序
调用延时子程序
完毕
完毕
五.源代码
STACKSEGMENTSTACK
DB64DUP(?)
STACKENDS
DATASEGMENT
MSG1DBSTART,0AH,0DH,00H
MSG2DBSTOP,0AH,0DH,00H
MSG3DBNOCAR,0AH,0DH,00H
MSG4DBRESTART,0AH,0DH,00H
TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
LEDDB4DUP(0)
COUNTDB0
FLAG1DB1
FLAG2DB0
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACK
RUNMACROADDR;宏调用,数码管两位显示
LEADI,ADDR
MOVAX,[DI]
AAD;除法非压缩指令(AH)-(AH)*10+(AL),(AH)-0
DECAL
CMPAL,0
AAM;乘法非压缩指令,将(AL)/0AH,(AH)-商,(AL)-余数
MOV[DI],AX
ENDM
INFMACROMSG
MOVAH,06H
LEABX,MSG
INT10H
ENDM
START:MOVAX,DATA
MOVDS,AX
PUSHDS
MOVAX,0000H
MOVDS,AX
LEAAX,IRQ7;取中断程序入口地址
ADDAX,2000H;IP=2000H
MOVSI,003CH;中断7的中断向量
MOV[SI],AX;填偏移量矢量
MOVAX,0000H;段地址CS=0000
MOVSI,003EH
MOV[SI],AX;填段地址矢量
LEAAX,IRQ6
A
文档评论(0)