名称:汽车尾灯控制Verilog
软件:Quartus
语言:Verilog
要求:
设计一个汽车尾灯控制器。假设汽车尾部各有2个指示灯(LED),分别代表转弯、刹车,控制器功能包括:
(1) 汽车正常行驶时所有指示灯都不亮;
(2) 汽车转弯右转弯时,右侧的一个指示灯闪烁(间隔1S);
(3) 汽车转弯左转弯时,左侧的一个指示灯闪烁(间隔1S);
(4) 汽车刹车时,左右两侧的一个指示灯同时亮10秒;
用按键代表汽车的行驶状态。
代码下载:汽车尾灯控制Verilog_Verilog/VHDL资源下载
代码网:hdlcode.com
部分代码展示
`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. 仿真图
本代码已在开发板验证,板子资料: