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

洗衣機(jī)控制器Basys3開發(fā)板verilog倒計(jì)時

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

1-231114231541144.doc

共1個文件

名稱:洗衣機(jī)控制器Basys3開發(fā)板verilog倒計(jì)時(代碼在文末下載)

軟件:VIVADO

語言:Verilog

代碼功能:

vivado 洗衣機(jī)控制器的設(shè)計(jì)

要求:

1)具有啟動、定時、暫停的功能,用按鍵控制。

2)啟動后洗衣機(jī)按正轉(zhuǎn)20秒暫停10秒反轉(zhuǎn)20秒暫停10秒的規(guī)律循環(huán)。

3)定時可以設(shè)置洗衣機(jī)工作的時間;(有個按鍵進(jìn)入定時模式,再有一個按鍵負(fù)責(zé)按鍵負(fù)責(zé)減,可以定時可以不定時,如果定時需要在開始按鍵前完成,定時最多三分鐘,如果不定時,就按照默認(rèn)三分鐘一旦按下開始鍵就要循環(huán)運(yùn)行上述流程。

4)用兩個數(shù)碼管顯示洗滌的預(yù)置時間(分鐘數(shù),最大3分鐘),按倒計(jì)時方式顯示,直到時間到停機(jī);洗滌過程由“開始”信號開始;

5)三只LED燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫 ?!比齻€狀態(tài)。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在Basys3開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

basys3開發(fā)板.png

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 管腳約束

4. 程序編譯

5. RTL圖

6. Testbench

7. 仿真圖

7.1 整體仿真圖

7.2 div_to_1K模塊

7.3 div_to_1模塊

7.4 control模塊

7.5 display模塊

部分代碼展示:

module?wash_machine(
input?clk,//100MHz
input?key_add,//加按鍵,設(shè)置時間--BTL
input?key_sub,//減按鍵,設(shè)置時間--BTR
input?key_start,//啟動按鍵--BTU
input?key_stop,//暫停按鍵,按下高電平--BTD
input?key_reset,//復(fù)位按鍵--BTC
output?D1,//正轉(zhuǎn)
output?D2,//反轉(zhuǎn)
output?D3,//暫停
output?end_led,//結(jié)束指示燈
output?stop_led,
output?[3:0]?bit_select,//數(shù)碼管位選
output?[7:0]?seg_select//數(shù)碼管段選
);
wire?clk_1Hz;
wire?clk_1K;
wire?[7:0]?time_data;//剩余時間
wire?[7:0]?led_time;//正計(jì)時時間
//100M分頻到1K
div_to_1K?i_div_to_1K(
.?clk(clk),//100MHz
.?key_reset(key_reset),//按鍵,按下高電平
.?clk_1K(clk_1K)//1KHz信號
);
//1K分頻到1Hz
div_to_1?i_div_to_1(
.?clk_1K(clk_1K),//1KHz
.?key_reset(key_reset),//按鍵,按下高電平
.?clk_1Hz(clk_1Hz)//1Hz信號
);
//控制模塊
control?i_control(
.?clk_1Hz(clk_1Hz),//1Hz
.?key_add(key_add),//加按鍵,按下高電平
.?key_sub(key_sub),//減按鍵,按下高電平
.?key_stop(key_stop),//暫停按鍵,按下高電平
.?key_start(key_start),//啟動按鍵,按下高電平
.?key_reset(key_reset),//復(fù)位按鍵,按下高電平
.?end_led(end_led),
.?stop_led(stop_led),
.?D1(D1),//正轉(zhuǎn)
.?D2(D2),//反轉(zhuǎn)
.?D3(D3),//暫停
.?led_time(led_time),
.?time_data(time_data)//剩余時間
);
//顯示模塊
display?i_display
(
.?clk(clk_1K),
.?led_time(led_time),//正計(jì)時時間
.?time_data(time_data),//剩余時間
.?bit_select(bit_select),//數(shù)碼管位選
.?seg_select(seg_select)//數(shù)碼管段選
);
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=290

  • 1-231114231541144.doc
    下載

相關(guān)推薦