1、交通信号灯的控制交通信号灯的控制 一、设计目的一、设计目的 通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识, 提高应用微机解决 问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计, 使学生初步掌握应用微机解决问题的步骤及方法。 二、设计要求二、设计要求 1通过 8255A 并口来控制 LED 发光二极管的亮灭。 2A 口控制红灯,B口控制黄灯,C 口控制绿灯。 3输出为 0 则亮,输出为 1 则灭。 4用 8253 定时来控制变换时间 。 要求: 设有一个十字路口,1、3 为南,北方向,2、4 为东西方向,初始态为 4 个路口的红灯 全亮。之后,1、3
2、路口的绿灯亮,2、4 路口的红灯亮,1、3 路口方向通车。延迟 30 秒后, 1、3 路口的绿灯熄灭,而 1,3 路口的黄灯开始闪烁(1HZ) 。闪烁 5 次后,1、3 路口的红 灯亮,同时 2、4 路口的绿灯亮,2、4 路口方向开始通车。延迟 30 秒时间后,2、4 路口的 绿灯熄灭,而黄灯开始闪烁。闪烁 5 次后,再切换到 1、3 路口方向。之后,重复上述过程。 三、硬件方案说明三、硬件方案说明 工作原理简要说明: 此方案是通过并行接口芯片 8255A 和 8088 计算机的硬件连接,以及通过 8253 延时的 方法,来实现十字路口交通灯的模拟控制。 硬件连接方案:红灯(RLED) ,黄灯
3、(YLED)和绿灯(GLED)分别接在 8255 的 A, B,C 口的低四位端口,PA0,PA1,PA2,PA3 分别接 1,2,3,4 路口的红灯,B,C 口类 推。 8088工作在最小模式, 低八位端口AD0AD7接到8255和8253的D0D7, 同时AD0AD7 通过地址锁存器,接到 38 译码器,译码后分别连到 8255 和 8253 的 CS 片选端。8253 的 三个门控端接+5V,CLOCK0 接由分频器产生的 1MHZ 的时钟脉冲,OUT0 接到 CLOCK1 和 CLOCK2;OUT1 产生 30 秒定时信号;OUT2 产生 1MHZ 方波通过或门和 8255 的 B口
4、共同控制黄灯的闪烁。8255 三个口全部工作在方式 0,即基本输入输出方式,红绿灯的转换 由软件编程实现。 西 南 东 北 下面分块说明各硬件的连接情况 1)地址线的连接)地址线的连接 地址线只用低八位,即 AD0AD7,该地址线通过分时复用,先送出地址,通过地址锁 存器 74LS373 锁存以后,再送出数据。其中 A7、A6 通过一个与门产生一个信号,A5、A4 通过一个与门产生一个信号,将这两个信号再通过一个与非门产生一个 74LS138 的高位 C 相连输入信号,A3、A2 分别与译码器 B、A 相连,作 为片选信号。而 A1、A0 则直接与 8255 和 8253 的 A1、 A0 相
5、连。而 8255 和 8253 的片选信号 CS 分别接 Y1 和 Y0。由上述可知 A7A6A5A4=1111,由此可得各端口地 址如表 1 所示: 2)LED 灯与灯与 8255 的连接的连接 设计要求给出,当 8255 的端口输出低电平时,LED 灯 亮,当输出高电平时,LED 灯灭,由此可将 LED 灯的阳极通过 一电阻与电源 VCC 相连,阴极与 8255 的端口直接相连,则可 满足上述要求。右图给出了连接示意图(具体连接图见附件 一) 。 3)8253 的连的连接接 8253 共有 3 个相同的计数器。考虑到最小频率要求为 1Hz, 8255 PA 口 00F4H PB口 00F5
6、H PC 口 00F6H 控制字寄存器 00F7H 8253 CLK0 口 00F0H CLK1 口 00F1H CLK2 口 00F2H 控制字寄存器 00F3H 表表 1 8255 和和 8253 各端口地址各端口地址 当输入为 1Mz 时,要求计数器的初始值为 1000000,而 8253 计数值最大值只能为 65536, 因而考虑将 1Mz 的时钟输入计数器 0,再将计数器 0 的输出信号作为计数器 1 和计数器 2 8255 A4 A5 A6 A7 定义 8255 和 8253 各端口地址数据 PA8255 EQU 00F4H PB8255 EQU 00F5H PC8255 EQU 00F6H CON8255 EQU 00F7H CLK08253 EQU 00F0H CLK18253 EQU 00F1H CLK28253 EQU 00F2H CON8253 EQU 00F3H DA TA ENDS 开始 初始化控制寄存 器 (8255 控制字 与 8253 控制字) 初始化各灯状态 (红灯全亮,黄灯 全灭,绿灯全灭) 1、3 路口绿灯亮,2、 4 路