名称:交通灯控制器设计Verilog代码Quartus? 实验箱
软件:Quartus
语言:Verilog
代码功能:
交通灯控制器
任务与要求
1.用LED灯表示交通状态,并以七段数码显示器显示当前状态剩余秒数。能实现特殊状态的功能显示,进入特殊状态时,东西南北路口均显示红灯状态。
2.主干道绿灯亮时,支干道红灯亮,反之亦然,二者交替允许通行,主干道每次放行35秒,支干道每次放行25秒。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,亮黄灯的时间为5秒。该交通灯的亮灭顺序是如下:
3.能实现正常的倒计时显示功能
4.能实现总体清零功能,计数器由初始状态开始计数,对应状态的指示灯亮。
扩展功能
主干道增加左转灯,包括左转的绿灯、黄灯和红灯,即,主干道直行绿灯35s+黄灯5s时,左转红灯亮,完成后,直行红灯亮,左转绿灯亮15s,黄灯亮5s,然后支干道绿灯亮,左转红队亮。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在实验箱验证,实验箱如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
//IO10连K1;--IO1,2,3连LED1,2,3;--IO7,8,9连LED 4,5,6。
//IO21~IO31连数码管A,B,C,D,E,F,G, DP;IO14~16连数码管C1,C2,C3,C4
//数码管是LED DISP
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
分频模块
控制模块
倒计时模块
显示模块
部分代码展示:
/* 红->绿?绿->黄?黄->红 1、红--计时main_red_times------------------------绿--计时main_green_times---main_yellow_times黄灯---------------红 2、绿--计时branch_green_times---branch_yellow_times黄灯--------------------红--计时branch_reg_times-------------------绿 */ //IO10连K1;--IO1,2,3连LED1,2,3;--IO7,8,9连LED?4,5,6。 //IO21~IO31连数码管A,B,C,D,E,F,G,?DP;IO14~16连数码管C1,C2,C3,C4 //数码管是LED?DISP module?traffic_light( input?clk,//50MMhz input?reset,//复位---- //led?0亮1灭 output?main_red,//主路灯 output?main_green,//主路灯-- output?main_yellow,//主路灯-- output?branch_red,//支路灯-- output?branch_green,//支路灯-- output?branch_yellow,//支路灯-- output?[3:0]?weixuan,//数码管位选 output?[7:0]?duanxian//数码管段选 ); ?wire?clk_1Hz; ?wire?[7:0]?main_green_BCD; ?wire?[7:0]?main_yellow_BCD; ?wire?[7:0]?main_red_BCD; ?wire?[7:0]?branch_green_BCD; ?wire?[7:0]?branch_yellow_BCD; ?wire?[7:0]?branch_red_BCD; ?wire?[7:0]?main_data_out; ?wire?[7:0]?branch_data_out; ? wire?main_red_led;//主路灯 wire?main_green_led;//主路灯 wire?main_yellow_led;//主路灯 wire?branch_red_led;//支路灯 wire?branch_green_led;//支路灯 wire?branch_yellow_led;//支路灯 //led?0亮1灭 assign?main_red=~main_red_led;//主路灯 assign?main_green=~main_green_led;//主路灯 assign?main_yellow=~main_yellow_led?;//主路灯 assign?branch_red=~branch_red_led;//支路灯 assign?branch_green=~branch_green_led;//支路灯 assign?branch_yellow=~branch_yellow_led?;//支路灯
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1284