洗衣機人機界面的設計_第1頁
洗衣機人機界面的設計_第2頁
洗衣機人機界面的設計_第3頁
洗衣機人機界面的設計_第4頁
洗衣機人機界面的設計_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學單片機課程設計洗衣機人機界面的設計摘要: 單片機是計算機家庭的一個重要分支,它具有體積小、價格低、面向控制的特點,適用于各種工業(yè)控制、儀器儀表裝置,在人類生產(chǎn)和生活的各個領域都有極為廣泛應用。 本洗衣機控制系統(tǒng),采用目前常用的AT89C51單片機,用c語言的編程方法,完成對洗衣機洗衣全過程的自動控制,并采用LED數(shù)碼顯示洗衣剩余時間。使全自動洗衣機的使用更加簡單、直觀和方便。本設計取材容易,結構簡潔,易于制作,具有一定的實用價值。關鍵字:單片機、洗衣機、c語言目錄引言1第一章 緒論11.1功能概述11.2設計分析及方法論證1第二章 基礎知識介紹22.2 LED數(shù)碼管模塊52.3 鍵

2、盤模塊7第三章 系統(tǒng)硬件電路設計73.1 主控制系統(tǒng)電路73.1.1 時鐘電路83.1.2 復位電路93.2 信號燈顯示電路103.3 數(shù)碼管時間顯示電路103.4 獨立式按鍵電路11第四章 系統(tǒng)軟件設計124.1 keil軟件介紹124.2 程序設計134.2.1 主流程圖134.2.3 自動模式下的洗衣流程14第五章 結論15附錄:16參考文獻31引言 單片機又稱微控制器,或稱嵌入式控制器。而現(xiàn)在的智能家電無一例外是采用微控制器來實現(xiàn)的,所以家用電器是單片機應用最多的領域之一。它是家用電器實現(xiàn)智能化的心臟和大腦。 由于家用電器體積小,故要求其控制器體積更小以便能嵌入其結構之中。而家用電器品

3、種多,功能差異也大,所以又要求其控制器有靈活的控制功能。單片機以微小的體積和編程的靈活性而產(chǎn)生多種控制功能,完全可以滿足家用電器的需求。第一章 緒論1.1功能概述通電后,洗衣機進入暫停狀態(tài),以便放好衣物。若不選擇洗衣周期,則洗衣機從進水過程開始,進水過程完成后,自動進入洗滌,洗滌完成后進入漂洗模式:排水進水漂洗,連續(xù)三次漂洗后進行脫水,脫水完成后洗衣機暫停工作。電機是一個正反轉電機,可以形成往返水流,有利于洗滌衣物。能夠顯示洗滌剩余時間,如果洗衣機出現(xiàn)故障,將會有聲光報警裝置顯示。1.2設計分析及方法論證 洗滌過程實質(zhì)就是使水與洗滌液的混合液與衣服之間有充分的行程沖刷,以使衣服上的污垢得以清除

4、,以達到洗衣的目的,因此,在設計洗衣和漂洗過程中我們通過充分討論決定使用電機的正反轉來實現(xiàn)水的充分攪拌。脫水以電機的快速轉動產(chǎn)生的離心力來實現(xiàn),經(jīng)過討論和實際生活中的經(jīng)驗以及仿真的結果,以上方法完全可行。 本設計用AT89C51單片機實現(xiàn)洗衣機的控制,通過對撥碼開關和鍵盤的操作實現(xiàn)菜單的選擇,當選擇好模式后進入該模式設置該模式下的參數(shù),然后再次掃描鍵盤,按開始鍵使洗衣機進入該模式進行工作。在P3.4為低電平是進入菜單選擇,菜單選擇模式下若P0.0為低電平則進入進水程序,按開始鍵可進行進水,進水完成后自動進入洗衣程序;若P3.7為低電平檢查P0.0、p0.1、p0.2 、p0.3、p0.4的電平

5、,若為低則往下移一位,進入下一個模式,按開始鍵可從這一模式開始工作。在P3.4為高電平時不是菜單模式,則去掃描鍵盤,掃描鍵盤為進水,洗滌,漂洗,排水,脫水模式,待選擇好模式設定好參數(shù)后,然后進入相應模式運行。洗衣機進入自動開始洗衣時,包括進水、洗滌、排水、漂洗、脫水幾個過程。洗衣過程:進入洗衣程序開定時器開始倒計時,根據(jù)選擇的水位進水,進水完成后,進入洗滌過程,電動機開始正反轉過程根據(jù)所選模式中設置的正反轉次數(shù)正反轉的時間自動洗衣;待洗滌完成就進入排水過程,排水時間由水位模式設置,排水結束后進入漂洗過程。漂洗過程:先進行一段時間排水,排水結束再進水,進水完成再進行漂洗,漂洗完成再排水,然后重復

6、上述過程兩次即完成漂洗過程,漂洗完成進入脫水過程,電機高速旋轉,脫水結束,整個洗衣過程也結束,若在洗滌過程中洗衣機出現(xiàn)故障,將會有聲光報警裝置報警。電機的正反轉實現(xiàn)方式:當P3.2為1,P3.3為0時電機正轉,當P3.2和P3.3都為0時電機停轉,當P3.2為0,P3.3為1時電機反轉。電機正常工作時電機工作狀態(tài)LED燈亮。 第二章 基礎知識介紹2.1 AT89C51單片機簡介 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。

7、AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。2.1.1主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部RAM

8、32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 2.1.2管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1

9、口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制

10、信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通 P3口同時為閃爍編程和編程校驗接收一些

11、控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外

12、部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.2 LED數(shù)碼管模塊LED數(shù)碼管是由若干個發(fā)光二級管組成顯示字段的顯示器件,有七段和

13、“米”字段之分。LED數(shù)碼管有共陰極和共陽極兩種,發(fā)光二極管的陽極接在一起的稱為共陽極數(shù)碼管,陰極接在一起的稱為共陰極數(shù)碼管。一個數(shù)碼管由8個發(fā)光二極管組成,其中,7個發(fā)光二極管ag構成字型“8”的各個筆劃,另一個dp發(fā)光二極管為小數(shù)點。當某段發(fā)光二極管上施加一定的正向電壓時,該段比劃就亮;不加電壓就暗。另外,為了保護各段LED不被損壞,應該使其工作在安全電流下,故必須外加限流電阻。本系統(tǒng)使用兩位共陰七段數(shù)碼管,其引腳如下圖所示:在實際應用中,LED數(shù)碼管有靜態(tài)顯示和動態(tài)顯示兩種顯示方式。靜態(tài)顯示方式,即七段LED數(shù)碼管在顯示某一個字符時,相應的段恒定的導通或截止,直至換顯其他字符為止。LED

14、 的靜態(tài)顯示雖然有編程容易、管理簡單等優(yōu)點,但是靜態(tài)顯示所要占的I/O 口資源很多,所以在顯示的LED 點較多的情況下,一般都采用動態(tài)顯示方式,即在多位七段LED 顯示中,將所有位的段選線并聯(lián)在一起,由8 個I/O 口來控制8 個段。而公共端(共陽極/共陰極)則分別由相應的I/O 口控制,以實現(xiàn)各個位的分時選通。由于所有的段選線并聯(lián)到同一個I/O,由這個I/O 口來控制,因此,若是所有的4 位7 段LED 都選通的話,4 位7 段LED 將會顯示相同的字符。要使各個位的7 段LED 顯示不同的字符,就必須采用動態(tài)掃描方法來輪流點亮每一位7 段LED,即在每一瞬間只選通一位7 段LED 進行顯示

15、單獨的字符。在此段點亮時間內(nèi),段選控制I/O 口輸出要顯示的相應字符的段選碼,而位選控制I/O 口則輸出位選信號,向要顯示的位送出選通電平(共陰極則送出低電平,共陽極則送出高電平),使得該位顯示相應字符。這樣將四位7 段LED 輪流去點亮,使得每位分時顯示該位應顯示的字符。由于人眼的視覺暫留時間為0.1 秒,當每位顯示的間隔未超過33ms 時,并在顯示時保持直到下一位顯示,則由于人眼的視覺暫留效果眼睛看上去就像是4 位7 段LED 都在點亮。設計時,要注意每位顯示的間隔時間,由于一位7 段LED 的熄滅時間不能超過100ms,也就是說點亮其它位所用的時間不能超過100ms,這樣當有N位的7 段

16、LED 用來顯示時,每一位間隔的時間t 就必須符合下面的式子:t100ms/(N-1) 比如,現(xiàn)在使用2位,也就是N2,則由式子可以算出t100ms,就是每一位的間隔時間不能超過50ms。實際應用中,時間可以設得短一些,比如5ms5。2.3 鍵盤模塊 在單片機應用系統(tǒng)中,用戶要向計算機輸入數(shù)據(jù)和命令,這些任務主要由鍵盤來完成。鍵盤由若干個按鍵按一定規(guī)則組合而成,根據(jù)按鍵的識別方法分類,可分為編碼鍵盤和非編碼鍵盤,在單片機系統(tǒng)中多用非編碼鍵盤。鍵盤中的按鍵都是一個常開開關電路,是利用機械觸點來實現(xiàn)按鍵的閉合和釋放。由于機械觸點的彈性作用,觸點在閉合和斷開瞬間的電接觸情況不穩(wěn)定,造成了電壓信號的抖

17、動現(xiàn)象。鍵的抖動時間一般為510ms。這種現(xiàn)象會引起單片機對于一次鍵操作進行多次處理,因此須設法消除鍵接通或斷時的抖動現(xiàn)象。去抖動的方法有硬件和軟件兩種方法,本系統(tǒng)采用軟件延時的方法來避開抖動階段。采用軟件去抖動的方法是在單片機檢測到有鍵按下時執(zhí)行一個510ms的延時程序后再次檢查該鍵電平是否仍保持閉合狀態(tài)如保持閉合狀態(tài),則確認為有鍵按下,否則按無鍵按下處理。當檢測到按鍵釋放后,也同樣要延時510ms,等待后沿抖動消失后才能轉入該鍵的處理程序,只有這樣才能保證當按鍵一次時,CPU僅做一次相應處理。 第三章 系統(tǒng)硬件電路設計3.1 主控制系統(tǒng)電路 主控制器采用MCS51系列單片機AT89C51,

18、是一款性能穩(wěn)定的8位單片機。AT89C51單片機內(nèi)部由CPU、8KB的Flash ROM、256B的RAM、4個8位的I/O并行端口、一個串行口、三個16位定時/計數(shù)器及中斷系統(tǒng)等組成。AT89C51外部需接時鐘電路和復位電路,單片機才能正常工作。此外,VCC引腳需接電源,GND引腳需接地,EA/VPP引腳需接上拉電阻連接到電源。整套電路系統(tǒng)由主控制系統(tǒng)電路、信號燈顯示電路、數(shù)碼管時間顯示電路和獨立式鍵盤電路等組成。系統(tǒng)總電路圖如下所示: 3.1.1 時鐘電路 時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準,時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機內(nèi)部有一個用于構

19、成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式,如圖3-1所示。在其外接晶體振蕩器(簡稱晶振)或陶瓷諧振器就構成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖8。圖3-1中,外接晶體以及電容C1和C2構成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值為22pF,晶振頻率約為12MHz 。 圖3-1 MCS-51單片機內(nèi)部高增益反向放大器3.1.2 復位電路 為了初始化單片機內(nèi)部的某些特殊功能寄存器

20、,必須利用復位電路,復位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機的復位是靠外電路來實現(xiàn)的,在正常運行情況下,只要RST引腳上出現(xiàn)兩個機器周期時間以上的高電平,即可引起系統(tǒng)復位,但如果RST引腳上持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。復位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復位的影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復位操作有兩種情況,即上電復位和手動(開關)復位。本系統(tǒng)采用上電復位方式。圖3-2中R1和Cl組成上電復位電路,其值R取為8.2K, C取為

21、10F。圖3-2 上電復位電路 3.2 信號燈顯示電路 P3口外接6個發(fā)光二極管,采用共陽極接法,相應口線輸出高電平則“信號燈”滅,相應口線輸出低電平則“信號燈”亮。為了保護發(fā)光二極管不被損壞,應該使其工作在安全電流下,故必須外加限流電阻,選用1k的電阻,如圖3-3所示。 圖 3-33.3 數(shù)碼管時間顯示電路LED數(shù)碼管通過P0和P2口以共陰極接法連接,如圖3-4所示,P0作字形口,輸出段碼,故兩個數(shù)碼管的段碼線對應并聯(lián)在一起,由P0口控制數(shù)碼管的顯示。P2口作字位口,輸出位碼。其中,P2.0P2.3分別控制兩個數(shù)碼管的個、十位顯示,以實現(xiàn)各位的分時選通。圖3-43.4 獨立式按鍵電路 AT8

22、9C51單片機的P3.4P3.7口分別接菜單、開始、停止、菜單選擇按鍵,當菜單按鍵按下時進入菜單選擇模式,按菜單選擇鍵進行洗衣機工作狀態(tài)的選擇。需按下“啟動”鍵才能進入正常工作,按下停止鍵,洗衣機工作停止,結束工作。圖3-5第四章 系統(tǒng)軟件設計4.1 keil軟件介紹keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近幾年各仿真機廠商紛紛宣布全面支持keil即可看出。keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開放方案,通過一個集成開發(fā)環(huán)境將這些部分組成在一起. 單片機應用系統(tǒng)的軟件設計是系統(tǒng)設計中最基本而且工作量較大的任務。與系統(tǒng)機上操

23、作系統(tǒng)支持下的純軟件不同,單片機的軟件設計是在裸機的條件下進行的,而且隨應用系統(tǒng)的不同而不同。在軟件中一般需考慮以下幾個方面:1)根據(jù)要求確定軟件的具體任務細節(jié),然后確定合理的軟件結構。一般系統(tǒng)軟件的主程序和若干個子程序及中斷服務程序組成,詳細劃分主程序、子程序和中斷服務程序的具體任務,確定各個中斷的優(yōu)先級。主程序是一個順序執(zhí)行的無限循環(huán)的程序,不停地順序查詢各種軟件標志,以完成對事務的處理。在子程序和中斷服務程序中,要考慮現(xiàn)場的保護和恢復,以及它們和主程序之間的信息交換方法。2)程序的結構用模塊化結構,即把監(jiān)控程序分解為若干個功能相對獨立的較小的程序模塊分別設計,以便于調(diào)試。具體設計時可采用

24、自底向上或自頂向下的方法。3)在進行程序設計時,先根據(jù)問題的定義描述出各個輸入變量和輸出變量之間的數(shù)學關系,即建立數(shù)學模型,然后繪制流程圖,再根據(jù)流程圖用匯編語言進行具體程序的編寫。4)在程序設計完成后,利用相應的開發(fā)工具和軟件進行程序的匯編,生成程序的機器碼6。本設計中系統(tǒng)軟件是采用C51編寫的.在研制單片機應用系統(tǒng)時,匯編語言是一種常用的軟件工具,具有簡單的語法結構和強大的處理功能,具有運行速度快、編譯效率高,移植性好和可讀性強等多種優(yōu)點,可以實現(xiàn)對系統(tǒng)便件的直接操作。用C語言來編寫目標系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而開發(fā)出大規(guī)模、高性能的應用

25、系統(tǒng)。4.2 程序設計4.2.1 主流程圖開始 初始化開始鍵按下?菜單鍵按下? N Y Y結束鍵? Y Y 選擇程序 進入默認模式 預設模式 結束鍵?結束 4.2.2 電機正反轉流程開始時間到?電機正轉N時間到?NY電機停轉電機停轉Y時間到?時間到?NNYY電機反轉RET4.2.3 自動模式下的洗衣流程進水漂洗開始排水漂洗進水進水漂洗脫水洗滌結束排水 排水進水第五章 結論 經(jīng)過了一周的課程設計,深有感觸。剛開始時,我們接到這個任務,大腦一片茫然,根本不知道如何下手。 用isis及keil uVisiion4軟件進行仿真分析。首先要搞清楚洗衣機的工作原理,與外部電路的連接,單片機原理,c語言等。

26、因為基礎知識不夠扎實,對各種硬件和程序的認識存在各方面的不足。前期這些障礙給我們造成了很大的困難。我們從最初開始,通過查找各種書籍,上網(wǎng)查閱相關知識,向老師及同學請教,經(jīng)過反復的修改,最終才得已完成這份設計。雖然還存在各種的不足,但是看著我們自己辛苦設計出來的作業(yè),心里還是充滿了自豪。從本次課程設計的目的來看,收獲也是不少的,它使我們對課本以及以前學過的知識有了一個更好的總結與理解,也讓我們知道了,光分開使不夠的,從外面學到的知識要把形成一各整體,這也很好的訓練了外面對開發(fā)一個項目應該有怎樣的思路和準備更清晰。這次設計實驗鍛煉了我們的團隊合作能力,加強了我們的動手能力,使我們從中學到了很多知識

27、。最后要感謝本次設計實驗的指導老師,在老師的精心指導下,我們才最終突破一些難以解決的問題,完成這次設計任務,同時還要感謝我的同組同學,在與他和合作中他給了我很大的幫助,與他的討論和交流給了自己很多有益的啟迪,對自己掌握學科知識、完成設計任務和論文寫作給予了很大幫助。同時,還要感謝學校為我們安排了這個教學環(huán)節(jié),也感謝在此次設計過程中給與我極大幫助和理解班主任和輔導員。 附錄:程序設計:#include/*/#define uchar unsigned char#define uint unsigned int/*/*/sbit mo_r = P32; /電機右控制線sbit mo_l = P33

