交通灯控制系统
一、设计要求
1.东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从60减为0。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;
4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。
二、设计目的
⒈ 了解交通灯管理的基本工作原理
⒉ 熟悉8259A中断控制器的工作原理和应用编程 ⒊ 熟悉8255A并行接口的各种工作方式和应用
⒋ 熟悉8254计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法
⒌ 掌握多位LED显示问题的解决
三、程序设计流程图
主程序流程图,如下图所示。
装入计数初值
页码:1
四、总体设计和电路图
Ⅰ.芯片选择及端口选择
1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。
2. 用实验系统8254的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。实验系统8254的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;定时采用软硬件相结合的方式实现。
⒊ 用实验系统的发光二极管模拟红绿灯。 注:8259A的端口地址为:218H、219H
8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端 口-203H
页码:2
8254的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控 制寄存器0-20bH。 Ⅱ.设计电路图
图2-1 交通灯实时控制系统8255原理图
图 2-2 中断服务原理图
页码:3
图2-3 中断服务电路接线图
图2-4电路连线图
Ⅲ..交通灯程序
本次设计中,选用8254的计数器0定时向实验系统主片8259A的IRQ0请求中断。设置8254的计数器0每10ms请求一次中断,工作于模式3;8255的A端口控制交通灯;
初始化程序: DATA SEGMENT
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H D1 EQU 10H
D2 EQU 200H ;8255A端口A EA EQU 200H ;8259端口地址 EE EQU 203H
CONTROL EQU 20bH ;8254端口地址 COUNT0 EQU 208H COUNT1 EQU 209H COUNT2 EQU 20aH Z8259 EQU 222H D8259 EQU 220H
页码:4