名稱:汽車尾燈控制器Basys3開(kāi)發(fā)板verilog代碼(代碼在文末下載)
軟件:VIVADO
語(yǔ)言:Verilog
代碼功能:
設(shè)計(jì)一個(gè)汽車尾燈控制器。假設(shè)汽車尾部各有3個(gè)指示燈(LED),分別代表轉(zhuǎn)彎、剎車和夜間行駛,控制器功能包括:
(1) 汽車正常行駛時(shí)所有指示燈都不亮;
(2) 汽車轉(zhuǎn)彎右轉(zhuǎn)彎時(shí),右側(cè)的一個(gè)指示燈閃爍(間隔1S);
(3) 汽車轉(zhuǎn)彎左轉(zhuǎn)彎時(shí),左側(cè)的一個(gè)指示燈閃爍(間隔1S);
(4) 汽車剎車時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)亮10秒,同時(shí)蜂鳴器發(fā)聲;
(5) 汽車夜間行駛時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)一直亮。
用按鍵代表汽車的行駛狀態(tài)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 管腳約束文件
4. 程序編譯
5. RTL圖
6. Testbench
7. 仿真圖
部分代碼展示:
////////////////////////////////////////////////////////////////////////////////// //設(shè)計(jì)一個(gè)汽車尾燈控制器。假設(shè)汽車尾部各有3個(gè)指示燈(LED),分別代表轉(zhuǎn)彎、剎車和夜間行駛,控制器功能包括: //(1)?汽車正常行駛時(shí)所有指示燈都不亮; //(2)?汽車轉(zhuǎn)彎右轉(zhuǎn)彎時(shí),右側(cè)的一個(gè)指示燈閃爍(間隔1S); //(3)?汽車轉(zhuǎn)彎左轉(zhuǎn)彎時(shí),左側(cè)的一個(gè)指示燈閃爍(間隔1S); //(4)?汽車剎車時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)亮10秒,同時(shí)蜂鳴器發(fā)聲; //(5)?汽車夜間行駛時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)一直亮。 //用按鍵代表汽車的行駛狀態(tài)。 ////////////////////////////////////////////////////////////////////////////////// module?car_LED( input?clk_100M,//100MHz時(shí)鐘 input?right_key,////汽車轉(zhuǎn)彎右轉(zhuǎn)彎時(shí),右側(cè)的一個(gè)指示燈閃爍(間隔1S); input?left_key,////汽車轉(zhuǎn)彎左轉(zhuǎn)彎時(shí),左側(cè)的一個(gè)指示燈閃爍(間隔1S); input?brake_key,////汽車剎車時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)亮10秒,同時(shí)蜂鳴器發(fā)聲; input?night_SW,//汽車夜間行駛時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)一直亮。 output?beep,//蜂鳴器,高電平蜂鳴器響 output?[1:0]?night_LED,//夜間燈 output?right_LED,//右轉(zhuǎn)燈 output?left_LED,//左轉(zhuǎn)燈 output?[1:0]?brake_LED//剎車燈 ????); wire?clk_1Hz; //汽車夜間行駛時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)一直亮。 assign?night_LED[0]=night_SW; assign?night_LED[1]=night_SW; assign?right_LED=(right_key)?clk_1Hz:0;//汽車轉(zhuǎn)彎右轉(zhuǎn)彎時(shí),右側(cè)的一個(gè)指示燈閃爍(間隔1S); assign?left_LED?=(left_key)?clk_1Hz:0;//汽車轉(zhuǎn)彎左轉(zhuǎn)彎時(shí),左側(cè)的一個(gè)指示燈閃爍(間隔1S); //分頻到1Hz時(shí)鐘,用于控制1s間隔閃爍 fenping?i_fenping( .?clk_100M(clk_100M), .?clk_1Hz(clk_1Hz)//輸出1Hz,占空比50% ????); ???? //剎車控制模塊 brake_ctrl?i_brake_ctrl( .?clk_100M(clk_100M),//100MHz時(shí)鐘 .?clk_1Hz(clk_1Hz),//輸出1Hz,占空比50% .?brake_key(brake_key),////汽車剎車時(shí),左右兩側(cè)的一個(gè)指示燈同時(shí)亮10秒,同時(shí)蜂鳴器發(fā)聲; .?beep(beep),//蜂鳴器,高電平蜂鳴器響 .?brake_LED(brake_LED)//剎車燈 ????????);???? ???? endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=299