28、;/電機左控制線/*/sbit key_menu = P34; / 菜單按鍵sbit key_on = P35; / 開始按鍵sbit key_off = P36; / 結束按鍵sbit key_se = P37; / 菜單選擇按鍵/*/sbit led_in = P00;/進水指示燈sbit led_xi = P01; / 洗衣指示燈sbit led_piao = P02;/漂洗指示燈sbit led_xx = P03; / 脫水指示燈sbit led_out = P04; / 排水指示燈sbit led_over = P05; / 洗衣結束指示燈sbit led_work = P06; /

29、 電機工作指示燈sbit led_wring = P07; /報警指示燈sbit other = P31; / 脫水電源控制開關sbit anther = P30; /洗衣電源控制開關/*/uchar code num16=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /*/char sec = 0; / 時間秒char min = 0; / 時間分uchar count=0; / 中斷計數(shù)uchar flag0=0; / 洗衣機工作狀態(tài)標志uchar flag1=0; / 進水

30、次數(shù)標志uchar flag2=0; / 排水次數(shù)標志uchar flag3=0; / 漂洗次數(shù)標志uchar err =0; /報警標志uchar quan = 0;/正反轉計數(shù) /*/ 函數(shù)聲明/*/void delay();/延時函數(shù)void in();/ 進水子程序void out(); / 排水子程序void over(); / 結束子程序void xi(); / 洗衣子程序void piao();/ 漂衣子程序void xx(); /脫水子程序void on(); / 工作on處理子程序void se(); / 顯示菜單選擇void SEG_display(); /顯示時間子程序v

31、oid key_scan(); / 按鍵掃描子程序/*/ 延時函數(shù)/*/void delay(uint i)uint x,y;for(x=i;x0;x-) for(y=120;y0;y-);/*/ 工作on處理子程序/*/void on()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;P0 = 0xff;if(flag0 = 0) in();if(flag0 = 1) xi();if(flag0 = 2) piao();if(flag0 = 3) xx();if(flag0 = 4) out();/

32、*/ 結束子程序/*/void over()other=0;anther=0;P0 = 0xff;mo_r=0;mo_l=0;led_over = 0;EA=0;/*/ 進水子程序/*/void in()anther=0;other=0;P0 = 0xff;led_in = 0;flag1+;mo_r = 0;mo_l = 0;min = 0;sec = 8;/*/洗衣子程序/*/void xi() anther=1; other=0; P0 = 0xff; led_work = 0; led_xi = 0; mo_r = 1; mo_l = 0; min = 6; sec = 36; qua

33、n = 0;/*/ 漂衣子程序/*/void piao() anther=1;other=0;P0 = 0xff;led_piao = 0;led_work = 0;flag3+;mo_r = 1;mo_l = 0;min = 5;sec = 35;quan = 0;/*/脫水子程序/*/void xx()other=1;anther=0;P0 = 0xff;led_xx = 0;mo_r = 0;mo_l = 1;min = 2;sec = 50;/*/ 排水子程序/*/void out()anther=0;other=0;P0 = 0xff;led_out = 0;flag2+;mo_r

34、= 0;mo_l = 0;min = 1;sec = 5;/*/ 顯示菜單選擇/*/void se()P0 = 0xff;if(flag0 = 5)flag0 = 0; if(flag0 = 0)led_in = 0;if(flag0 = 1)led_xi=0;if(flag0 = 2)led_piao=0;if(flag0 = 3)led_xx=0;if(flag0 = 4)led_out=0;/*/ 菜單處理子程序/*/void menu() min = 0;sec = 0;mo_r=0;mo_l=0;SEG_display(); while(1) if(key_on = 0)delay(

35、5);if(key_on = 0)while(!key_on);on();break;/*/if(key_off = 0)delay(5);if(key_off = 0)while(!key_off);over();break;/*/if(key_se = 0)delay(5);if(key_se = 0)while(!key_se);flag0+;se();/*/ 按鍵掃描子程序/*/void key_scan() if(key_menu = 0)delay(5);if(key_menu = 0)while(!key_menu);menu();/*/if(key_on = 0)delay(5);if(key_on = 0)while(!key_on);on();/*/if(key_off = 0)delay(5);if(key_off = 0)while(!key_off);over();/*/顯示子程序/*/void SEG_display()P1=0x01;P2 = nummin/10;delay(10);P1 = 0x02;P2 = nummin%10;delay(10);P1 = 0x04;P2

溫馨提示

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

評論

0/150

提交評論