基電子信息工程畢業設計于單片機的洗衣機控制系統_第1頁
基電子信息工程畢業設計于單片機的洗衣機控制系統_第2頁
基電子信息工程畢業設計于單片機的洗衣機控制系統_第3頁
基電子信息工程畢業設計于單片機的洗衣機控制系統_第4頁
基電子信息工程畢業設計于單片機的洗衣機控制系統_第5頁
已閱讀5頁,還剩19頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、畢業設計說明書學生姓名:宇利華學 號: 20064551 系 部: 理工系專業年級: 06級電子信息工程 題目: 基于單片機的洗衣機控制系統指導教師:彭沛夫 評閱教師:2010 年5月23日中文摘要摘要:基于MCS-51 單片機的洗衣控制系統,控制面板由按鍵、指示燈和LED 顯示器組成。按鍵選擇洗衣機工作方式,指示燈配合按鍵工作,LED 顯示器則顯示洗衣機洗滌和脫水時間。洗衣機的整體電路模塊包括鍵盤矩陣、指示燈、電動機控制及電源電路??刂瞥绦蛟O計包括定時中斷服務程序、外中斷服務程序及主程序。根據洗衣機的控制要求,從功能要求、硬件設計、軟件設計三個方面研究和設計了以MCS-51單片機為控制核心的

2、洗衣機控制系統。給出了硬件線路框圖和相關的控制程序流程圖。通過仿真實驗證明該系統能夠實現所需要的各種功能。關鍵詞MCS-51單片機;洗衣機控制系統;硬件;控制程序 外文摘要Title The Washing Machine Control System Based On Single ChipAbstract Washing machine control system based on singlechip MCS-51, the control panel is composed by keys,indicating lamps and LED. The keys chose the wo

3、rk modes, the indicating lamps cooperated with the keys. The LEDmonitor showed the time of washing and dehydration. The circuit of washing machine includes keyboard matrix, indicatinglamp, motor control and power circuit. The control program includes timing interrupt service program, external interr

4、uptservice program and main program.According to the washing machines control requirements,a control system with the MCS-51SCMC as the core about washing machines were described in the following three aspects of functional requirements,hardware design,software design.The hardware circuit diagram and

5、 related control flow chart of the program were given. KeywordsMCS-51SCMC;Washing machine control system; Hardware; Control program目 錄1 引言11.1 洗衣機的發展11.2 洗衣機種類31.3 課題研究方向42 硬件設計基本介紹52.1 總體方案52.2 器件及原理簡介62.2.1 MCS-51單片機的介紹62.2.2 74LS138譯碼器的介紹92.2.3 蜂鳴器的介紹102.2.4電磁閥的介紹112.3 電源部分的設計112.4 功能設置及控制電路的設計12

6、2.5 洗衣機狀態顯示的設計122.6 輸出控制電路的設計133 軟件設計143.1 主程序設計143.2 水位檢測程序設計163.3 洗滌程序設計163.4 脫水、漂洗程序設計173.5 顯示程序設計183.6 按鍵程序設計213.7 定時程序設計244 軟件調試27結論29致謝30參考文獻31附錄A 硬件原理圖32附錄B 元件清單33附錄C 源程序341 引言洗衣機是人們日常生活中常見的家電,已經成為人們生活中不可缺少的家電電器。在工業生產中應用也十分廣泛。但是傳統的基于繼電器的控制,已經不能滿足人們對洗衣機自動化程度的要求了。洗衣機需要更好地滿足人們的需求,必須借助于自動化技術的發展,用

7、于單片機來作為控制器,就能很好地滿足洗衣機對自動化的要求,并且控制方式靈活多樣,控制模式可以根據不同的場合的應用而有所不同。自動化技術的飛速發展使得洗衣機由初始的半自動式洗衣機發展到現在的全自動洗衣機,又正在向智能化洗衣機方向發展。單片機又稱為微控制器或稱嵌入式控制器。而現在的智能家電無一例外是采用微控制器來實現的,多以家用電器是單片機應用最多的領域之一。它是家用電器實現智能化的心臟和大腦。由于家用電器體積小,故要求其控制器體積更小以便能嵌入其結構之中。而家用電器品種多,功能差異也大,所以又要求其控制器有靈活的控制功能。單片機以微小的體積和編程的靈活性而產生多種控制功能,完全可以滿足家用電器的

