十字路口交通灯控制器带左转灯Verilog代码Quartus仿真

名称:十字路口交通灯控制器带左转灯Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

 (1)设计任务—交通灯控制器

利用VerilogHDL语言设计一个十字路口交通灯控制器,其示意图如下图1所示,A方向与B方向各设红(R),黄(Y),绿(G),和左拐(L)四种灯,四种灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的形式显示出来。

  两个方向这种灯亮的时间应该能够非常方便地进行设置和修改,此外假设A方向是主干路,车流量大,因此A方向同行的时间应该比B方向长一些。

                                      图1

(2)交通的控制器状态表

  交通灯控制器的状态转换表如表1所示,表中1表示灯亮,0表示灯灭。A方向和B方向的红、黄、绿和左拐灯分别用R1、Y1、G1、L1和R2、Y2、G2、L2来表示。


               A方向


               B方向

绿灯

(G1)

黄灯

(Y1)

左拐灯

(L1)

红灯

(R1)

绿灯

(G2)

黄灯

(Y2)

左拐灯

(L2)

红灯

(R2)

1


0


0


0


0

0

0

1

0


1


0


0


0

0

0

1

0


0


1


0


0

0

0

1

0


1


0


0


0

0

0

1

0


0


0


1


1

0

0

0

0


0


0


1


0

1

0

0

0


0


0


1


0

0

1

0

0


0


0


1


0

1

0

0

从状态转换表中可以看出,每个方向四种灯依次按如下顺序点亮,并不断循环:

绿灯- 黄灯 左拐灯 黄灯 红灯。

并且没个方向红灯亮的时间与另一方向绿、黄、左拐、黄灯亮的时间相等。黄灯所起的作用是用来在绿灯和左拐灯后进行缓冲,以提醒行人该方向马上要禁行了。

其中A方向红、绿、黄、左拐灯亮的时间分别为:55秒、40秒、5秒和15秒,B方向红、绿、黄、左拐灯亮的时间分别为:65秒、30秒、5秒和15秒。要求输出的灯亮时间用BCD码。

A是55秒,B是65秒(因为A是主干路)


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



演示视频:


设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench(仿真代码)

6. 仿真图

整体仿真图

分频模块仿真图

状态机控制模块仿真图

显示模块仿真图



部分代码展示:


//交通灯
module trafic(
input clk,//50M
input key,//复位
output main_red,//主干道红灯
output main_green,//主干道绿灯
output main_yellow,//主干道黄灯
output main_left,//主干道左转灯
output branch_red,//支干道红灯
output branch_green,//支干道绿灯
output branch_yellow,//支干道黄灯
output branch_left,//支干道左转灯
output [7:0] HEX0,//数码管0
output [7:0] HEX1,//数码管1
output [7:0] HEX2,//数码管2
output [7:0] HEX3//数码管3
);
wire clk_1Hz;
wire [7:0] main_cnt;
wire [7:0] branch_cnt;
//分频模块
div i_div(
. clk(clk),//时钟
. clk_1Hz(clk_1Hz)//1Hz
);



代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 十字路口交通灯控制器带左转灯Verilog代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员