微机原理十字路口交通灯实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;填IRQ7中断向量
PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ7
ADD AX,2000H
MOV SI,003CH
MOV [SI],AX
MOV AX,0000H
MOV SI,003EH
MOV [SI],AX
CLI
POP DS
IN AL,21H
AND AL,7FH;清除对IRQ7的中断
显示子程序DISP PROC
Y
N
延时子程序DELAY PROC
Y
N
三.实现程序
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
TIME DB 00H,06H
LEDTALDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,73H,38H
本课程设计题目的主要内容是模拟十字路口交通灯(红、黄、绿三色)的显示控制。
设计要求为:
1.主干道计时60秒,次干道计时45秒,时间到则切换红绿灯;
2.红绿灯不变期间,在七段数码管上显示每秒倒计时;
3.计时到最后5秒时,两个方向的黄灯同时闪烁直至计时到0。
四、应收集的资料及主要参考文献:
1.《微型计算机基本原理与接口技术》 陈红卫,科学出版社 2003.2
8255A的两个端口在本次实验中均有用处,A口为方式0用作输出,与七段数码管LED连接,用于向七段数码管输入数据的。B口为方式0用作输出,与八个发光二极管连接,用于向发光二极管输入数据。C口低四位在本实验中做输出与LED数码管相连,高四位没有用到,但在初始化中将C口均初始化为输出。
8253A芯片在本实验中用了计数器2工作在方式3下,计数初值赋为59500,工作箱的时钟频率为1.19MHz,即计时50ms,它的OUT2接到8259A的IRQ7上,让IRQ7每隔50ms发一次中断,这样就可以通过控制发中断的次数来得到想要的时间。
ADD AX,2000H
MOV SI,0028H
MOV [SI],AX
MOV AX,0000H
MOV SI,002AH
MOV [SI],AX
CLI
POP DS
IN AL,21H
AND AL,0FBH;清除对IRQ2的中断
OUT 21H,AL
;填IRQ5中断向量
PUSH DS
MOV AX,0000H
MOV DS,AX
一、课程设计(论文)题目
十字路口交通灯模拟
二、本次课程设计(论文)应达到的目的
通过本次课程设计,使学生不仅更加深刻领会微型计算机从硬件组成到软件编程的基本原理和知识,而且更要学会应用,务必做到理论和实践相结合,掌握硬件分析、软件设计的基本思想和方法,提高分析问题、解决问题和工程实践的能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
DEC AL
MOV [DI+1],AL
JMP FANS1
A0: MOV AL,05H
MOV [DI],AL
JMP FANS21
;FANS21和FANS22表示次干道红灯,主干道隔一秒黄灯亮一次。LED显示5-1秒,再由1秒跳为45秒
FANS21:MOV AL,9DH ;FANS21表示主干道黄灯,次干道红灯
MOV [DI],AL
JMP FANS3
FANS22:MOV AL,0BFH ;FANS22表示次干道红灯,主干道不亮灯
OUT 61H,AL
CALL DISP
CMP COUNT,20
JL FANS22
MOV COUNT,0
MOV DI,OFFSET TIME
MOV AL,[DI]
CMP AL,01H
OUT 21H,AL
;NORMAL表示正常情况下的倒计时
NORMAL:MOV AL,80H ;8255A初始化,A,B口方式0输出,C口输出
OUT 63H,AL
MOV AL,0B6H ;8253A初始化,计数器2方式3
OUT 43H,AL
MOV AX,59500
OUT 42H,AL
MOV AL,AH
二.方案设计-----------------------------------------5
1.硬件连线图-------------------------------------6
2.软件流程图-------------------------------------7
三.实现程序-----------------------------------------13
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ6
ADD AX,2000H
MOV SI,0038H
MOV [SI],AX
MOV AX,0000H
MOV SI,003AH
MOV [SI],AX
CLI
POP DS
IN AL,21H
AND AL,0BFH;清除对IRQ6的中断
OUT 21H,AL
(3)上述两种特殊情况结束后,可由开关K0完成复位从45秒开始进入正常状态;也可由开关K1完成复位从60秒开始进入正常状态。
摘要---------------------------------------------3
一.题目要求及设计方案-------------------------------5
IRQ0:主干道一直保持通行(绿灯),次干道保持禁止通行(红灯)状态;LED显示'SP'表示'STOP'
IRQ2:黄灯每隔0.5秒亮一次;LED显示'LS'表示'LOW SPEED'
N
Y
YN
IRQ5:完成复位从45秒开始进入NORMAL状态
IRQ6:完成复位从60秒开始进入NORMAL状态
IRQ7:每隔50ms发一次中断,让COUNT值加1
2.方案分析:
本实验用到了8253A,8255A,8259A芯片,用8253A来计时,8255A的A、B口来做输出与七段数码管和发光二极管相连,8255A来发中断控制计时和特殊情况。
二.方案设计
1. 硬件连线图:
+5V
1.19MHz

K1
统K0
kk2-
kk1-

线
2.软件流程图
主程序流程图
子程序流程图:
八.参考资料-----------------------------------------24
一.题目要求及方案分析
1.题目要求:
设计题目的主要内容是模拟十字路口交通灯(红、黄、绿三色)的显示控制。并要求主干道计时60秒,次干道计时45秒,时间到则切换红绿灯;红绿灯不变期间,在七段数码管上显示每秒倒计时;计时到最后5秒时,两个方向的黄灯同时闪烁直至计时到0。
JZ A7
DEC AL
MOV [DI],AL
JMP FANS21
FANS3:MOV AL,7BH ;FANS3表示主干道红灯,次干道绿灯。LED显示45-5秒
OUT 61H,AL
CALL DISP
CMP COUNT,20
JL FANS3
MOV COUNT,0
MOV DI,OFFSET TIME
MOV AL,[DI+1]
8259A芯片在本实验中被用到了5个中断,作为计时或在特殊情况下的特殊功能。IRQ0是在遇到特殊情况,主干道一直保持通行(绿灯),次干道保持禁止通行(红灯)状态;LED显示‘SP'表示‘STOP'由按键KK1-控制。IRQ2是在午夜车流量较少时,黄灯每隔0.5秒亮一次;LED显示‘LS'表示'LOW SPEED'由按键KK2-控制。IRQ5是完成复位从45秒(即次干道通行)开始进入正常状态的由开关K0控制。IRQ6是完成复位从60秒(即主干道通行)开始进入正常状态的由开关K1控制。IRQ7是用于控制计时的。
OUT 61H,AL
CALL DISP
CMP COUNT,20
JL FANS21
MOV COUNT,0
MOV DI,OFFSET TIME
MOV AL,[DI]
CMP AL,01H
JZ A7
DEC AL
MOV [DI],AL
JMP FANS22
A7: MOV AL,4
MOV [DI+1],AL
MOV AL,5
MOV SI,0020H
MOV [SI],AX
MOV AX,0000H
MOV SI,0022H
MOV [SI],AX
CLI
POP DS
IN AL,21H
AND AL,0FEH;清除对IRQ0的中断
OUT 21H,AL
;填IR2中断向量
PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ2
此交通等模拟系统具有以下功能:
1.装入程序运行后,先是主干道绿灯,次干道红灯,LED显示60-5秒的倒计时;其次主干道黄灯闪,次干道红灯仍然亮,LED显示5-0秒倒计时;再次主干道红灯,次干道绿灯,LED显示45-5秒倒计时;最后主干道仍然红灯次干道黄灯闪,LED显示5-0秒。这时一个周期结束,再次跳入进入起始状态,再次循环一遍。
2.《8086实验指导书》 张维琪、张晓群,信控学院实验中心
3.其他与本课程设计题目相关的资料
五、审核批准意见
教研室主任(签字)
摘 要
本设计以TDN86/51实验箱为载体,结合中断控制器8259A、并行接口8255、中断定时器8253、七段数码显示管LED及八个发光二极管的功能,用汇编语言编程实现了十字路口交通灯模拟的实验。
OUT 42H,AL
MOV COUNT,0
STI
FANS1:MOV AL,0B7H ;FANS1表示主干道绿灯,次干道红灯。LED显示60-5秒
OUT 61H,AL
CALL DISP
CMP COUNT,20
JL FANS1
MOV COUNT,0
MOV DI,OFFSET TIME
MOV AL,[DI+1]
OUT 61H,AL
CALL DISP
CMP COUNT,20
JL FANS41
MOV COUNT,0
MOV DI,OFFSET TIME
MOV AL,[DI]
CMP AL,01H
JZ A10
CMP AL,00H
JZ A8
MOV AL,[DI]
CMP AL,00H
JZ A9
DEC AL
MOV [DI],AL
JMP FANS3
A8: MOV AL,[DI]
CMP AL,06H
JZ A1
DEC AL
MOV [DI],AL
JMP FANS3
A9: MOV AL,9
MOV [DI],AL
MOV AL,[DI+1]
四.设计结果及分析-----------------------------------22
五.设计过程中出现的问题及解决方案-------------------23
六.心得体会-----------------------------------------23
七.致谢---------------------------------------------24
2.在上述正常状态中,特殊情况由8259A发中断。
(1)遇到特殊情况,主干道一直保持通行(绿灯),次干道保持禁止通行(红灯)状态;LED显示‘SP'表示‘STOP',由按键KK1-控制。
(2)在午夜车流量较少时,可由按键KK2-发中断,黄灯每隔0.5秒闪一次,LED显示LS'表示'LOW SPEED'。
DEC AL
MOV [DI+1],AL
JMP FANS3
A1: MOV AL,05H
MOV [DI],AL
JMP FANS41
;FANS41和FANS42表示主干道红灯,次干道隔一秒黄灯亮一次。LED显示5-1秒,再由1秒跳为60秒
FANS41:MOV AL,6wk.baidu.comH ;FANS41表示主干道红灯,次干道黄灯
MOV AX,OFFSET IRQ5
ADD AX,2000H
MOV SI,0034H
MOV [SI],AX
MOV AX,0000H
MOV SI,0036H
MOV [SI],AX
CLI
POP DS
IN AL,21H
AND AL,0DFH;清除对IRQ5的中断
OUT 21H,AL
;填IRQ6中断向量
PUSH DS
COUNT DW 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
;填IR0中断向量
PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,2000H
CMP AL,00H
JZ A5
MOV AL,[DI]
CMP AL,00H
JZ A6
DEC AL
MOV [DI],AL
JMP FANS1
A5: MOV AL,[DI]
CMP AL,06H
JZ A0
DEC AL
MOV [DI],AL
JMP FANS1
A6: MOV AL,9
MOV [DI],AL
MOV AL,[DI+1]
相关文档
最新文档