8、需求。1.1 洗衣機的發展從古至今,洗衣服都是一項難于逃避的家務勞動,而在洗衣機出現以前,對于許多人而言,它并不像田園詩描繪的那樣充滿樂趣,手搓,棒擊,沖刷,甩打.這些不斷重復的簡單的體力勞動,留給人的感受常常是:辛苦勞累。1858年,一個叫漢密爾頓.史密斯的美國人在匹茨堡制成了世界上第一臺洗衣機。該洗衣機的主件是一只圓桶,桶內裝有一根帶槳狀葉子的直軸。軸是通過搖動和它相連的曲柄轉動的。次年在德國出現了一種用搗衣杵作為攪拌器的洗衣機,當搗衣杵上下運動時,裝有彈簧的木釘便連續作用于衣服。19世紀末期的洗衣機已經發展到一只用手柄轉動的八角形洗衣缸,依稀時缸內放入熱肥皂水,衣服洗凈后,由軋液裝置把衣

9、服擠干。1874年,“手洗時代”受到了前所未有的挑戰,美國人比爾。布萊克斯發明了木質手搖洗衣機。這套裝置的問世,讓那些為提高生活效率而冥想苦思的人士大受啟發,洗衣機的改進過程開始大大加快。1880年,美國又出現了蒸汽洗衣機,采用了智能水循環系統,可將高濃度洗衣液于高溫蒸汽同時對衣物進行雙重噴淋,貫穿全部洗滌過程,實現了全球獨創性的“蒸汽洗”全新洗滌方式。蒸汽洗衣機之后,水力洗衣機、內燃機洗衣機也相繼出現。1910年,美國的費希爾在芝加哥試制成功世界第一臺電動洗衣機。電動洗衣機的問世,標志著人類家務勞動自動化的開端。1922年,美國瑪塔依格公司改造了洗衣機的洗滌結構,把拖動式改為攪拌式,使洗衣機

10、的結構固定下來,這也是第一臺攪拌式洗衣機的誕生。攪拌式洗衣機結構科學合理,受到人們的普遍歡迎。1932年,美國醫本德克斯航空公司宣布,他們研制成功第一臺前裝式滾筒洗衣機,洗滌、漂洗、脫水在同一個滾筒內完成。這意味著電動洗衣機的型式躍上了一個新的臺階,朝自動化又前進了一大步。第一臺自動洗衣機于1937年問世,這是一種“前置”式自動洗衣機??恳桓降妮S帶動的缸可容納4000克衣服。衣服在注滿水的缸內不停地上下翻滾,使之去污除垢。到了40年代便出現克現代的“上置”式自動洗衣機。隨著工業化的加速,世界各國也加快了洗衣機研制的步伐。首先由英國研制并推出了一種噴流式洗衣機,它是靠筒體一側的運轉波產生的強

11、烈渦流,使衣服和洗滌液一起在筒內不斷翻滾,洗凈衣物。1955年,在引進英國噴流式洗衣機的基礎上,日本研制出獨具風格、并流行至今的波輪式洗衣機。至此,波輪式、滾筒式、攪拌式在洗衣機產生領域三分天下的局勢面初步形成。60年代的日本出現了帶干桶的雙桶洗衣機,人們稱之為“半自動型洗衣機”。70年代,產生出波輪式套桶全自動以洗衣機。70年代后期,以電腦控制的全自動洗衣機在日本問世,開創了洗衣機發展史的新階段。80年代,“模糊控制”的應用使得洗衣機操作更簡便,功能更完備,洗衣程序更隨人意,外觀造型更為時尚。90年代,由于電機調速技術的提高,洗衣機實現了寬范圍的轉速變換與調節,誕生了許多新水流洗衣機。此后,

12、隨著電機驅動技術的發展與提高,日本生產了電機直接驅動式洗衣機,省去了齒輪傳動和變速機構,引發了洗衣機驅動方式的巨大革命。之后,隨著科技的進一步發展,滾筒洗衣機已經成為大家耳濡目染的產品。伴隨著科技的進一步發展,相信新型更適合人們使用的洗衣機會給我們的生活帶來新的方式。1.2 洗衣機種類家用洗衣機的種類很多,按其結構原理可以分為以下幾類:1、波輪式洗衣機:這種洗衣機的主要優點是洗滌時間短,洗凈度較高,水位可調,品種多,適宜于洗滌棉、麻、纖和混紡等織物。缺點是易使衣物纏繞,影響洗凈的均勻性,磨損率也較高。新穎的大波輪、新水流洗衣機,其性能有明顯的改善。2、滾筒式洗衣機:其優點是洗滌動作比較柔和,對

