名稱:洗衣機(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ā)板可以修改管腳適配:
演示視頻:
設(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