• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

汽車尾燈控制器Basys3開(kāi)發(fā)板verilog代碼VIVADO

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1-231121224004Y3.doc

共1個(gè)文件

名稱:汽車尾燈控制器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ā)板可以修改管腳適配:

basys3開(kāi)發(fā)板.png

演示視頻:

設(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

  • 1-231121224004Y3.doc
    下載

相關(guān)推薦