实验十五 交通灯控制
一 、 实验目的
1.学习外部中断技术的基本使用方法。
2.进一步掌握中断处理程序的编程方法。
3.学习顺序控制的编程方法。
二 、 实验内容
本实验模拟交通信号灯控制,一般情况下正常显示时,初始状态为四个路口的红灯全亮数秒。之后开始模拟交通灯。各路口的时间为20s( 当前路口绿灯亮) -7s(当前路口绿灯闪烁)-4s (当前路口黄灯亮 )-2s(当前路口红灯亮)-0s( 切换路口 )。此期间另一路口红灯一直亮。当有急救车到达时,两个路口的红灯都亮,以便让急救车通过。设急救车通过路口时间为10秒,急救车通过后,交通恢复正常,本实验用单次脉冲触发外部中断INT1,表示有急救车通过。用单片机的I/O 端口P1口控制交通信号灯。三 、 实验说明
中断服务程序的关键是:
1、进入中断状态时,应先考虑保护现场,并在退出中断之前恢复进入时的状态。
2、电路说明:L0,L1,L2 分别表示南北方向红灯,绿灯,黄灯;L3,L4,L5 分别表示东西方向红灯,绿灯,黄灯。急救车通过时使用单脉冲按钮的正脉冲。(注意:不同的实验箱灯的颜色可能不一致!当灯的颜色不一致时需要重新考虑硬件的接线和软件的编程!)四 、 实验线路实验箱如下图:
将CS0与KEY/LED CS相连接。P1.0-P1.5连接L0-L5。单脉冲按键的正脉冲输出端与P3.3连接。实验箱数码管内部电路如下图:
五 、 实验程序及流程图
主程序流程图: