软件:Quartus
语言:VHDL
代码功能:
汽车尾灯控制器
系统设计分为4个模块,分别为时钟分频模块、尾灯主控模块、左边灯控制模块和右边灯控制模块。
时钟分频模块生成周期为2秒的控制信号,尾灯主控模块用于控制刹车灯和夜间尾灯。左边灯控制模块控制左转闪烁,右边灯模块控制右转闪烁。
左转信号来时,左转灯按2s周期闪烁,右转信号来时,右灯按2s周期闪烁,刹车信号来2个刹车灯亮,夜间行驶时,夜间尾灯亮。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图(顶层框图)
系统设计分为4个模块,分别为时钟分频模块、尾灯主控模块、左边灯控制模块和右边灯控制模块。模块连接图如下所示。时钟分频模块生成周期为2秒的控制信号,尾灯主控模块用于控制刹车灯和夜间尾灯。左边灯控制模块控制左转闪烁,右边灯模块控制右转闪烁。
5. 仿真文件(VWF)
6. 仿真图
根据仿真图可以看到,左转信号来时,左转灯按2s周期闪烁,右转信号来时,右灯按2s周期闪烁,刹车信号来2个刹车灯亮,夜间行驶时,夜间尾灯亮。
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --汽车尾灯主控模块 ENTITY brake_ctrl IS PORT ( brake_key : IN STD_LOGIC;--刹车按键 night_SW : IN STD_LOGIC;--尾灯按键 night_LED : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);--尾灯 brake_LED : OUT STD_LOGIC_VECTOR(1 DOWNTO 0)--刹车灯 ); END brake_ctrl; ARCHITECTURE behavrial OF brake_ctrl IS BEGIN night_LED(0) <= night_SW;--尾灯按键控制尾灯 night_LED(1) <= night_SW;--尾灯按键控制尾灯 brake_LED(0) <= brake_key;--刹车按键按键控制刹车灯 brake_LED(1) <= brake_key;--刹车按键按键控制刹车灯 END behavrial;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1049
853