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

洗衣機(jī)控制器Verilog代碼vivado ego1開發(fā)板

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

2-231230111511164.doc

共1個文件

名稱:洗衣機(jī)控制器Verilog代碼vivado? ego1開發(fā)板

軟件:vivado

語言:Verilog

代碼功能:

洗衣機(jī)控制器

(1)設(shè)計一個洗衣機(jī)控制器,使洗衣機(jī)作如下運(yùn)轉(zhuǎn):定時啟動—〉正轉(zhuǎn)20秒—〉暫停10秒—〉反轉(zhuǎn)20秒—〉暫停10秒—〉定時不到,重復(fù)上面過程。

(2)若定時到,則停止,并發(fā)出提示信號。

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

(4)三只LED燈表示正轉(zhuǎn)、反轉(zhuǎn)、暫停三個狀態(tài)。

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

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

ego1開發(fā)板.png

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. FPGA型號

4. 程序編譯

5. Testbench

6. 仿真圖

Washing_time是剩余時間倒計時,程序內(nèi)預(yù)置時間15分鐘倒計時,洗衣結(jié)束后end_led信號拉高,表示洗衣結(jié)束信號

Led[2:0] 是正轉(zhuǎn)反轉(zhuǎn)暫停信號,led[2]為正轉(zhuǎn),led[1]為暫停,led[0]為反轉(zhuǎn)

數(shù)碼管顯示,首先把Washing_time轉(zhuǎn)換為十位ten_wei和個位one_wei,然后分別掃描顯示,

下圖中十位=1,個位=5,1對應(yīng)數(shù)碼管碼字為8'hf9,5對應(yīng)數(shù)碼管碼字為8'h92,所以下圖f9,92依次顯示。

部分代碼展示:

`timescale?1ns?/?1ps
//testbench
module?wash_machine_test();
reg????????clk_in;//50Hz
reg????????start_key;//啟動按鍵
wire?[2:0]?led;//正轉(zhuǎn),反轉(zhuǎn),暫停
wire???????end_led;?//洗衣結(jié)束信號
wire?[1:0]?bit_select;//
wire?[7:0]?dig_led2;//數(shù)碼管2
washing_machine?i_washing_machine
(
.clk_in(clk_in),?
.start_key(start_key),?
.led(led),?
.end_led(end_led),?
.bit_select(bit_select),?
.dig_led2(dig_led2)
);
initial?begin
start_key=0;
#200;
start_key=1;//開始按鍵按下
#50;
start_key=0;
#100;
end
//產(chǎn)生時鐘
always?begin
clk_in=1;
#10;
clk_in=0;
#10;
end
endmodule

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

  • 2-231230111511164.doc
    下載

相關(guān)推薦