实验五有急救车的交通灯控制实验
一、实验目的:
1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
3.学习模拟交通灯控制的实现方法。
二、实验设备:
微机、KEIL
2、Proteus 7.10
三、实验内容:
在完成交通灯亮灭规律的基础上增加允许急救车优先通过的要求。当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假定急救车通过路口的时间为5秒,急救车通过后,交通灯恢复中断前的状态。本实验以单脉冲(下降延有效)为中断申请,表示有急救车通过。
四、实验原理:
1.交通灯的燃灭规律:
要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到12个发光二极管,即红、黄、绿各4个。不妨将L
1、L2(红)、L
3、L4(黄)、L
5、L6(绿)做为东西方向的指示灯,将L
7、L8(红)、L
9、L10(黄)、L
11、L12(绿)做为南北方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后(约10秒),东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后(约3秒),东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。
2.中断处理
本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意:一是主程序中的延时程序和中断处理程序中的延时程序最好不要混用,最好主程序延时用R
5、R
6、R7,中断延时用R
2、R3、R4。第二,主程序中每执行一步经P1的端口输出数据的操作时,应先将所输出的数据保存到一个单元中。因为进入中断程序后也要执行往P1端口输出数据的操作,中断返回时如果没有恢复中断前P1端口锁存器的数据,则显示往往出错,回不到中断前的状态。
五、实验步骤:
1.设计电路:P1接发光二极管L1~L12,单脉冲输出端接INT0。
2.编写程序实现有急救车的交通灯控制。
六、实验报告要求:
1.在实验报告中请将实验中所设计电路图、编写的实验程序及程序框图附上。