主要內(nèi)容:
設計一個洗衣機控制器,要求洗衣機有正轉(zhuǎn)、反轉(zhuǎn)、暫停三種狀態(tài)。設定洗衣機的工作時間,要洗衣機在工作時間內(nèi)完成:定時啟動?正轉(zhuǎn)20秒?暫停10秒?反轉(zhuǎn)20秒?暫停10秒?定時未到回到“正轉(zhuǎn)20秒?暫停10秒?……”,定時到則停止,同時發(fā)出提示音。
基本要求:
1、設計一個電子定時器,控制洗衣機作如下運轉(zhuǎn):定時啟動?正轉(zhuǎn)20秒?暫停10秒?反轉(zhuǎn)20秒?暫停10秒?定時未到回到“正轉(zhuǎn)20秒?暫停10秒?……”,定時到則停止;
2、若定時到,則停機發(fā)出音響信號;
3、用兩個數(shù)碼管顯示洗滌的預置時間(分鐘數(shù)),按倒計時方式對洗滌過程作計時顯示,直到時間到停機;洗滌過程由“開始”信號開始;
4、三只LED燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€狀態(tài)。
一、總體設計思想
1、基本原理
洗衣機控制器的設計主要是定時器的設計。由一片FPGA和外圍電路構(gòu)成了電器控制部分。FPGA接收鍵盤的控制命令,控制洗衣機的進水、排水、水位和洗衣機的工作狀態(tài)、并控制顯示工作狀態(tài)以及設定直流電機速度、正反轉(zhuǎn)控制、制動控制、起??刂坪瓦\動狀態(tài)控制。對芯片的編程采用模塊化的VHDL (硬件描述語言)進行設計,設計分為三層實現(xiàn),頂層實現(xiàn)整個芯片的功能。頂層和中間層多數(shù)是由VHDL的元件例化語句實現(xiàn)。中間層由無刷直流電機控制、運行模式選擇、洗滌模式選擇、定時器、顯示控制、鍵盤掃描、水位控制以及對直流電機控制板進行速度設定、正反轉(zhuǎn)控制、啟停控制等模塊組成,它們分別調(diào)用底層模塊。
Use ieee.std_logic_1164.all;
Entity encode is
Port(
Bcd : in std_logic_vector(3 downto o);
A,b,c,d,e,f,g: out std_logic
);
End encode;
Architecture rtl of encode is
Signal temp:std_logic_vector(6 downto 0);
Begin
文章借鑒于此紛傳