13、衣物的磨損小,用水量和洗滌劑都比較省,適合洗滌毛料織物。但是機器結構復雜,洗凈度低,耗電量大。售價較高。3、攪拌式洗衣機:這種洗衣機好似手工洗滌的揉搓,受力均勻,衣物磨損小,洗滌容量大。缺點是洗滌時間長,結構比較復雜,售價高。4、噴流式洗衣機:其特點是洗滌時間短,污垢容易洗掉,及其結構簡單,故障較少。但由于水流激烈,衣物容易擰絞在一起,因而洗滌不均,對衣物損傷較重,洗滌時洗滌液容易飛濺。除此之外還有波輪攪拌洗衣機、噴淋漂洗洗衣機、振動式洗衣機、超聲波洗衣機等等。1.3 課題研究方向洗衣機的洗滌原理是由模擬人工洗滌衣物發展而來的,即通過翻滾、摩擦、水沖刷等機械作用以及洗滌劑的表面活化作用,將附著

14、在衣物上的污垢除掉,以達到洗凈衣物的目的?,F今,大多數的洗衣機都使用以單片機為核心的控制電路來控制電動機、數碼顯示管、 排水閥及蜂鳴器的電壓輸出,使洗衣機根據程序運轉。本設計在設計洗衣機的控制系統時,洗衣機通過控制系統設定洗衣程序,在內桶(洗滌脫水桶)自動完成注水、洗滌、漂洗、浸泡、排水和脫水全過程。洗衣時,控制系統打開水電磁閥,開始注水;當洗滌脫水桶內的水位達到系統設定值時,水位檢測器向單片機發送一個低電平,通知控制系統關閉進水電磁閥,同時啟動電動機洗衣。電機在系統的控制下進行正轉、停、反轉,通過傳動機構帶動波輪執行洗滌程序;當洗滌時間終了,控制系統切斷電機電路,打開排水電磁閥,開始排水;然

15、后再次注水,洗衣機進入漂洗狀態,完成漂洗程序(通常為2次漂洗),在注水進行浸泡;浸泡完,開始排水,同時排水電磁閥的動作帶動減速離合器制動臂,使離合器棘輪與棘爪分離,制動帶松開,為脫水程序作好準備:排水結束后,系統控制電機單方向高速運轉,完成脫水程序;當脫水程序終了,系統控制排水電磁閥和電機斷電,排水閥和減速離合器的制動臂復位,同時蜂鳴器奏響音樂,通知用戶整個洗衣程序結束。2硬件設計基本介紹2.1總體方案本設計以MCS-51單片機為核心,設計由電源、數字控制電路和機械控制電路三大模塊構成的控制系統,實現對洗衣機整個洗衣過程的控制。洗衣過程主要包括洗滌過程、漂洗過程、脫水過程。根據洗衣過程的要求,

16、控制程序設計主要包括主程序、內部定時中斷服務程序、外部服務中斷程序的設計。本設計要實現的功能有:(1)用戶參數的輸入:用戶根據衣物的數量和質地確定洗滌時間、漂洗次數、脫水時間,然后通過按鍵輸入具體的參數。(2)參數和時間的顯示:靈活地運用數碼顯示管會帶來許多方便,它可以用來顯示用戶實時所處的洗衣功能狀態以及所剩時間。(3)實時控制的實現:單片機在獲取了用戶輸入的參數后,對其進行分析處理,然后按照計算結果對洗衣機過程進行實時控制。(4)水位檢測的實現:水位的高低影響著整個洗衣過程的進行,因此需要水位檢測器將水位的變化發送給單片機,單片機根據水位的情況確定下一步應該做什么。(5)洗衣過程的實現:一

17、般的洗衣過程包括注水、洗滌、漂洗、排水和脫水這些步驟。在洗衣過程中,系統主要控制進水電磁閥、排水電磁閥的打開和關閉,電機的正轉、反轉和停止。(6)洗衣完畢的通知:當洗衣過程結束后,蜂鳴器就報警通知用戶洗衣完畢。根據設計要求,其基本系統組成框圖如2.1所示。圖2.1 系統組成框圖2.2器件及原理簡介根據洗衣機的基本功能,硬件電路設計需要考慮洗衣機的進水、洗滌、漂洗、排水、脫水等問題,及時間設定長短、工作時間或剩余時間的顯示、工作過程中的暫停、啟動、復位、洗完后的報警等問題。采用51系列單片機作為控制核心,主要包括電源部分、功能設置及控制電路、洗衣機狀態顯示及輸出控制電路。主要組成部件有:單片機、

