vivado交通灯设计verilog代码ego1板红绿灯时间可修改

这篇具有很好参考价值的文章主要介绍了vivado交通灯设计verilog代码ego1板红绿灯时间可修改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:vivado交通灯设计verilog代码ego1板红绿灯时间可修改

软件:VIVADO

语言:Verilog

代码功能:

十字路口红绿灯设计;

1、每次通行时间可在0-99秒内设定,可以通过按键修改通行时间。

2、路口四边均设红黄绿三色信号灯和用于计时的两位数码管显示时间(十进制数)。

3、黄灯亮时,要求每秒闪亮一次。

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

本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管脚适配:

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

代码下载:vivado交通灯设计verilog代码ego1板红绿灯时间可修改名称:vivado交通灯设计verilog代码ego1板红绿灯时间可修改(代码在文末下载)软件:VIVADO语言:Verilog代码功能:十字路口红绿灯设计;1、每次通行时间可在0-99秒内设定,可以通过按键修改通行时间。2、路口四边均设红黄绿三色信号灯和用于计时的两位数码管显示时间(十进制数)。3、黄灯亮时,要求每秒闪亮一次。FPGA代码Verilog/VHDL代码资源下载:www.hdlcodhttp://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=307

1. 工程文件

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

2. 程序文件

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

3. 程序编译

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

4. RTL图

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

5. 管脚分配

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

6. Testbench

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

7. 仿真图

整体仿真图

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

分频模块

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

时间控制模块

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

交通灯控制模块

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

倒计时模块

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

显示模块

vivado交通灯设计verilog代码ego1板红绿灯时间可修改,fpga开发,ego1,交通灯,vivado,verilog

部分代码展示:文章来源地址https://www.toymoban.com/news/detail-760050.html

/*
红->绿 绿->黄 黄->红
1、红--计时main_red_times------------------------绿--计时main_green_times---main_yellow_times黄灯---------------红
2、绿--计时branch_green_times---branch_yellow_times黄灯--------------------红--计时branch_reg_times-------------------绿
*/
module traffic_light(
input clk,//100MMhz
input lock_key,//紧急按键--按下均为红灯,为1紧急状态,为0正常状态
input main_green_add,//主路绿灯加
input main_green_sub,//主路绿灯减
input branch_green_add,//支路绿灯加
input branch_green_sub,//支路绿灯减
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;//支路灯
assign main_red=main_red_led;//主路灯
assign main_green=main_green_led;//主路灯
assign main_yellow=main_yellow_led & clk_1Hz;//主路灯
assign branch_red=branch_red_led;//支路灯
assign branch_green=branch_green_led;//支路灯
assign branch_yellow=branch_yellow_led & clk_1Hz;//支路灯 
//分频模块
div div100
(
. clk(clk),
. clk_out(clk_1Hz)
);
//按键调整时间
wire [7:0]main_green_time;
wire [7:0]main_yellow_time;
wire [7:0]branch_green_time;
wire [7:0]branch_yellow_time;
//时间控制模块
time_ctrl i_time_ctrl(
. clk(clk),
. main_green_add(main_green_add),//主路绿灯加
. main_green_sub(main_green_sub),//主路绿灯减
. branch_green_add(branch_green_add),//支路绿灯加
. branch_green_sub(branch_green_sub),//支路绿灯减
. main_green_time(main_green_time),//主路绿灯时间
. branch_green_time(branch_green_time)//支路绿灯时间
);
assign main_yellow_time=8'd5;//主路黄灯时间设置为5秒
assign branch_yellow_time=8'd5;//支路黄灯时间设置为5秒
///
reg [7:0] display_main;
reg [7:0] display_branch;

//交通灯控制模块
led led(
. clk_1Hz(clk_1Hz),
. lock_key(1'b0),//紧急按键,为1紧急状态,为0正常状态
. main_red(main_red_led),//主路灯
. main_green(main_green_led),//主路灯
. main_yellow(main_yellow_led),//主路灯
. branch_red(branch_red_led),//支路灯
. branch_green(branch_green_led),//支路灯
. branch_yellow(branch_yellow_led),//支路灯
. main_green_time(main_green_time),
. main_yellow_time(main_yellow_time),
. branch_green_time(branch_green_time),
. branch_yellow_time(branch_yellow_time),
. main_green_BCD(main_green_BCD),//绿灯时间计数
. main_yellow_BCD(main_yellow_BCD),//黄灯时间计数
. main_red_BCD(main_red_BCD),//红灯时间计数
. branch_green_BCD(branch_green_BCD),//绿灯时间计数
. branch_yellow_BCD(branch_yellow_BCD),//黄灯时间计数
. branch_red_BCD(branch_red_BCD)//红灯时间计数
);
//显示数据生成模块
shumaguan_data shumaguan_data(
. clk(clk),
. main_red(main_red_led),//主路灯
. main_green(main_green_led),//主路灯
. main_yellow(main_yellow_led),//主路灯
. branch_red(branch_red_led),//支路灯
. branch_green(branch_green_led),//支路灯
. branch_yellow(branch_yellow_led),//支路灯
. main_green_BCD(main_green_BCD),//绿灯时间计数
. main_yellow_BCD(main_yellow_BCD),//黄灯时间计数
. main_red_BCD(main_red_BCD),//红灯时间计数
. branch_green_BCD(branch_green_BCD),//绿灯时间计数
. branch_yellow_BCD(branch_yellow_BCD),//黄灯时间计数
. branch_red_BCD(branch_red_BCD),//红灯时间计数
. main_green_time(main_green_time),
. main_yellow_time(main_yellow_time),
. branch_green_time(branch_green_time),
. branch_yellow_time(branch_yellow_time),
. main_data_out(main_data_out),//主路数码管数据显示
. branch_data_out(branch_data_out)//支路数码管数据显示
);
display display
(
. clk(clk),
. lock_key(1'b0),
. main_data(main_data_out),//主路数码管数据显示
. branch_data(branch_data_out),//支路数码管数据显示
. weixuan(weixuan),//位选,高电平亮
. duanxian(duanxian)//段选,高电平亮
);
endmodule

到了这里,关于vivado交通灯设计verilog代码ego1板红绿灯时间可修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vivado数字秒表verilog代码ego1开发板电子秒表跑表

    名称:vivado数字秒表verilog代码ego1开发板电子秒表跑表 软件:VIVADO 语言:Verilog 代码功能: 数字秒表设计 1、秒表的设计精确到10毫秒(0.01秒) 2、可通过按键控制秒表启动、暂停、复位 3、数码管显示分、秒、毫秒 本代码已在ego1开发板验证,开发板如下,其他开发板可以修

    2024年02月03日
    浏览(35)
  • 基于Verilog的十字路口交通灯控制电路设计

    设计并实现一个简单的十字路口交通灯控制电路。以4个红色指示灯、4个绿色指示灯和4个黄色指示灯模拟路口东西南北4个方向的红绿黄交通灯。控制这些灯,使它们安下列规律亮灭。 1、东西方向绿灯亮,南北方向红灯亮。东西方向通车,时间30秒; 2、东西方向黄灯闪烁,南

    2024年02月03日
    浏览(32)
  • 电话拨号显示器verilog代码ego1开发板vivado软件

    名称:电话拨号显示器verilog代码ego1开发板vivado软件 软件:VIVADO 语言:Verilog 代码功能: 电话拨号显示 1、具体0~9的数字按键 2、有开始、拨出、接通、删除按键 3、按下“开始”按键后,可以按数字键进行拨号,每按一次数字,整体号码左移一位,输入错误时可以删除 4、输

    2024年02月04日
    浏览(37)
  • VIVADO弹球游戏VGA显示Verilog代码EGO1开发板游戏

    名称:VIVADO弹球游戏VGA显示Verilog代码EGO1开发板游戏 软件:VIVADO 语言:Verilog 代码功能: 设计一个弹球游戏,并在VGA显示器上显示 1、可以控制游戏开始,开始时数码管显示0分 2、使用按键控制球拍的运动,当控制球拍接住球时,分数加1 3、弹球触碰屏幕边缘或者球拍时可以

    2024年02月03日
    浏览(29)
  • 4人竞赛数字抢答器vivado软件verilog代码ego1开发板

    名称:4人竞赛数字抢答器vivado软件verilog代码ego1开发板 软件:VIVADO 语言:Verilog 代码功能: 数字抢答器的设计任务说明: 设计一个可供4人竞赛的数字抢答器。 (1)具有定时抢答功能,且一次抢答的时间由主持人设定,本抢答器的时间 设定为60秒以内,当主持人启动“开始”开关后

    2024年02月05日
    浏览(30)
  • VIVADO自动售票机售货机verilog代码ego1开发板验证

    名称:VIVADO自动售票机售货机verilog代码ego1开发板验证 软件:VIVADO 语言:Verilog 代码功能: 自动售票机  1、自动售票机只出售1角、2角、5角和1元4种车票 2、只接收1角、5角和1元硬币,每次只能出售1张车  3、自动售票机具有累加销售额的功能 实验要求  出售车票用SW0~3分别

    2024年02月05日
    浏览(34)
  • 售货机基于ego1开发板的自动饮料机verilog代码vivado软件

    名称:售货机基于ego1开发板的自动饮料机verilog代码vivado软件 软件:VIVADO 语言:Verilog 代码功能: 设计一个自动饮料机逻辑电路, 它的投币口只能投入一枚五角或一元硬币; 投入一元五角硬币后机器自动给出一杯饮料,投入两元硬币后再给出饮料的同时找回一枚五角硬币;

    2024年01月18日
    浏览(38)
  • 交通灯电路及verilog实现(状态机)

    功能描述 : 1 )初始状态:主路绿灯、支路红灯; 2 )检测到支路有车 (X=1),灯状态的变化过程为:         ①主路变黄灯、支路红灯         ②主路变红灯、支路红灯         ③主路红灯、支路变绿灯 3)当支路没车(X=0),灯状态的变化过程为:         ①主路红灯、

    2024年02月06日
    浏览(30)
  • 【毕业设计】基于单片机控制的交通灯毕业设计(附源代码)

    目 录 摘   要 Abstract 前   言 一、工程简介 ( 一)、概述 ( 二 ) 、 工艺 流程图 二、工程设计 (一)、控制方案的确定 (二)、硬件部分 ( 1 )、交通灯控制系统的硬件设计 ( 2 )、硬件系统的设计具备以下原则 ( 3 ) 、硬件结构框图 (如图 3 所示) ( 4 ) 、交通灯控

    2024年04月23日
    浏览(56)
  • 【verilog基础】用状态机解决交通灯问题

    思路:计数器加状态机 1、状态组合 light1 light2 状态 状态转移条件 跳转至 红 (100) 绿 (001) S0

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包