交通灯 您所在的位置:网站首页 3dmax灯光实验报告 交通灯

交通灯

2023-10-28 18:43| 来源: 网络整理| 查看: 265

FPGA课设——交通信号控制器的VHDL设计 1、设计任务及要求:2、参考设计方案3、采用 VHDL 语言输入的方式实现交通信号灯控制器4、设计方案5、自定义交通灯主从控制时间

1、设计任务及要求:

设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED 作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 在这里插入图片描述 在这里插入图片描述

设计要求: (1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。

2、参考设计方案

在这里插入图片描述

3、采用 VHDL 语言输入的方式实现交通信号灯控制器

在这里插入图片描述 该程序由 7 个进程组成,进程 P1 和 P2 将 CLK 信号分频后产生 1 秒信号,进程 P3、P4、 P5构成两个带有预置数功能的十进制计数器,其中P4 产生允许十位计数器计数的控制信号。 进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号, 以及每一个状态的时间值。

4、设计方案 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TRAFFIC_LIGHT IS PORT(CLK,RST: IN STD_LOGIC; LED: OUT STD_LOGIC_VECTOR(5 DOWNTO 0); --定义6个LED灯 WideSEGH: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --主干倒计时的十位 WideSEGL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --主干倒计时的个位 NSEGH: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --支干倒计时的十位 NSEGL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); --支干倒计时的个位 END ENTITY TRAFFIC_LIGHT; ARCHITECTURE bhv OF TRAFFIC_LIGHT IS TYPE state IS(S0,S1,S2,S3); --枚举状态类型 SIGNAL current_s,next_s:state; SIGNAL COUNT68:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN COUNT: PROCESS(RST,CLK) --辅助进程 BEGIN IF RST= '1' THEN --异步清零 COUNT6819 THEN WESEG:=WESEG+12; ELSIF WESEG>9 THEN WESEG:=WESEG+6; ELSE NULL; END IF; --这个修改方法跟上面一样 IF NSSEG>39 THEN NSSEG:=NSSEG+24; ELSIF NSSEG>29 THEN NSSEG:=NSSEG+18; ELSIF NSSEG>19 THEN NSSEG:=NSSEG+12; ELSIF NSSEG>9 THEN NSSEG:=NSSEG+6; ELSE NULL; END IF; WESEGH


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有