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

汽车尾灯LED控制Verilog代码

05/15 13:13
1127
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-230924225ZXZ.doc

共1个文件

名称:汽车尾灯控制Verilog(代码在文末付费下载)

软件:Quartus

语言:Verilog

要求:

设计一个汽车尾灯控制器。假设汽车尾部各有2个指示灯(LED),分别代表转弯、刹车,控制器功能包括:

(1) 汽车正常行驶时所有指示灯都不亮;

(2) 汽车转弯右转弯时,右侧的一个指示灯闪烁(间隔1S);

(3) 汽车转弯左转弯时,左侧的一个指示灯闪烁(间隔1S);

(4) 汽车刹车时,左右两侧的一个指示灯同时亮10秒;

用按键代表汽车的行驶状态。

演示视频:

部分代码展示

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
//设计一个汽车尾灯控制器。假设汽车尾部各有2个指示灯(LED),分别代表转弯、刹车,控制器功能包括:
//(1) 汽车正常行驶时所有指示灯都不亮;
//(2) 汽车转弯右转弯时,右侧的一个指示灯闪烁(间隔1S);
//(3) 汽车转弯左转弯时,左侧的一个指示灯闪烁(间隔1S);
//(4) 汽车刹车时,左右两侧的一个指示灯同时亮10秒;
//用按键代表汽车的行驶状态。
module car_LED(
input clk_in,//50MHz时钟
input right_key,////汽车转弯右转弯时,右侧的一个指示灯闪烁(间隔1S);
input left_key,////汽车转弯左转弯时,左侧的一个指示灯闪烁(间隔1S);
input brake_key,////汽车刹车时,左右两侧的一个指示灯同时亮10秒;
output right_LED,//右转灯
output left_LED,//左转灯
output [1:0] brake_LED//刹车灯
    );
wire clk_1Hz;
assign right_LED=(right_key==0)?clk_1Hz:0;//汽车转弯右转弯时,右侧的一个指示灯闪烁(间隔1S);
assign left_LED =(left_key==0)?clk_1Hz:0;//汽车转弯左转弯时,左侧的一个指示灯闪烁(间隔1S);
//分频到1Hz时钟,用于控制1s间隔闪烁
fenping i_fenping(
. clk_in(clk_in),
. clk_1Hz(clk_1Hz)//输出1Hz,占空比50%
    );
    
//刹车控制模块
brake_ctrl i_brake_ctrl(
. clk_in(clk_in),//50MHz时钟
. clk_1Hz(clk_1Hz),//输出1Hz,占空比50%
. brake_key(brake_key),////汽车刹车时,左右两侧的一个指示灯同时亮10秒
. brake_LED(brake_LED)//刹车灯
        );    
    
endmodule

设计文档(文档点击可下载):

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testebnch

6. 仿真图

本代码已在开发板验证,板子资料:

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

  • 1-230924225ZXZ.doc
    下载

相关推荐