• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

交通信号灯控制器设计Verilog代码VIVADO仿真

08/07 09:27
363
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240620143K0S3.doc

共1个文件

名称:交通信号灯控制器设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

交通信号灯控制器

功能要求:

1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用传感器或逻辑开关作检测车辆是否到来的信号;

2、主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯;

3、主、支干道均有车时,两者交替允许通行,主干道每次放行时间A,支干道每次放行时间B,设立A、B计时显示电路;在每次由绿灯亮到红灯亮的转换过程中,要亮黄灯C时间作为过渡,使行驶中的车辆有时间停到禁行线外,设立C计时显示电路。时间A>B>C。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 状态图

000表示M_G_state状态

一共4个状态。

M_G_state为主干道绿灯45秒状态,M_Y_state为主干道黄灯5秒状态,B_G_state为支干道绿灯25秒状态,B_Y_state为支干道5s黄灯状态。

5. RTL图

6. Testbench

7. 仿真图

主干道绿灯45秒,主干道黄灯5秒,支干道绿灯25秒,支干道5s黄灯

部分代码展示:

//顶层模块
module traffic_LED(
clk_in,//时钟
car_come,//支路车检测,高电平表示支干道有车
main_R,//主干道红灯
main_G,//主干道绿灯
main_Y,//主干道黄灯
branch_R,//支干道红灯
branch_G,//支干道绿灯
branch_Y,//支干道黄灯
bit_sel,//数码管位选
seg_sel//数码管段选
);
input wireclk_in;
input wirecar_come;
output wiremain_R;
output wiremain_G;
output wiremain_Y;
output wirebranch_R;
output wirebranch_G;
output wirebranch_Y;
output wire[3:0] bit_sel;
output wire[7:0] seg_sel;
wireclk_1Hz;
wire[7:0] Branch_road;
wire[7:0] Main_road;
//分频模块
fengpingb2v_inst(
.clk_in(clk_in),
.clk_1Hz(clk_1Hz));
//红绿灯控制模块
light_ctrlb2v_inst1(
.clk_in(clk_in),
.clk_1Hz(clk_1Hz),
.car_come(car_come),
.main_R(main_R),
.main_G(main_G),
.main_Y(main_Y),
.branch_R(branch_R),
.branch_G(branch_G),
.branch_Y(branch_Y),
.Branch_road(Branch_road),
.Main_road(Main_road));

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=888

  • 2-240620143K0S3.doc
    下载

相关推荐