18、74LS138譯碼器、指示燈、LED顯示器、電動機、蜂鳴器、電磁閥以及按鍵等。2.2.1MCS-51單片機的介紹MCS-51單片機組成中包含運算器、控制器、片內存儲器、4個I/O口、串行口、定時器/計數器、中斷系統、振蕩器的功能部件。圖中SP是堆棧指針寄存器,PC是程序計數器,PSW是程序狀態字寄存器,DPTR是數據指針寄存器。MCS-51系列單片機芯片均為40條引腳,如下圖所示:MCS-51單片機引腳圖各引腳功能說明如下:1.主電源引腳 Vcc(40腳):接+5V電源正端。 Vss(20腳):接+5V電源地端。 2.外接晶體引腳 XTAL1(19腳):接外部石英晶體的一端。在單片機內部,它是

19、一個反相放大器的輸入端,這個放大器構成了片內振蕩器。當采用外部時鐘時,對于HMOS 單片機,該引腳接地;對于CHMOS單片機,該引腳作為外部振蕩信號的輸入端。 XTAL2(18腳):接外部石英晶體的另一端。在單片機內部,它是片內振蕩器的反相放大器的輸出端。當采用外部時鐘時,對于HMOS單片機,該引腳作為外部振蕩信號的輸入端;對于CHMOS單片機,該引腳懸空不接。 3.輸入/輸出引腳 (1)P0口(3932腳):P0.0P0.7統稱為P0口。在不接片外存儲器與不擴展I/O口時,可作為準雙向輸入/輸出口。在接有片外存儲器或擴展I/O口時,P0口分時復用為低8位地址總線和雙向數據總線。(2)P1口(

20、18腳):P1.0P1.7統稱為P1口,可作為準雙向I/O口使用。對于52子系列,P1.0與P1.1還有第二功能:P1.0可用作定時器/計數器2的計數脈沖輸入端T2,P1.1可用作定時器/計數器2的外部控制端T2EX。 (3)P2口(2128腳):P2.0P2.7統稱為P2口,一般可作為準雙向I/O口使用;在接有片外存儲器或擴展I/O口且尋址范圍超過256字節時,P2口用作高8位地址總線。引腳第二功能P3.0 RXD 串行口輸入P3.1 TXD 串行口輸出端P3.2 INT0 外部中斷0請求輸入端,低電平有效P3.3 INT1 外部中斷1請求輸入端,低電平有效P3.4 T0 定時器/計數器0計

21、數脈沖輸入端P3.5 T1 定時器/計數器1計數脈沖輸入端P3.6 WR 外部數據存儲器寫選通信號輸入端,低電平有效P3.7 RD 外部數據存儲器讀選通信號輸入端,低電平有效(4)P3口(1017腳):P3.0P3.7統稱為P3口。除作為準雙向I/O口使用外,還可以將每一位用于第二功能,而且P3口的每一條引腳均可以獨立定義為第一功能的輸入輸出或第三功能。P3口的第二功能如表1.1所示。4. 控制線(1)ALE/PROG(30腳):地址鎖存有效信號輸入端。ALE在每個機器周期內輸出兩個脈沖。在訪問片外程序存儲器期間,下降沿用于控制鎖存P0輸出的低8位地址;在不訪問片外程序存儲器期間,可作為對外輸

22、出的時鐘脈沖或用于定時目的。但要注意,在訪問片外數據存儲器期間,ALE脈沖會跳空一個,此時作為時鐘輸出就不妥了。對于片內含有EPROM的機型,在編程期間,該引腳用作編程脈沖PROG的輸入端。(2)PSEN(29腳):片外程序存儲器讀選通信號輸出端,低電平有效。當從外部程序存儲器讀取指令或常數期間,每個機器周期該信號兩次有效,以通過數據總線P0口讀回指令或常數。在訪問片外數據存儲器期間,PSEN信號將不再出現。(3)RST/VPD引腳(9腳):RST即為RESET,VPD為備用電源。該引腳為單片機的上電復位或掉電保護端。當單片機振蕩器工作時,該引腳上出現持續兩個機器周期的高電平,就可實現復位操作

23、,使單片機回復到初始狀態。上電時,考慮到振蕩器有一定的起振時間,該引腳上高電平必須持續10ms以上才能保證有效復位。當Vcc發生故障,降低到低電平規定值或掉電時,該引腳可接上備用電源VPD(+5V)為內部RAM供電,以保證RAM中的數據不丟失。(4)EA/Vpp(31腳):EA為片外程序存儲器選用端。該引腳有效(低電平)時,只選用片外程序存儲器,否則單片機上電或復位后選用片內程序存儲器。對于片內含有EPROM的機型,在編程期間,此引腳用作21V編程電源Vpp的輸入端。綜上所述,MCS-51系列單片機的引腳可歸納為以下兩點:(1)單片機功能多,引腳數少,因而許多引腳都有第二功能。(2)單片機對外

