交通灯控制器___EDA课程设计实验报告
目录 1 课程设计要求 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 2 电路功能描述 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 3 设计方案 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 4 设计原理图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·4 5 VHDL语言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·4 6 仿真截图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·6 7 心得体会 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·11 8 参考文献 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·11 1 1. 课程设计要求 1.1.红、黄、绿灯分别控制显示; 1.2.每一个状态分别分配一个时间显示(两位十进制,倒计时) ; 1.3.符合实际交通规律。 2.电路功能描述 本设计是实现交通灯的控制,模拟实现了红、绿、黄灯指挥交通的功能。本 设计适用东西和南北方向的车流量大致相同的路口,红灯显示时间 30S,绿灯显 示时间 25S,黄灯显示时间 5S,同时用数码管指示当前的状态(红、绿、黄灯) 的剩余时间。当有紧急状况发生时,两个方向都禁止通行,并且显示红灯,当紧 急状况解除后,重新计时并且指示时间。 3.设计方案 根据设计要求,需要控制显示红、黄、绿三个灯的亮灭状态及显示的时间。 这个设计主要由两部分组成,红黄绿灯的显示模块,显示时间模块。由实际的交 通情况可知,东西方向的显示情况是一致的,南北方向的显示情况也是一致 , 故在设计的时候就只考虑两种状态,将东西方向合成一种,南北方向合成一种。 红黄绿灯的显示模块用两组共 6 个灯显示,时间显示模块用 LED数码管显示。 此外,本交通灯控制器设置的红黄绿显示方式是参照一些城市的显示规律, 红灯 30S,绿灯 25S,黄灯 5S,同时用数码管指示当前状(红、绿、黄灯)的剩 余时间。另外还设有一个紧急状态,当特殊情况发生时,两个方向都禁止通行, 指示红灯, 紧急状态解除后, 重新计时并指示时间。 时间采用倒计时的方式显示。 本设计采用 VHDL语言编程,描述各个硬件模块实现的功能,使红、黄、绿 灯的转换有一个准确的转换顺序和时间间隔,并进行仿真,通过仿真的结果,得 出实验的结果。 在正常情况下的一个完整周期内, 交通灯控制器系统一共有四种状态, 分别 是东西红、南北绿,东西红、南北黄,东西绿、南北红,东西黄、南北红。其运 行方式为东西红、南北绿→东西红、南北黄→东西绿、南北红→东西黄、南北绿, 东西黄、 南北绿结束后再回到东西红、南北绿的状态, 整个周期持续 60s。 urgency 为紧急控制信号, 为高电平时系统转换为东西南北均是红灯亮的状态, 状态结束 后系统重新设置,转换为东西红,南北绿的状态。 2 4.设计的原理图 判断是否是紧急情况 东西红灯亮 30S,南北绿灯亮 25S 东西南北 均红灯 东西红灯亮 5S,南北黄灯亮 5S 东西绿灯亮 25S,南北红灯亮 25S 东西黄灯亮 5S,南北红灯亮 5S 开 始 结 束 是 不是 循 环 3 5.VHDL硬件描述语言 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY traffic IS --定义实体 PORT( clk : IN STD_LOGIC; --CLK为时钟信号(1Hz) urgency : IN STD_LOGIC; --紧急状态控制端 led : BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0); --红黄绿绿黄红 East_West,South_North : BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0)); END; --东西、南北倒计时数码管(高 4 位为十位,低 4 位为个位) ARCHITECTURE rtl OF traffic IS --定义结构体 BEGIN PROCESS(clk,urgency) BEGIN IF urgency = 1 THEN --出现紧急状态 led “00110000“) THEN East_West = “00101001“; --计数错误时纠正到初始转态 South_North = “00100100“; led = “100100“; --东西红灯亮 30 秒,南北绿灯亮 25 秒 ELSIF (East_West = “00000101“ AND South_Nort