交通灯设计Verilog代码VIVADO PYNQ-Z2开发板

名称:交通灯设计Verilog代码VIVADO  PYNQ-Z2开发板(文末获取)

软件:VIVADO

语言:Verilog

代码功能:

交通灯设计(最后3秒闪烁)

交通灯分为主路和支路,两条路均为:红灯33秒,绿灯30秒,黄灯3秒。

主路为红灯时支路为绿灯和黄灯,

支路为红灯时主路为绿灯和黄灯。

且红灯最后3秒会闪烁,绿灯最后3秒也会闪烁,黄灯不闪烁。

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

PYNQ-Z2开发板.png

1. 功能描述

交通灯分为主路和支路,两条路均为:红灯33秒,绿灯30秒,黄灯3秒。主路为红灯时支路为绿灯和黄灯,支路为红灯时主路为绿灯和黄灯。且红灯最后3秒会闪烁,绿灯最后3秒也会闪烁,黄灯不闪烁。

2. 系统框图

交通灯模块

3. 流程图

4. 仿真图

部分代码展示:

/*
红->绿 绿->黄 黄->红
1、红--计时main_red_times------------------------绿--计时main_green_times---main_yellow_times黄灯---------------红
2、绿--计时branch_green_times---branch_yellow_times黄灯--------------------红--计时branch_reg_times-------------------绿
*/
//设路口A为主路,路口B为支路
module traffic_light(
input clk,//时钟
//led 1亮0灭
output [2:0]main_LED,//主路灯
output [2:0]branch_LED//支路灯
);
wire clk_1Hz;
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 1亮0灭
assign main_LED[0]=main_red_led;//主路灯
assign main_LED[1]=main_green_led;//主路灯
assign main_LED[2]=main_yellow_led ;//主路灯
assign branch_LED[0]=branch_red_led;//支路灯
assign branch_LED[1]=branch_green_led;//支路灯
assign branch_LED[2]=branch_yellow_led ;//支路灯 
//分频模块
div div100
(
. clk(clk),
. clk_out(clk_1Hz)
);
///

//交通灯控制模块
led led(
. clk_1Hz(clk_1Hz),
. 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)//支路灯
);
endmodule
源代码

 扫描文章末尾的公众号二维码

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值