24、呈現3總線形式,由P2、P0口組成16位地址總線;由P0口分時復用為數據總線;由ALE、PSEN、RST、EA與P3口中的INT0、INT1、T0、T1、WR、RD共10個引腳組成控制總線。由于是16位地址線,因此,可使片外存儲器的尋址范圍達到64KB。2.2.2 74LS138譯碼器的介紹74LS138 為3 線8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結構型式,其工作原理如下:當一個選通端(G1)為高電平,另兩個選通端(/(G2A)和/(G2B))為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應的輸出端以低電平譯出。利用 G1、/(G2A)和/(G2

25、B)可級聯擴展成 24 線譯碼器;若外接一個反相器還可級聯擴展成 32 線譯碼器。若將選通端中的一個作為數據輸入端時,74LS138還可作數據分配器。2.2.3 蜂鳴器的介紹蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。蜂鳴器的結構原理1壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發光二

26、極管。多諧振蕩器由晶體管或集成電路構成。當接通電源后(1.515V直流工作電壓),多諧振蕩器起振,輸出1.52.5kHZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。2電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發聲。蜂鳴器的制作(1)制備電磁鐵M:在長約6厘米的鐵螺栓上繞100圈導線,線端留下5厘米作引線,用透明膠布把線圈粘好

27、,以免線圈松開,再用膠布把它粘在一個盒子上,電磁鐵就做好了。(2)制備彈片P:從鐵罐頭盒上剪下一條寬約2厘米的長鐵片,彎成直角,把電磁鐵的一條引線接在彈片上,再用膠布把彈片緊貼在木板上。(3)用曲別針做觸頭Q,用書把曲別針墊高,用膠布粘牢,引出一條導線,如圖連接好電路。(4)調節M與P之間的距離(通過移動盒子),使電磁鐵能吸引彈片,調節觸點與彈片之間的距離,使它們能恰好接觸,通電后就可以聽到蜂鳴聲。2.2.4電磁閥的介紹電磁閥是用來控制流體的方向的自動化基礎元件,屬于執行器;通常用于機械控制和工業閥門上面,對介質方向進行控制,從而達到對閥門開關的控制。工作原理電磁閥里有密閉的腔,在不同位置開有

28、通孔,每個孔都通向不同的油管,腔中間是閥,兩面是兩塊電磁鐵,哪面的磁鐵線圈通電閥體就會被吸引到哪邊,通過控制閥體的移動來檔住或漏出不同的排油的孔,而進油孔是常開的,液壓油就會進入不同的排油管,然后通過油的壓力來推動油缸的活塞,活塞又帶動活塞桿,活塞桿帶動機械裝置動。這樣通過控制電磁鐵的電流通斷就控制了機械運動。2.3 電源部分的設計市電先經變壓器降壓,再經橋式整流電路整流,最后用三端穩壓器穩壓得到5V的電壓作為整個控制器的工作電源。2.4功能設置及控制電路的設計(1)暫停鍵K0,接P3.3,用外部中斷1實現工作過程的暫停,根據人的需要可以進行手工洗滌。(2)水位開關K1,接P1.0,水位到位時

29、,K1閉合。在進水期間,系統不斷檢測K1,當檢測到K1閉合就停止進水。(3)按鍵K2,接P1.6,作為工作過程中的啟動鍵。(4)按鍵K3是洗衣強度選擇鍵,P3.4。每按一次代表一種強度。分別是標準、弱洗、強洗和自編,由4個指示燈進行顯示。(5)按鍵K4,接P3.5,對洗衣時間進行設置,并用數碼管LED1和LED2顯示。(6)按鍵K5,接P3.6,對漂洗、脫水次數進行設置,并用數碼管LED1顯示。(7)壓電蜂鳴器接P1.7,做洗衣時間到以及故障發生的報警器。2.5洗衣機狀態顯示的設計(1) 74LS138譯碼器為3-8譯碼器,選用它可以解決I/0口線數量不足問題。從控制要求可知,洗衣機的工作模式

