洗衣機控制電路數電實驗_第1頁
洗衣機控制電路數電實驗_第2頁
洗衣機控制電路數電實驗_第3頁
洗衣機控制電路數電實驗_第4頁
洗衣機控制電路數電實驗_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、20102011學年第二學期數字電子技術課程設計報告課題:簡易洗衣機控制電路專業(yè)班級: 自動化 09-1 姓 名: 仇 濤 學 號: 09051107 設計日期: 2011年7月7日10日目錄一、設計任務及要求-2(一)具體要求-2(二)輸入輸出資源說明-2二、設計原理與方案-4(一)頂層設計方案-4(二)分頻器設計方案-5(三)計時器(倒計時)設計方案-5(四)顯示器設計方案-5(五)暫停設計方案-5三、電路設計、仿真與實現(xiàn)-6(一)頂層的設計實現(xiàn)-6(二)分頻器的設計實現(xiàn)-8(三)計數器(倒計時)的設計實現(xiàn)-10(四)顯示器設計實現(xiàn)-15(五)暫停設計實現(xiàn)-17(六)Fit Design

2、結果-18四、分析與討論-18一、設計任務及要求:洗衣機是家庭常用電器,一般可以有多種工作模式可供選擇。在此要求設計具有兩種工作模式的簡易洗衣機控制電路,具有復位、模式設置、啟動、暫停功能,并能顯示洗衣機的工作狀態(tài)(如洗滌時間倒計時,電動機的正反轉、暫停)。(一)具體要求:1、設置為復位按鈕S0,按鈕狀態(tài)S00時,對系統(tǒng)狀態(tài)進行復位,計數器清零。S01時,進入模式選擇。2、設置模式選擇按鈕S1。按鈕狀態(tài)S10時,執(zhí)行洗衣模式一,控制洗衣機的電機按照圖1的規(guī)律循環(huán)運轉;S11執(zhí)行洗衣模式二,控制洗衣機的電機按照圖2規(guī)律循環(huán)運轉。啟動正轉(20s)反轉(20s)間歇(10s)間歇(10s)停止定時

3、到圖1 洗衣模式一啟動正轉(25s)反轉(25s)間歇(5s)間歇(5s)停止定時到圖2 洗衣模式二3、設置啟動按鈕S2。洗衣模式設定后,按鈕狀態(tài)S21時,設定洗衣時間為30分鐘,按鈕狀態(tài)S20時,設定洗衣時間為15分鐘。在洗衣過程中分別用3個LED燈來顯示電動機的正轉、翻轉,間歇等狀態(tài)。4、設置暫停按鈕S3。當按鈕狀態(tài)S30時,洗衣暫停,計數器狀態(tài)、顯示均保持,并點亮1個LED燈顯示暫停狀態(tài)。S31時正常運轉。(二)輸入輸出資源說明:1、輸入信號:四個控制按鈕S0、S1、S2、S3(按鈕按下時S0,松開時S1)。2、外部輸入脈沖信號時鐘源CP(50MHz),應設計一分頻器得到5Hz信號供計數

4、器使用。3、輸出3組顯示譯碼信號,并在FPGA內部經過譯碼后獲得7段LED顯示碼,并通過掃描方式在三個發(fā)光LED顯示數碼管上顯示當前洗衣時間的倒計時(分鐘)、每個洗衣循環(huán)的60s倒計時的十位和個位。4、輸出4個高低電平信號,分別接到外部的4個LED燈指示電機的正轉、間歇、反轉和系統(tǒng)的暫停。(輸出高電平時,對應的LED燈亮)其具體框圖如下:(此圖只是大概結構,設計時可根據自己的思路稍微改動電路圖)正轉指示燈LED1S0S2S3控 制器洗滌時間倒計時計數器七段LED數碼管譯 碼掃描顯示50MHz反轉指示燈LED3暫停指示燈LED4間歇指示燈LED2CLKS1分頻器1Hz60s倒計時計數器圖3 洗衣

