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

洗衣機(jī)控制器Basys2開發(fā)板verilog電子定時(shí)器倒計(jì)時(shí)

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

1-231106225534T3.doc

共1個(gè)文件

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

軟件:ISE

語言:Verilog

代碼功能:

洗衣機(jī)控制器設(shè)計(jì)要求

(1)設(shè)計(jì)一個(gè)電子定時(shí)器,控制洗衣機(jī)做如下運(yùn)轉(zhuǎn):定時(shí)啟動→正轉(zhuǎn)25s→暫停5s→反轉(zhuǎn)25s→暫停。如果定時(shí)未到,則回到“正轉(zhuǎn)25s→暫停5S→…,定時(shí)到則停止。

(2)若定時(shí)到,則停機(jī)發(fā)出音響信號。

(3)用兩個(gè)數(shù)碼管顯示洗滌的預(yù)置時(shí)間(分鐘數(shù)),按倒計(jì)時(shí)方式對洗滌過程作計(jì)時(shí)顯示,直到時(shí)間計(jì)時(shí)結(jié)束;洗滌過程由“開始”信號開始。

(4)3只LED燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫停“等3個(gè)狀態(tài)。

教學(xué)提示

(1)設(shè)計(jì)20s、10s定時(shí)電路

(2)電路輸出為“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!暗?個(gè)狀態(tài)。

(3)按照設(shè)計(jì)要求,用定時(shí)器的"時(shí)間到”信號啟動相應(yīng)的下一個(gè)定時(shí)器工作,直到整個(gè)過程結(jié)束。

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

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

basys2.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,//50MHz
input?key_add,//加按鍵,設(shè)置時(shí)間
input?key_sub,//減按鍵,設(shè)置時(shí)間
input?key_start,//啟動按鍵
input?key_reset,//復(fù)位按鍵
output?D1,//正轉(zhuǎn)
output?D2,//反轉(zhuǎn)
output?D3,//暫停
output?end_led,//結(jié)束指示燈
output?[7:0]?SEG,//數(shù)碼管段選
output?[1:0]?SEL//數(shù)碼管位選
);
wire?clk_1Hz;
wire?clk_1K;
wire?[7:0]?time_data;//剩余時(shí)間
//50M分頻到1K
div_to_1K?i_div_to_1K(
.?clk(clk),//50MHz
.?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_start(key_start),//啟動暫停按鍵,按下高電平
.?key_reset(key_reset),//復(fù)位按鍵,按下高電平
.?end_led(end_led),
.?D1(D1),//正轉(zhuǎn)
.?D2(D2),//反轉(zhuǎn)
.?D3(D3),//暫停
.?time_data(time_data)//剩余時(shí)間
);
display?i_display(
.?clk_1K(clk_1K),//1000Hz
.?time_data(time_data),//剩余時(shí)間
.?SEG(SEG),//數(shù)碼管段選
.?SEL(SEL)//數(shù)碼管位選
);
endmodule

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

  • 1-231106225534T3.doc
    下載

相關(guān)推薦