30、以及工作程序必須有7中不同的顯示加以區別。74LS138譯碼器的輸入端C,B,A分別接P1.3、P1.4、P1.5,輸出端分別與7個發光二極管D0D6的陰極相連,發光二極管陽極接電源。輸出端Y0控制D0“弱洗”指示燈;Y1控制D1“標準洗”指示燈,Y2控制D2“強洗”指示燈,Y3控制D3“自編”指示燈,Y4控制D4“洗衣”指示燈,Y5控制D5“漂洗”指示燈,Y6控制D6“脫水”指示燈。(2)單片機的P0口和P2口分別接一個LED數碼管。P0用于控制低位顯示器,P2口用于控制高位顯示器。2.6輸出控制電路的設計輸出控制電路由觸發器電路和相應的雙向晶閘管組成。控制電機正反轉以及進水閥和排水閥的開啟

31、和關閉。通過觸發器電路和相應的雙向晶閘管,電動機的正轉和反轉用單片機P1.1和P1.2進行控制;進水電磁閥和排水電磁閥用單片機的P3.0和P3.1進行控制。單片機是一種集成在電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統。通過單機片的PO口連接數碼管發送段碼,P2.4P7口通過三級管擴大電流去控制數碼管的位,顯示時采用動態掃描方式,輪流循環掃描。通過P1.6口連接蜂鳴器

32、實現報警電路。通過P1.0P1.5口作為按鍵輸入,并通過二極管連接到單機片的中斷入口引腳,當有鍵按下,就會產生中斷,執行相關按鍵的功能。根據系統框圖可設計出系統原理圖,見附錄A。3軟件設計單片機應用系統的軟件設計是系統設計中最基本而且工作量較大的任務。與系統機上操作系統支持下的純軟件不同,單片機的軟件設計是在裸機的條件下進行的,而且隨應用系統的不同而不同。在軟件中一般需考慮以下幾個方面:根據要求確定軟件的具體任務細節,然后確定合理的軟件結構。一般系統軟件由主程序和若干個子程序及中斷服務程序組成,詳細劃分主程序、子程序和中斷服務程序的具體任務,確定各個中斷的優先級。主程序是一個順序執行的無限循環

33、的程序,不停地順序查詢各種軟件標志,以完成對事務的處理。在子程序和中斷服務程序中要考慮現場的保護和恢復,以及它們和主程序之間的信息交換方法。程序的結構用模塊化結構,即把監控程序分解為若干個功能相對獨立的較小的程序模塊分別設計,以便于調試。具體設計時可采用自底向上或自頂向下的方法。在進行程序設計時,先根據問題的定義描述出各個輸入變量和輸出變量之間的數學關系,即建立數學模型,然后繪制流程圖,再根據流程圖用匯編語言進行具體程序的編寫。在程序設計完成后,利用相應的開發工具和軟件進行程序的匯編,生成程序的機器碼。本設計中系統軟件是采用C51編寫的,在研制單片機應用系統時,匯編語言是一種常用的軟件工具,具

34、有簡單的語法結構和強大的處理功能,具有運行速度快、編譯效率高,移植性好和可讀性強等多種優點,可以實現對系統便件的直接操作。用C語言來編寫目標系統軟件,可以大大縮短開發周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而開發出大規模、高性能的應用系統。3.1 主程序設計系統的主程序設計主要完成系統初始化、中斷優先級設定,以及調用其它各模塊程序,即主要實現各模塊程序的鏈接。系統上電復位初始化后,首先進行系統初始化,包括中斷的選擇及設置,定時器的選擇,定時時間,及其相關設置,初始化后,單片機進入主程序,在這“主程序”中不停的循環運行,除非有其它中斷。主程序流程圖如圖3.1所示。編寫主程序如下: vo

35、id main() Initialize(): /初始化設置While(1) Display(); /顯示程序 調用Calculate(); /顯示數據的計算程序調用 圖3.1 軟件主流程圖3.2 水位檢測程序設計水位檢測程序的原理是在洗衣機水箱中的適當高度放置兩個水位檢測器,當水位達到某一高度時,相應的水位探測器的開關接通,把電信號送入單片機的I/O口,經過單片機的處理,可以得到已經加好水或水放完,可以開始以下操作。本設計用單片機P2.2P2.3接口接兩個水位傳感器,在自動模式下,當水位到達某個傳感器時,相應的傳感器輸出一個低電平到單片機的引腳,單片機通過引腳的電平高低來判斷水位的高低?;?/p>