5、機控制器結構框圖根據如上說明,本設計的主要任務和設計要求是:1、 按照現(xiàn)代數字系統(tǒng)的Top-Down模塊化設計方法,提出簡易洗衣機控制電路設計系統(tǒng)的整體設計方案,并進行正確的功能劃分,分別提出并實現(xiàn)控制器、計數器、輸出譯碼等模塊化子系統(tǒng)的設計方案。2、 在Quartus的EDA設計環(huán)境中,采用原理圖和Verilog語言混合輸入的方法,完成系統(tǒng)的頂層設計、各子系統(tǒng)的模塊化設計。分別完成各個基于Verilog語言實現(xiàn)的子模塊(包括分頻器、計數器、主控制器、掃描顯示譯碼四部分)的邏輯功能仿真,并對頂層設計進行功能仿真。3、 在2步的基礎上,采用Altera公司的CPLD器件EP1C12F324C8對

6、頂層設計進行適配(Fit Design),生成下載文件。4、 采用DownLoad軟件將設計的JED文件燒錄到試驗板的芯片上,實際測試。二、設計原理與方案(一)、頂層設計方案: 本系統(tǒng)主要有分頻器,計時器(倒計時),和顯示器三大部分。整體設計框圖如下:三個LED指示燈(正轉、反轉和間歇)七段LED數碼管譯 碼掃 描顯 示S1計時器(倒計時)模塊S0S2OUT暫停與LED(暫停)S3其中,分頻器為其他模塊提供合適的脈沖信號,計時器(倒計時)接受外部控制信號(S0 S1 S2),根據不同的信號進行不同的洗衣時間的倒計時并且根據倒計時的時間控制三個LED燈(正轉、反轉與間歇)以及將倒計時結束的信號輸

7、出,顯示器將倒計時的現(xiàn)態(tài)時間顯示。S3與倒計時結束信號一起控制計數器的暫停與暫停燈的亮滅。(二)、分頻器設計方案: 分頻器一輸入兩輸出,輸入為50MHZ的原脈沖信號,輸出clko1為1HZ脈沖信號(給計數器),輸出clko2為1KHZ脈沖信號(給顯示器)。(三)、計時器(倒計時)設計方案: 計時器的輸入有:clk(1HZ脈沖輸入),S0(復位控制輸入),S1(模式控制輸入),S2(時間控制輸入)。輸出有:out(倒計時結束輸出,與S3一起控制計數器的暫停與暫停燈的亮滅),fenshi(倒計時現(xiàn)態(tài)時間的分的十位輸出,給顯示器),fenge(倒計時現(xiàn)態(tài)時間分的個位輸出,給顯示器),miaoshi(

8、倒計時現(xiàn)態(tài)時間的秒的十位輸出,給顯示器),miaoge(倒計時現(xiàn)態(tài)時間秒的個位輸出,給顯示器),LED(正轉、反轉與間歇)。 計時器的工作原理是:當clk出現(xiàn)上升沿時,將時間自減一秒,在按下S0(系統(tǒng)復位)后進入時間選擇上,如果S2(時間輸入)發(fā)生了改變則按新輸入時間倒計時,如果沒有發(fā)生改變則按原有狀態(tài)時間繼續(xù)倒計時直到時間為0:00為止并且反饋倒計時結束(out)信號。其中S1控制模式信號,不按S1時S1=0,執(zhí)行模式一;按下S1時,S1=1,執(zhí)行模式2。.(四)、顯示器設計方案: 將輸入的倒計時現(xiàn)態(tài)時間(fenshi,fenge,miaoshi,miaoge)以七段碼的形式通過數碼管輸出,

9、數碼管的掃描信號del。(五)、暫停設計方案: 本系統(tǒng)中的暫停主要是通過控制CLK的脈沖輸入來控制計時器的計算。當無脈沖輸入時,計時器不運算,即暫停。三、電路設計、仿真與實現(xiàn):(一)頂層的設計實現(xiàn):頂層設計的原理圖:頂層設計的RTL視圖:整體的仿真結果:(二)、分頻器的設計實現(xiàn):分頻器的源程序:module fenpin ( clk,/源脈沖輸入 clko1,/1HZ脈沖輸出 clko2/1KHZ脈沖輸出 );/*=*/input clk;output clko1;output clko2;/*=*/reg clko1;reg clko2;reg 31:0clk1;/控制1HZ的中間變量reg

10、 31:0clk2; /控制1KHZ的中間變量/*=*/initial/初始化 begin clk1<=32'd0; clk2<=32'd0; end/*=*/always (posedge clk )/變頻beginclk1 <= (clk1 = 32'd50_000_000) ? 32'd0 : (clk1 + 32'd1);/仿真的時候 /把50_000_000改小clko1 <= (clk1 = 32'd50_000_000) ? 1'd1 : 1'd0;clk2 <= (clk2 = 32&

11、#39;d50_000) ? 32'd0 : (clk2 + 32'd1);clko2 <= (clk2 = 32'd50_000) ? 1'd1 : 1'd0;end/*=*/Endmodule分頻器的仿真結果:(三)計數器(倒計時)的設計實現(xiàn):計數器(倒計時)的源程序:module daojishi(clk,/脈沖 s0,/開關s0 s1,/開關s1 s2,/開關s2 fenshi,/分的十位 fenge,/分的秒位 miaoshi,/秒的十位 miaoge,/秒的個位 LED,/3個指示 out );/*=*/input clk;/1HZ脈沖

12、input s0;input s1;input s2;output out;output 2:0fenshi;/四位輸出,分十,分個 ,秒十,秒個output 2:0miaoshi;output 3:0fenge;output 3:0miaoge;output 2:0LED;/*=*/reg 3:0fenge;reg 2:0fenshi;reg 2:0miaoshi;reg 3:0miaoge;reg 2:0LED;reg out;/*=*/initial begin miaoshi=3'b000; out=1'd1; miaoge=4'b0000; LED=4'

13、;b0000; end/*=*/always (posedge clk) begin if(s0=1'd0)/判斷是否復位,并且判斷s2,從而改變分的初值 begin fenshi=3'd0; fenge=4'd0; miaoshi=3'd0; miaoge=4'd0; LED=3'b000; out=1'd1; if(s2=1'd0) begin fenshi=3'd1; fenge=4'd5; end else if(s2=1'd1) begin fenshi=3'd3; fenge=4'

14、;d0; end end else if(s0!=1'd0) begin begin if(fenshi=0&&fenge=0&&miaoshi=0&&miaoge=0)/呈0:00,則結束,且輸出OUT為0,使LED3暗 begin LED=4'b0000; out=1'b0; end else if(fenshi!=0|fenge!=0|miaoshi!=0|miaoge!=0)/如果還有時間,則倒計時 begin begin/倒計時 if(miaoge=4'b0000)/秒的個位為0則借位 begin if(

15、miaoshi!=3'd0) begin miaoshi=miaoshi-3'd1; miaoge=4'd9; end else if(miaoshi=3'b000) /如果秒的十位也為0則向分個借位 begin if(fenge!=4'd0) begin fenge=fenge-4'd1; miaoshi=3'd5; miaoge=4'd9; end else if(fenge=4'd0) /如果分個為0則向分十借位 begin fenshi=fenshi-3'd1; fenge=4'd9; miaosh

16、i=3'd5; miaoge=4'd9; end end end else begin miaoge=miaoge-4'd1; end end/*=*/ begin/模式選擇 if(s1=1'b0)/模式1 begin if(miaoshi=3'd5|miaoshi=3'd4)/正轉 begin LED0=1'b1; LED1=1'b0; LED2=1'b0; end if(miaoshi=3'd3|miaoshi=3'd0)/間歇 begin LED0=1'b0; LED1=1'b0; L

17、ED2=1'b1; end if(miaoshi=3'd2|miaoshi=3'd1)/反轉 begin LED0=1'b0; LED1=1'b1; LED2=1'b0; end end/*=*/ else if(s1=1'b1)/模式2 begin if(miaoshi=3'd5|miaoshi=3'd4|(miaoshi=3'd3&&miaoge>=4'd5)/正轉 begin LED0=1'b1; LED1=1'b0; LED2=1'b0; end if(

18、miaoshi=3'd3&&miaoge<=4'd4&&miaoge>=4'd0)|(miaoshi=3'd0&&miaoge<=4'd4&&miaoge>=4'd0)/間歇 begin LED0=1'b0; LED1=1'b0; LED2=1'b1; end if(miaoshi=3'd2|miaoshi=3'd1|(miaoshi=3'd0&&miaoge>=5)/反轉 begin LE

19、D0=1'b0; LED1=1'b1; LED2=1'b0; end end end/*=*/ end endend end/*=*/Endmodule計數器(倒計時)的仿真結果:(四)顯示器設計實現(xiàn):顯示器源程序:module xianshi (clk, fenshi, fenge, miaoshi, miaoge,del, duanma );/*=*/input clk;/1KHZ脈沖input 2:0fenshi;/分input 2:0miaoshi;input 3:0fenge;/秒十input 3:0miaoge;/秒個output 2:0del;/3-8ou

20、tput 6:0duanma;/7段碼/*=*/reg 2:0del;reg 6:0duanma;reg 6:0fenshio;reg 6:0fengeo;reg 6:0miaoshio;reg 6:0miaogeo;/*=*/initial begindel<=3'b000; duanma<=7'b0000_000; end/*=*/always (posedge clk)/3-8譯碼器掃描 begin if(del=3'b111) begindel<=3'b000; end else begindel<=del+3'b001;

21、 end end/*=*/always(fenshi or fenge or miaoshi or miaoge)/翻譯成七段碼begin case(miaoge)/秒的個位 4'b0000: miaogeo<=7'B0111_111;/0 4'b0001: miaogeo<=7'b0000_110;/1 4'b0010: miaogeo<=7'b1011_011;/2 4'b0011: miaogeo<=7'b1001_111;/3 4'b0100: miaogeo<=7'b1100

22、_110;/4 4'b0101: miaogeo<=7'b1101_101;/5 4'b0110: miaogeo<=7'b1111_101;/6 4'b0111: miaogeo<=7'b0000_111;/7 4'b1000: miaogeo<=7'b1111_111;/8 4'b1001: miaogeo<=7'b1101_111;/9 default: miaogeo<=7'b0000_000;/暗 endcasecase(miaoshi)/秒的十位 3'

23、b000: miaoshio<=7'B0111_111;/0 3'b001: miaoshio<=7'b0000_110;/1 3'b010: miaoshio<=7'b1011_011;/2 3'b011: miaoshio<=7'b1001_111;/3 3'b100: miaoshio<=7'b1100_110;/4 3'b101: miaoshio<=7'b1101_101;/5 default: miaoshio<=7'b0000_000;/暗 e

24、ndcase case(fenge)/分的個位 4'b0000: fengeo<=7'B0111_111;/0 4'b0001: fengeo<=7'b0000_110;/1 4'b0010: fengeo<=7'b1011_011;/2 4'b0011: fengeo<=7'b1001_111;/3 4'b0100: fengeo<=7'b1100_110;/4 4'b0101: fengeo<=7'b1101_101;/5 4'b0110: fenge

25、o<=7'b1111_101;/6 4'b0111: fengeo<=7'b0000_111;/7 4'b1000: fengeo<=7'b1111_111;/8 4'b1001: fengeo<=7'b1101_111;/9 default: fengeo<=7'b0000_000;/暗 endcase case(fenshi)/分的十位 3'b000: fenshio<=7'B0111_111;/0 3'b001: fenshio<=7'b0000_11

26、0;/1 3'b010: fenshio<=7'b1011_011;/2 3'b011: fenshio<=7'b1001_111;/3 3'b100: fenshio<=7'b1100_110;/4 3'b101: fenshio<=7'b1101_101;/5 default: fenshio<=7'b0000_000;/暗 endcaseend/*=*/always (fenshio or fengeo or miaoshio or miaogeo)/對應數碼管輸出 begin case (del)3'b000: duanma<=miaogeo;/秒的個位 3'b001: duanma<=miaoshio;/秒的十位 3'b010: duanma<=7'b1000_000;/ -3'b011: duanma<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論