36、流程是當最低點和最高點的兩個檢測點都顯示低電平時說明洗衣機已經放滿水;當檢測到最高點從低電平變為高電平,經過一段時間后最低點也由電平變為高電平時說明此時洗衣機放水完畢。3.3 洗滌程序設計啟動開關,進水閥通電,向洗衣機供水,當供水達到預定水位時,水位開關接通,進水閥斷電關閉,停止供水。洗滌電動機接通電源,帶動波輪或桶轉動,產生各種形式的水流攪動衣物進行洗滌。通過電動機不停地正轉、停、反轉、反復循環、形成洗滌水對洗滌物產生強烈的翻滾作用。 程序流程圖如圖3.2所示。 圖3.2洗滌過程程序流程圖3.4 脫水、漂洗程序設計脫水前先打開水閥排水,然后啟動電動機脫水,并保持排水閥開啟,然后停止脫水。接著

37、判斷漂洗次數的值,若次數為0則洗衣結束,開蜂鳴器提醒洗衣結束,系統返回待命狀態,次數若不為0,則再次執行進水操作,進入下一個循環。 程序流程圖如圖3.3所示:圖3.3脫水,漂洗流程圖3.5 顯示程序設計在本系統的設計中作為人機對話的一個重要部分就是顯示器,本設計要顯示定時時間,洗滌時間,還有其他指示燈的狀態顯示,為了節省單片機的I/O口,把8個狀態指示燈按照數碼管的方式連接,即8個狀態指示燈相當于一個數碼管,這樣硬件電路中相當于使用四位共陽LED作為系統的顯示器。數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段媽,從而顯示出我們要的數字,因此根據數碼管的驅動方式不同,可以分為靜態式和動態式

38、兩類。靜態顯示驅動:靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個譯碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼為十進制譯碼器譯碼進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用I/O端口多。動態顯示驅動:數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示比劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼

39、管就不會亮。通過分時輪流控制各個數碼管的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。系統定期的掃描每個數碼管,借助于人的視覺殘留效應,使的數字得以正確顯示,顯示電路采用數碼管動態掃描電路,占用單片機I/O口資源少,顯示電路成本比較低,于靜態掃描電路相比較,電路簡單,成本低。硬件電路相對簡單,在編寫程序時,需要考慮循環掃描時間。要顯示的數據采用的查表法。查表法只需把轉換結果按序編成表,連續存放在ROM中,用查表指令即可實現轉換,查表法編程方便且程序量小,執行速度快,修正起來方便。本設計顯示系統包括時間顯示和次數顯示。常用的顯示器件有:液晶點陣(LCD)顯示,數碼管(LED)顯示。根據本

40、課題的設計要求,顯示部分采用動態顯示方法,用3位數碼管,和8個LED指示燈顯示?;痉椒ㄊ牵喊?個指示燈當作一個數碼管,這樣一共是4位數碼管。單片機的I/O口發送數碼管的段碼,接口P2.4P2.7通過三極管擴大電流去控制數碼管的位,顯示時采用動態掃描方式,輪流循環掃描。8個LED指示燈依次代表著自動/手動,運行/停止,強洗,標準洗,弱洗,洗滌狀態,漂洗狀態,脫水狀態。另外三位數碼管指示時間和次數,前兩位指示時間,后一位指示次數。顯示子程序流程圖如圖3.4所示:圖3.4 顯示子程序流程圖3.6 按鍵程序設計按鍵電路的作用是設置一些功能,一般按鍵電路有按鍵查詢式,CPU不斷地檢測是否有按鍵按下,這

41、樣將會耗費大量的CPU時間,且反應速度時性不強:還有一種是中斷式按鍵,只有當有按鍵按下時,單片機產生中斷,開始處理按鍵的輸入功能,沒有鍵按下時單片機處理其他,不需要不停地查詢按鍵是否按下。這樣采用中斷使按鍵反應速度快,同時減少單片機處理時間,本設計采用中斷擴展電路。工作原理如下:沒有按鍵時,相關的I/O為高電平,單片機的INTO也為高電平,當有鍵按下時,5V電壓經過所按鍵上的電阻流向GND,這是由于按鍵閉合,按鍵上的低壓電平送入單片機的I/O口,同時與按鍵相連的二級導管通,由于二級導管通時,電壓大約為0.7V,相當于低電平,這個低電平送入單片機的INTO產生中斷,在中斷里檢查哪個I/O口為低電

42、平,就可以判斷哪個按鍵按下,執行相關的那個按鍵的功能。本設計中單片機P1.0P1.5作為按鍵輸入,并通過二極管連接到單片機的中斷入口引腳,當有鍵按下,就會產生中斷,執行相關按鍵的功能。按鍵程序流程圖如圖3.5所示:圖3.5 按鍵程序流程圖本設計中一共用到六個按鍵,通過連接單片機的P1.0P1.5口來實現按鍵的功能,按鍵1的作用是調節自動或者手動,按鍵2的作用是調節洗衣的強度,按鍵3的作用是調節洗衣功能,按鍵4的作用是設置時間,按鍵5的作用是設置次數,按鍵6的作用是控制洗衣機的運行于停止。具體電路如下圖:根據硬件的設計方法,編寫程序如下:功能:按鍵輸入說明:用到中斷0,P2.0P2.53.7 定

43、時程序設計MCS51單片機內部有兩個可編程的16位定時器T0和T1。通過編程,可以設定為定時器和外部計數方式。T1還可以作MCS51串行的波特率發生器。定時器T0由特殊功能寄存器TL0和TH0構成,定時器T1由特殊功能寄存器TL1和TH1構成。特殊功能寄存器TMOD控制定時器的工作方式,TCON控制其運行,TCON還包含了定時器T0和T1的溢出標志。定時器的中斷由中斷允許寄存器IE、中斷入口地址為001BH。定時器的編程包括:置工作方式;置計數初值;中斷設置;啟動定時器。由于MCS51的定時器采用加1計數,因此,計數初值應根據計數器長度及計數值來決定。對于同樣的計數值,在采用13位計數器、16

44、位計數器及8位計數器時,其計數初值各不相同。此外,方式0、1、3均不能自動恢復初值,如果要求重復計數必須在每次計數溢出后重新裝入計數初值。除了編寫以上程序外,還要設置中斷的開關,用定時器時還要計算定時時間,內部計數器作用定時器時,是對機器周期計數。每個機器周期的長度是12個振蕩器周期因為實驗系統的晶振是12MHz,所以定時常數的設置可按以下方法計算:機器周期=1212MHz=1us(65536-定是常數)*1us=50ms定時常數TH0=OX3C; TL0=0XB0;本設計中在洗衣時需要設置洗衣時間,這一部分程序設計采用單片機內部的定時器,用來倒計時。洗衣機定時系統采用單片機的定時器0,工作方

45、式1,當設定洗滌、漂洗和脫水時,單片機的定時器開始倒計時,前兩位數碼管顯示設定好的時間每秒減,當剩余時間為0時第三位數碼管顯示的次數就減一,直至洗衣次數完全執行完。定時程序流程圖如圖3.6所示:圖3.6 定時程序流程圖4軟件調試軟件調試是檢查系統軟件中的錯誤。常見的軟件錯誤有程序失控、中斷錯誤(不響應中斷或循環響應中斷)、輸入/輸出錯誤和處理結果錯誤等類型。要把各個程序模塊分別進行調試,調試通過后再組合到一起進行綜合調試,達到預定的功能技術指標后即可將軟件固化。系統的調試過程要結合具體的仿真器進行。對于一個新設計的電路板,調試起來往往會遇到一些困難,特別是當板比較大、元件比較多時,往往無從下手

46、。但是如果掌握好一套合理的調試方法,調試起來將會事半功倍。單片機系統的硬件調試和軟件調試是不能分開的,許多硬件錯誤是在軟件調試中被發現和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調試以進一步排除故障。可見硬件的調試是基礎,如果硬件調試不通過,軟件設計則是無從做起。硬件電路焊接好后,就可以編寫相關的程序調試電路了,由于電路復雜,不可能一步全部完成,一般方法是,一邊寫軟件一邊調試,這樣可以及時發現是硬件問題還是軟件問題,也方便及時改正。首先應該確認電源是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的5V。接下來就是檢查復位引腳電壓是否正常。分別測量按

47、下復位按鈕和放開復位按鈕的電壓值,看是否正確。然后再檢查晶振是否起振了,一般用示波器來看晶振引腳的波形,注意應該使用示波器探頭的“X10”檔。另外一個辦法是測量復位狀態下的I/O口電平,按住復位鍵不放,然后測量I/O口(沒接外部上拉的P0口除外)的電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。另外還有注意的地方是,如果使用片內ROM的話(大部分情況下如此,現在已經很少用外部擴ROM的了),一定要將EA引腳拉高,否則會出現程序亂跑的情況。有時用仿真器可以,而燒入片子不行,往往是因為EA引腳沒拉高的緣故u(當然,晶振沒有起振也是原因之一)。經過上面幾點的檢查,一般即可排除故障了,如果系統不穩定的話,有時

溫馨提示

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

評論

0/150

提交評論