版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、全自動洗衣機(jī)的設(shè)計(jì)一、設(shè)計(jì)要求洗衣機(jī)的洗滌原理是由模擬人工洗滌衣物發(fā)展而來的,即通過翻滾、摩擦、 水的沖刷等機(jī)械作用以及洗滌劑的表面活化作用,將附著在衣物上的污垢除掉, 以達(dá)到洗凈衣物的目的。 全自動洗衣機(jī)是常見的家用電器。 它能夠按照預(yù)設(shè)模式 自動地完成衣物的洗滌、 漂洗和脫水, 也可以單獨(dú)地進(jìn)行洗滌、 漂洗和脫水操作, 這些過程一般按時(shí)間進(jìn)行控制。 通常在給定的模式下, 根據(jù)衣物多少允許用戶設(shè) 置不同的水位,當(dāng)洗衣機(jī)啟動后, 上水電磁閥打開注水, 當(dāng)水到達(dá)設(shè)定的限位時(shí), 上水電磁閥斷電,注水過程停止,啟動電機(jī),即可開始洗衣操作,為了提高洗衣 效率,電機(jī)一般先正轉(zhuǎn)若干秒,然后再反轉(zhuǎn)若干秒。另
2、外,每個(gè)洗衣機(jī)都有容 量限制,當(dāng)洗衣量大于它的額定容量容量時(shí),控制系統(tǒng)報(bào)警并且不啟動。 本設(shè)計(jì)要實(shí)現(xiàn)的功能有:(1)用戶參數(shù)的輸入: 用戶根據(jù)衣物的數(shù)量和質(zhì)地確定洗滌時(shí)間、 漂洗次數(shù)、 脫水時(shí)間,然后通過按鍵輸入具體的參數(shù)。(2 )參數(shù)和時(shí)間的顯示: 靈活地運(yùn)用數(shù)碼顯示管會帶來許多方便, 它可以用 來顯示用戶實(shí)時(shí)所處的洗衣功能狀態(tài)以及所剩時(shí)間。(3 )實(shí)時(shí)控制的實(shí)現(xiàn): 單片機(jī)在獲取了用戶輸入的參數(shù)后, 對其進(jìn)行分析處 理,然后按照計(jì)算結(jié)果對洗衣過程進(jìn)行實(shí)時(shí)控制。(4 )水位檢測的實(shí)現(xiàn): 水位的高低影響著整個(gè)洗衣過程的進(jìn)行, 因此需要水 位檢測器將水位的變化發(fā)送給單片機(jī), 單片機(jī)根據(jù)水位的情況確
3、定下一步應(yīng)該做 什么。5)洗衣過程的實(shí)現(xiàn):一般的洗衣過程包括注水、洗滌、漂洗、排水和脫水這些步驟。在洗衣過程中, 系統(tǒng)主要控制進(jìn)水電磁閥、 排水電磁閥的打開和關(guān)閉, 電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止。(6)洗衣完畢的通知:當(dāng)洗衣過程結(jié)束后, 蜂鳴器就報(bào)警通知用戶洗衣完畢。二、設(shè)計(jì)分析本設(shè)計(jì)在設(shè)計(jì)洗衣機(jī)的控制系統(tǒng)時(shí),洗衣機(jī)通過控制系統(tǒng)設(shè)定洗衣程序,在 內(nèi)桶(洗滌脫水桶)自動完成注水、洗滌、漂洗、浸泡、排水和脫水全過程。洗 衣時(shí),控制系統(tǒng)打開進(jìn)水電磁閥, 開始注水; 當(dāng)洗滌脫水桶內(nèi)的水位達(dá)到系統(tǒng)設(shè) 定值時(shí),水位檢測器向單片機(jī)發(fā)送一個(gè)低電平,通知控制系統(tǒng)關(guān)閉進(jìn)水電磁閥, 同時(shí)啟動電機(jī)洗衣。電機(jī)在系統(tǒng)的控制下進(jìn)
4、行正轉(zhuǎn)、停、反轉(zhuǎn),通過傳動機(jī)構(gòu)帶 動波輪執(zhí)行洗滌程序; 當(dāng)洗滌時(shí)間終了, 控制系統(tǒng)切斷電機(jī)電路, 打開排水電磁 閥,開始排水;然后再次注水,洗衣機(jī)進(jìn)入漂洗狀態(tài),完成漂洗程序(通常為 2 次漂洗),再注水進(jìn)行浸泡;浸泡完,開始排水,同時(shí),排水電磁鐵的動作帶動 減速離合器制動臂, 使離合器棘輪與棘爪分離, 制動帶松開, 為脫水程序作好準(zhǔn) 備;排水結(jié)束后,系統(tǒng)控制電機(jī)單方向高速運(yùn)轉(zhuǎn),完成脫水程序;當(dāng)脫水程序終 了,系統(tǒng)控制排水電磁鐵和電機(jī)斷電, 排水閥和減速離合器的制動臂復(fù)位, 同時(shí) 蜂鳴器奏響音樂,通知用戶整個(gè)洗衣程序結(jié)束。具有如下基本功能。(1 )不同模式時(shí)的弱強(qiáng)洗滌功能。要求強(qiáng)洗時(shí)正 反轉(zhuǎn)驅(qū)動
5、時(shí)間各為 4S, 間歇時(shí)間為 2S ;弱洗時(shí)正 反轉(zhuǎn)驅(qū)動時(shí)間各為 3S ,間歇時(shí)間為 2S。(2 )6 種洗衣工作程序,即標(biāo)準(zhǔn)程序,輕柔洗衣,快洗,單次洗衣,單漂和 脫水程序。標(biāo)準(zhǔn)程序是進(jìn)水洗滌排水 - 脫水,如此循環(huán) 3 次,具體是第一循 環(huán)為洗滌,時(shí)間為 15min, 中間洗滌為 5min. 排水時(shí)間采用動態(tài)檢測,脫水時(shí)間 第一二次為 2 min 的短脫水,下來是調(diào)漂洗程序。最后為 5min 的長脫水 .輕柔 程序與標(biāo)準(zhǔn)程序一樣, 只是采用弱洗洗滌, 循環(huán)同樣為三次。 快洗同標(biāo)準(zhǔn)差不多, 只不過洗滌 6min ,循環(huán) 2 次;單洗程序是進(jìn)水洗滌( 15 min) 結(jié)束(留水 不排不脫)。單
6、漂為進(jìn)水洗滌( 10s) 排水如此循環(huán) 3 次;單脫程序是脫水 ( 5min )結(jié)束,時(shí)間確定與上述程序相應(yīng)環(huán)節(jié)相同。(3)進(jìn)水系統(tǒng)故障自動診斷功能。洗衣機(jī)在進(jìn)水過程中,若超過預(yù)定的水位, 就說明進(jìn)水有故障,系統(tǒng)自動調(diào)整到預(yù)定水位。(4)脫水期間安全保護(hù)和防振動功能。洗衣機(jī)脫水期間,若打開機(jī)蓋時(shí),洗衣 機(jī)就會自動停止脫水操作。 脫水期間, 如果出現(xiàn)衣物纏繞引起脫水桶重心偏移而 不平衡, 洗衣機(jī)也會自動停止脫水, 以免振動過大, 發(fā)出警報(bào)待人工處理后恢復(fù) 工作。(5)間歇驅(qū)動方式。洗滌期間采取間歇驅(qū)動方式,以便節(jié)能。本系統(tǒng)要求正 反轉(zhuǎn)之間停 2s ,間歇期間靠慣性力使洗衣桶桶保持旋轉(zhuǎn)。(6 )聲
7、光顯示功能。洗衣機(jī)各種工作方式的選擇和各種工作狀態(tài)均有聲光提示和顯示。(8)過容保護(hù)功能:洗衣機(jī)在啟動前若過容則報(bào)警提醒用戶解決,待解決后才 能啟動洗衣。三、硬件設(shè)計(jì)1、總體方案本設(shè)計(jì)以 MCS-51 單片機(jī)為核心,設(shè)計(jì)由電源、數(shù)字控制電路和機(jī)械控制電 路三大模塊構(gòu)成的控制系統(tǒng), 實(shí)現(xiàn)對洗衣機(jī)整個(gè)洗衣過程的控制。 洗衣過程主要 包括洗滌過程、漂洗過程、脫水過程。根據(jù)洗衣過程的要求,控制程序設(shè)計(jì)主要 包括主程序、內(nèi)部定時(shí)中斷服務(wù)程序、外部服務(wù)中斷程序的設(shè)計(jì) 根據(jù)設(shè)計(jì)要求,其基本系統(tǒng)組成框圖如 3.1 所示。2、器件及原理簡介采用 51 系列單片機(jī)作為控制核心,主要包括電源部分、功能設(shè)置及控制電
8、路、洗衣機(jī)狀態(tài)顯示及輸出控制電路。主要組成部件有:單片機(jī)、 74LS138 譯 碼器、指示燈、 LED 顯示器、電動機(jī)、蜂鳴器、電磁閥以及按鍵等。根據(jù)洗衣機(jī)的基本功能,硬件電路設(shè)計(jì)需要考慮洗衣機(jī)的進(jìn)水、洗滌、漂洗、 排水、脫水等問題,及時(shí)間設(shè)定長短、工作時(shí)間或剩余時(shí)間的顯示、工作過程中 的暫停、啟動、復(fù)位、洗完后的報(bào)警等問題。通過單片機(jī)的 P0 口連接數(shù)碼管發(fā)送段碼, P2.4P7 口通過三極管擴(kuò)大電流 去控制數(shù)碼管的位,顯示時(shí)采用動態(tài)掃描方式,輪流循環(huán)掃描。通過 P1.6 口連 接蜂鳴器實(shí)現(xiàn)報(bào)警電路。通過 P1.0P1.5 口作為按鍵輸入,并通過二極管連接 到單片機(jī)的中斷入口引腳,當(dāng)有鍵按下
9、,就會產(chǎn)生中斷,執(zhí)行相關(guān)按鍵的功能+12V+5V圖3.1系統(tǒng)組成框圖四、軟件設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的軟件設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中最基本而且工作量較大的任務(wù)。與 系統(tǒng)機(jī)上操作系統(tǒng)支持下的純軟件不同,單片機(jī)的軟件設(shè)計(jì)是在裸機(jī)的條件下進(jìn) 行的,而且隨應(yīng)用系統(tǒng)的不同而不同。在軟件中一般需考慮以下幾個(gè)方面:1)根據(jù)要求確定軟件的具體任務(wù)細(xì)節(jié),然后確定合理的軟件結(jié)構(gòu)。一般系 統(tǒng)軟件的主程序和若干個(gè)子程序及中斷服務(wù)程序組成, 詳細(xì)劃分主程序、子程序 和中斷服務(wù)程序的具體任務(wù),確定各個(gè)中斷的優(yōu)先級。主程序是一個(gè)順序執(zhí)行的 無限循環(huán)的程序,不停地順序查詢各種軟件標(biāo)志,以完成對事務(wù)的處理。在子程 序和中斷服務(wù)程序中,要考慮現(xiàn)
10、場的保護(hù)和恢復(fù),以及它們和主程序之間的信息 交換方法。2 ) 程序的結(jié)構(gòu)用模塊化結(jié)構(gòu),即把監(jiān)控程序分解為若干個(gè)功能相對獨(dú)立的 較小的程序模塊分別設(shè)計(jì), 以便于調(diào)試。 具體設(shè)計(jì)時(shí)可采用自底向上或自頂向下 的方法。3 ) 在進(jìn)行程序設(shè)計(jì)時(shí) , 先根據(jù)問題的定義描述出各個(gè)輸入變量和輸出變量之 間的數(shù)學(xué)關(guān)系,即建立數(shù)學(xué)模型 ,然后繪制流程圖,再根據(jù)流程圖用匯編語言進(jìn) 行具體程序的編寫。4 ) 在程序設(shè)計(jì)完成后,利用相應(yīng)的開發(fā)工具和軟件進(jìn)行程序的匯編,生成 程序的機(jī)器碼。本設(shè)計(jì)中系統(tǒng)軟件是采用 C51 編寫的 .在研制單片機(jī)應(yīng)用系統(tǒng)時(shí),匯編語言 是一種常用的軟件工具, 具有簡單的語法結(jié)構(gòu)和強(qiáng)大的處理功能
11、, 具有運(yùn)行速度 快、編譯效率高, 移植性好和可讀性強(qiáng)等多種優(yōu)點(diǎn), 可以實(shí)現(xiàn)對系統(tǒng)便件的直接 操作。用 C 語言來編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明顯地增加 軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。1 、主程序設(shè)計(jì)系統(tǒng)的主程序設(shè)計(jì)主要完成系統(tǒng)初始化、中斷優(yōu)先級設(shè)定,以及調(diào)用其它各 模塊程序,即主要實(shí)現(xiàn)各模塊程序的鏈接。系統(tǒng)上電復(fù)位初始化后,首先進(jìn)行系統(tǒng)初始化,包括中斷的選擇及設(shè)置,定 時(shí)器的選擇,定時(shí)時(shí)間,及其相關(guān)設(shè)置,初始化后,單片機(jī)進(jìn)入主程序, 在這“主 程序”中不停的循環(huán)運(yùn)行,除非有其它中斷。主程序流程圖如圖 3.1 所示N圖3.1軟件主流程圖2、水位
12、檢測程序設(shè)計(jì)水位檢測程序的原理是在洗衣機(jī)水箱中的適當(dāng)高度放置兩個(gè)水位檢測器,當(dāng) 水位達(dá)到某一高度時(shí),相應(yīng)的水位探測器的開關(guān)接通,把電信號送入單片機(jī)的 I/O 口,經(jīng)過單片機(jī)的處理,可以得到已經(jīng)加好水或水放完,可以開始以下操作。本設(shè)計(jì)用單片機(jī)P2.2P2.3接口接兩個(gè)水位傳感器,在自動模式下,當(dāng)水位 到達(dá)某個(gè)傳感器時(shí),相應(yīng)的傳感器輸出一個(gè)低電平到單片機(jī)的引腳,單片機(jī)通過 引腳的電平高低來判斷水位的高低?;玖鞒淌钱?dāng)最低點(diǎn)和最高點(diǎn)的兩個(gè)檢測點(diǎn) 都顯示低電平時(shí)說明洗衣機(jī)已經(jīng)放滿水;當(dāng)檢測到最高點(diǎn)從低電平變?yōu)楦唠娖? 經(jīng)過一段時(shí)間后最低點(diǎn)也由低電平變?yōu)楦唠娖綍r(shí)說明此時(shí)洗衣機(jī)放水完畢。3、洗滌程序設(shè)計(jì)啟
13、動開關(guān),進(jìn)水閥通電,向洗衣機(jī)供水,當(dāng)供水達(dá)到預(yù)定水位時(shí),水位開關(guān)接通,進(jìn)水閥斷電關(guān)閉,停止供水。洗滌電動機(jī)接通電源,帶動波輪或桶 旋轉(zhuǎn), 產(chǎn)生各種形式的水流攪動衣物進(jìn)行洗滌。通過電動機(jī)不停的正轉(zhuǎn)、停、反轉(zhuǎn)、反 復(fù)循環(huán),形成洗滌水對洗滌物產(chǎn)生強(qiáng)烈的翻滾作用。程序流程圖如圖4.2所示。圖4.2洗滌過程程序流程圖4、脫水、漂洗程序設(shè)計(jì)脫水前先打開排水閥排水,然后啟動電動機(jī)脫水,并保持排水閥開啟,然后停止脫水。接著判斷漂洗次數(shù)的值,若次數(shù)變?yōu)镺則洗衣結(jié)束,開蜂鳴器提醒洗衣結(jié)束,系統(tǒng)返回初始待命狀態(tài),若次數(shù)不為O ,則再次執(zhí)行進(jìn)水操作,進(jìn)入下一循環(huán) 程序流程圖如圖4.3所示:5、顯示程序設(shè)計(jì)在本系統(tǒng)的設(shè)
14、計(jì)中作為人機(jī)對話的一個(gè)重要部分就是顯示器,本設(shè)計(jì)要顯示定時(shí)時(shí)間,洗滌時(shí)間,還有其它指示燈的狀態(tài)顯示,為了節(jié)省單片機(jī)的I/O 口,把8個(gè)狀態(tài)指示燈按照數(shù)碼管的方式連接,即 8個(gè)狀態(tài)指示燈相當(dāng)于一個(gè)數(shù)碼 管,這樣硬件電路中相當(dāng)于使用四位共陽 LED作為系統(tǒng)的顯示器。數(shù)碼管要正 常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字, 因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。圖4.3脫水、漂洗程序流程圖靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個(gè)數(shù)碼管的每一個(gè) 段碼都由一個(gè)單片機(jī)的 I/O 端口進(jìn)行驅(qū)動,或者使用如 BCD 碼為十進(jìn)制譯碼 器譯碼進(jìn)行驅(qū)動。靜
15、態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用 I/O 端口多。動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方 式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8 個(gè)顯示筆劃“ a,b,c,d,e,f,g,dp ” 的同名端連在一起, 另外為每個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路, 位 選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到 相同的字形碼,但究竟是那個(gè)數(shù)碼管會顯示出字形, 取決于單片機(jī)對位選通 COM 端電路的控制, 所以我們只要將需要顯示的數(shù)碼管的選通控制打開, 該位就顯示 出字形,沒有選通的數(shù)碼管就不會亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的 C
16、OM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。系統(tǒng)定期的掃描每個(gè)數(shù)碼管,借助于人的視覺殘留效應(yīng),使的數(shù)字得以正確 顯示,顯示電路采用數(shù)碼管動態(tài)掃描電路,占用單片機(jī) I/O 口資源少,顯示電 路成本比較低, 與靜態(tài)掃描電路相比較, 電路簡單, 成本低。硬件電路相對簡單, 在編寫程序時(shí),需要考慮循環(huán)掃描的時(shí)間。要顯示的數(shù)據(jù)采用的查表法。查表法只需把轉(zhuǎn)換結(jié)果按序編成表,連續(xù)存放 在 ROM 中,用查表指令即可實(shí)現(xiàn)轉(zhuǎn)換,查表法編程方便且程序量小,執(zhí)行速度 快,修正起來方便。本設(shè)計(jì)顯示系統(tǒng)包括時(shí)間顯示和次數(shù)顯示。常用的顯示器件有:液晶點(diǎn)陣 (LCD )顯示,數(shù)碼管( LED )顯示。根據(jù)本課題的
17、設(shè)計(jì)要求,顯示部分采用 動態(tài)顯示方法,用 3 位數(shù)碼管,和 8 個(gè) LED 指示燈顯示?;痉椒ㄊ牵喊?8 個(gè)指示燈當(dāng)作一個(gè)數(shù)碼管,這樣一共是4位數(shù)碼管。單片機(jī)的I/O 口發(fā)送數(shù)碼管 的段碼,接口 P2.4P2.7通過三極管擴(kuò)大電流去控制數(shù)碼管的位,顯示時(shí)采用動態(tài)掃描方式,輪流循環(huán)掃描。8個(gè)LED指示燈依次代表著自動/手動,運(yùn)行/停止,強(qiáng)洗,標(biāo)準(zhǔn)洗,弱洗,洗滌狀態(tài),漂洗狀態(tài),脫水狀態(tài)。另外三位數(shù)碼管指示時(shí)間和次數(shù),前兩位指示時(shí)間,后一位指示次數(shù)顯示子程序流程圖如圖3.4所示:顯示開始r1P0 口送數(shù)據(jù)打開要顯示的位顯示一段時(shí)間關(guān)閉該位關(guān)閉顯示圖4.4顯示子程序流程圖6、按鍵程序設(shè)計(jì)按鍵電路的作
18、用是設(shè)置一些功能,一般按鍵電路有按鍵查詢式,CPU不斷的檢測是否有按鍵按下,這樣將會耗費(fèi)大量的CPU時(shí)間,且反應(yīng)速度實(shí)時(shí)性不強(qiáng); 還有一種是中斷式按鍵,只有當(dāng)有按鍵按下時(shí),單片機(jī)產(chǎn)生中斷,開始處理按鍵 的輸入功能,沒有鍵按下時(shí)單片機(jī)處理其他,不需要不停地查詢按鍵是否按下。這樣采用中斷使按鍵反應(yīng)速度快,同時(shí)減少單片機(jī)處理時(shí)間,本設(shè)計(jì)采用中斷擴(kuò) 展式電路。工作原理如下:沒有按鍵時(shí),相關(guān)的I/O 口為高電平,單片機(jī)的INTo也為 高電平,當(dāng)有鍵按下時(shí),5V電壓經(jīng)過所按鍵上的電阻流向 GND ,這時(shí)由于按 鍵閉合,按鍵上的低電平送入單片機(jī)的I/O 口,同時(shí)與按鍵相連的二極管導(dǎo)通, 由于二極管導(dǎo)通時(shí),電
19、壓大約為 0.7V ,相當(dāng)于低電平,這個(gè)低電平送入單片機(jī) 的INTO產(chǎn)生中斷,在中斷里檢查哪個(gè)I/O 口為低電平,就可以判斷是哪個(gè)按鍵 按下,執(zhí)行相關(guān)的那個(gè)按鍵的功能。本設(shè)計(jì)中單片機(jī)P1.0P1.5作為按鍵輸入,并通過二極管連接到單片機(jī)的中 斷入口引腳,當(dāng)有鍵按下,就會產(chǎn)生中斷,執(zhí)行相關(guān)按鍵的功能。按鍵程序流程圖如圖4.5所示:中斷入口中斷返回圖4.5按鍵程序流程圖本設(shè)計(jì)中一共用到六個(gè)按鍵,通過連接單片機(jī)的P1.0P1.5 口來實(shí)現(xiàn)按鍵的 功能,按鍵1的作用是調(diào)節(jié)自動或者手動,按鍵 2的作用是調(diào)節(jié)洗衣的強(qiáng)度,按鍵3的作用是調(diào)節(jié)洗衣功能,按鍵 4的作用是設(shè)置時(shí)間,按鍵5的作用是設(shè)置次數(shù),按鍵6的
20、作用是控制洗衣機(jī)的運(yùn)行與停止具體電路如下圖:SHDI I Idb UaJS Idi M 1TIiillfli3,±*EEAr.r- Cfj*llOFii-HPaIu*71 J34P* IlE冃Iy9LIdF.,7.JI5.-lyw. J7 J二二二一二二二一-二二ElDlHEInV7、疋時(shí)程序設(shè)計(jì)MCS-51單片機(jī)內(nèi)部有兩個(gè)可編程的16位定時(shí)器To和T1。通過編程,可 以設(shè)定為定時(shí)器和外部計(jì)數(shù)方式。T1還可以作MCS-51串行口的波特率發(fā)生器。 定時(shí)器T0由特殊功能寄存器TL0和TH0構(gòu)成,定時(shí)器T1由特殊功能寄存器 TL1和TH1構(gòu)成。特殊功能寄存器 TMOD控制定時(shí)器的工作方式,
21、TCON控 制其運(yùn)行,TCON還包含了定時(shí)器T0和T1的溢出標(biāo)志。定時(shí)器的中斷由中斷 允許寄存器IE、中斷優(yōu)先級寄存器IP中的相應(yīng)位進(jìn)行控制。定時(shí)器 T0的中斷 入口地址為000BH,T1的中斷入口地址為 001BH 。定時(shí)器的編程包括;(1) 置工作方式。(2) 置計(jì)數(shù)初值。(3) 中斷設(shè)置。(4) 啟動定時(shí)器由于MCS-51的定時(shí)器采用加1計(jì)數(shù),因此,計(jì)數(shù)初值應(yīng)根據(jù)計(jì)數(shù)器長度及 計(jì)數(shù)值來決定。對于同樣的計(jì)數(shù)值,在采用13位計(jì)數(shù)器、16位計(jì)數(shù)器及8位計(jì)數(shù)器時(shí),其計(jì)數(shù)初值各不相同。此外,方式O、1、3均不能自動恢復(fù)初值,如果要求重復(fù)計(jì)數(shù)必須在每次計(jì)數(shù)溢出后重新裝入計(jì)數(shù)初值。除了編寫以上程序外,
22、還要設(shè)置中斷的開關(guān),用定時(shí)器時(shí)還要計(jì)算定時(shí)時(shí)間, 內(nèi)部計(jì)數(shù)器用作定時(shí)器時(shí),是對機(jī)器周期計(jì)數(shù)。每個(gè)機(jī)器周期的長度是12個(gè)振蕩 器周期。因?yàn)閷?shí)驗(yàn)系統(tǒng)的晶振是12MHz,所以定時(shí)常數(shù)的設(shè)置可按以下方法計(jì)算:機(jī)器周期=12 ÷ 12MHz = 1 S(65536-定時(shí)常數(shù))*1 S=50mS定時(shí)常數(shù) TH0=0X3C ; TLO=OXBO ;本設(shè)計(jì)中在洗衣時(shí)需要設(shè)置洗衣時(shí)間,這部分程序設(shè)計(jì)采用單片機(jī)內(nèi)部的定 時(shí)器,用來倒計(jì)時(shí)。洗衣機(jī)定時(shí)系統(tǒng)采用單片機(jī)的定時(shí)器0 ,工作方式1 ,當(dāng)設(shè)定洗滌、漂洗和脫水時(shí),單片機(jī)的定時(shí)器開始倒計(jì)時(shí),前兩位數(shù)碼管顯示設(shè)定好 的時(shí)間每秒減,當(dāng)剩余時(shí)間為 0時(shí)第三位數(shù)
23、碼管顯示的次數(shù)就減一,直至洗衣 次數(shù)完全執(zhí)行完。定時(shí)程序流程圖如圖4.6所示:定時(shí)器中斷入口置TH0、TL0計(jì)數(shù)初值數(shù)據(jù)減1圖 4.6 定時(shí)程序流程圖程序:COUNT1EQU90;單洗時(shí)間特征字,15minCOUNT2EQU30;單脫時(shí)間特征字,5minCOUNT3EQU30;標(biāo)準(zhǔn)過程中間單次洗 滌特征字,5minCOUNT4EQU12;短脫水時(shí)間特征字,2minCOUNT5EQU90;輕柔第一次洗滌時(shí)間特征字 ,12minCOUNT6EQU30;輕柔中間單次洗滌時(shí) 間特征字 ,4minCOUNT7EQU36;快洗單次洗滌時(shí)間特征字 ,6minCOUNT8EQU3;漂洗次數(shù) ,COUNT9EQ
24、U2;標(biāo)準(zhǔn)中間洗滌次數(shù)COUNT10EQU2;輕柔中間洗滌次數(shù)COUNT11EQU2;快洗洗滌次數(shù)TIMESI EQU 31H ;T0 內(nèi)定時(shí)次數(shù)存儲位JORG 0000HLJMP START; 開始ORG 0003HLJMP WINT0;超容中斷ORG 00013HLJMP TINT1;脫水安全防抖中斷START: MOV SP,#60H;堆棧指針移到 60H 單元;p0 口清零;清零MOV P0,#00HMOV R0,#00HMOV R1,#00HMOV R2,#00HMOV R3,#00HMOV R4,#00HMOV R5,#00HMOV R6,#00HMOV R7,#00HMOV 30
25、H,#00HMOV 31H,#00HMOV 60H,#00SETB EACLR ET0SETB IT1SETB IT0M: SETB EX0;開中斷總開關(guān);關(guān) t0 中斷;INT1 下跳沿觸發(fā);INT0 下跳沿觸發(fā);開 INT0 中斷 ;調(diào)鍵盤掃描子程序 ;關(guān) INT0 中斷LCALL SCANLCALL XYGCH;調(diào)洗衣子選擇程序NOPNOP;結(jié)束蜂鳴提醒;響一秒停一秒,如此循環(huán)NEXT0:CLR P0.4MOV TIMESI,#20LCALL T0SETB P0.4MOV TIMESI,#20LCALL T0;確認(rèn)完成否;否;確認(rèn)JNB P1.0,OKLCALL DELAYAJMP NE
26、XT0OK: CLR P0.4NOPNOPNOPAJMP OKRET; 鍵盤掃描子程序SCAN:MOV A,#0FFHMOV P1,A;p1 口設(shè)為輸入端CLR P3.7;初始模式顯示L1: JB P1.0,L1 LCALL DELAY MOV A,R4 MOV P2,AL2:JNB P1.0,L2LCALL DELAYL0:JNB P1.1,MODE ;k1 按下否JNB P1.3,WPS ;k4 按下否JNB P1.0,KEYSCANOUT ;k1 按下否LJMP L0MODE: LCALL DELAY;確認(rèn)鍵 k1 放開否?;消抖; 放開,加 11 ;R4 到 6 則清零;顯示JNB P
27、1.1,MODE LCALL DELAYINC R4CJNE R4,#06h,NEXT1MOV R4,#00HNEXT1_1:MOV A,R4NOPNOPLJMP L0; 重新掃描WPS: JNB P1.3, WPS;確認(rèn)鍵 k4 放開否LCALL DELAY; 消抖INC R5 ;CJNE R5,#05H,NEXT2_1 ;r5 到 5 時(shí)清零MOV R5,#01HNEXT2_1:CJNE R5,#01H,NEXT2_2;顯示MOV A,#3FH ; 顯示低水位MOV P3,AJMP OK1NEXT2_2:CJNE R5,#02H,NEXT2_3MOV A,#7FH; 顯示中 1MOV P3
28、,AJMP OK1NEXT2_3:CJNE R5,#03,NEXT2_4MOV A,#0BFH; 顯示中 2MOV P3,AJMP OK1NEXT2_4:CJNE R5,#04H,OK1; 顯示高水位MOV A,#0FFHMOV P3,AJMP OK1OK1: NOPLJMP L0;重新掃描KEYSCANOUT:NOP;掃描完成RET;進(jìn)水判斷子程序JSH: JB P1.4,L5;檢測 k5 狀態(tài), k5 沒按下則進(jìn)水LCALL DELAYJNB P1.5,L6;k5 按下,檢測 k6, 按下則排水JMP D2;k6 沒按下,完成L5:SETB P0.2;進(jìn)水L7:JB P1.4,L7; 檢測
29、 k5 狀態(tài) ,按下則停止進(jìn)水CLR P0.2;停止進(jìn)水AJMP D2L6:LCALL DELAYSETB P0.3;排水NOPL8:JNB P1.4,L8;檢測 k5 狀態(tài) ,沒按下則停止排水LCALL DELAYD2:NOPRETJ;洗衣選擇子程序XYGCH:CJNE R4,#00H,N3_1LCALL BZH; 調(diào)標(biāo)準(zhǔn)洗衣程序JMP D3N3_1:CJNE R4,#01H,N3_2LCALL QR;調(diào)輕柔洗衣程序JMP D3N3_2:CJNE R4,#02H,N3_3LCALL KX; 調(diào)快洗程序JMP D3N3_3:CJNE R4,#03H,N3_4LCALL DX;調(diào)單洗程序JMP
30、D3N3_4:CJNE R4,#04H,N3_5LCALL DP ;調(diào)單漂程序JMP D3N3_5:CJNE R4,#05H,D3lcall DT;調(diào)單脫程序D3: NOP;t0,mode1;內(nèi)循環(huán)次數(shù);50ms;開定時(shí) ?計(jì)數(shù)器;關(guān)定時(shí)?計(jì)數(shù)器RET; to 定時(shí)子程序T0: MOV TMOD,#01HMOV R3,TIMESIAGAIN2:MOV TH0,#3CHMOV TL0,#0B0HSETB TR0W2:JBC TF0,TIMEOUTJMP W2TIMEOUT:CLR TR0DJNZ R3,AGAIN2NOPRET;正反轉(zhuǎn)子程序 :正反 4s ,停 1sZFM:MOV TIMESI,
31、#80SETB P0.0LCALL T0CLR P0.0MOV TIMESI,#40CALL T0SETB P0.1MOV TIMESI,#80LCALL T0CLR P0.1MOV TIMESI,#40LCALL T0NOPRET;單洗程序DX: LCALL JSH;調(diào)進(jìn)水子程序MOV R0,#COUNT1;洗衣 15 分鐘L10:LCALL ZFM; 調(diào)正反轉(zhuǎn)子程序DJNZ R0,L10NOPNOPRETJ;單漂程序DP: MOV R1,#COUNT8;L13: NOPLCALL JSH;調(diào)進(jìn)水子程序L12:LCALL ZFMLCALL PSHDJNZ R1,L13NOPNOPRET;調(diào)正
32、反轉(zhuǎn)子程序 ,10s調(diào)排水子程序;單脫程序DT: SETB P0.3;SETB P0.0SETB EX1開脫水電磁閥;啟動電機(jī)正傳; 開 INT1 中斷MOV R6,#COUNT2L15:MOV TIMESI,#200LCALL T0DJNZ R6,L15CLR P0.3CLR P0.0CLR EX1NOPRET;5min;10s; 調(diào) t0 定時(shí)子程序;關(guān)脫水電磁閥;關(guān) INT1 中斷標(biāo)準(zhǔn)洗衣程序;調(diào)單洗程序; 調(diào)排水子程序;短脫水 2min;開脫水電磁閥;啟動電機(jī);開 INT1 中斷調(diào) t0 定時(shí)子程序;關(guān) INT1 中斷;關(guān)脫水電磁閥;5min;調(diào)正反轉(zhuǎn)子程序BZH: MOV R6,#C
33、OUNT9LCALL DXNOPW3: LCALL PSHNOPMOV R0,#COUNT4SETB P0.3SETB P0.0SETB EX1MOV TIMESI,#200LCALL T0DJNZ R0,W3CLR EX1CLR P0.3CLR P0.0LCALL JSHMOV R0,#COUNT3L18:LCALL ZFMDJNZ R0,L18NOPDJNZ R6,W3NOP;調(diào)單漂子程序;調(diào)單脫程序LCALL DPNOPLCALL DTNOPRET;快洗程序KX: MOV R6,#COUNT11W4:MOV TIMESI,#200L24:LCALL JSH;調(diào)進(jìn)水子程序MOV R0,#C
34、OUNT7;6minL23:NOPLCALL ZFM;調(diào)正反轉(zhuǎn)子程序DJNZ R0,L23NOPLCALL PSH ; 調(diào)排水子程序NOPMOV R0,#COUNT4 ; 短脫水 2minSETB P0.3; 開脫水電磁閥SETB P0.0 ;啟動電機(jī)SETB EX1;開 INT1 中斷LCALL T0調(diào) t0 定時(shí)子程序DJNZ R0,W4CLR EX1;關(guān) INT1 中斷CLR P0.3;關(guān)脫水電磁閥CLR P0.0DJNZ R6,L24LCALL DP ; 調(diào)單漂子程序NOPLCALL DT; 調(diào)單脫程序NOPRET;輕柔程序QR: MOV R6,#COUNT10L22:LCALL JSH;調(diào)進(jìn)水子程序MOV R0,#COUNT5 ;12minL20:MOV TIMESI,#60;正 3sSETB P0.0NOPLCALL T0CLR P0.0LCALL T0MOV TIMESI,#40; 停 2sNOPSETB P0.1MOV TIMESI,#60CALL T0CLR P0.1DJNZ R0,L20NOPLCALL PSHSETB P0.3SETB P0.0SETB EX1MOV R0,#COUNT4W7: MOV TIMESI,#200LCALL T0DJNZ R0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年水晶透明風(fēng)扇行業(yè)深度研究分析報(bào)告
- 2024音樂廳演出場地租賃合同
- 二零二五年度不動產(chǎn)抵押權(quán)設(shè)立與轉(zhuǎn)讓代理合同3篇
- 2025年度毛石擋墻施工環(huán)保監(jiān)測與評估合同模板下載3篇
- 2024版木結(jié)構(gòu)木工班組施工合同范本
- 2025年物流公司物流園區(qū)配送運(yùn)輸合同協(xié)議書3篇
- 二零二五年度枸杞采摘、加工、銷售全流程服務(wù)合同3篇
- 2025年度窗簾清洗與保養(yǎng)服務(wù)合同3篇
- 二零二五版鍋爐設(shè)備維護(hù)保養(yǎng)與故障排除合同范本3篇
- 2025年度淋浴房行業(yè)數(shù)據(jù)分析與服務(wù)合同4篇
- 大學(xué)《工程力學(xué)》期末考試試題庫含詳細(xì)答案
- 2022年湖北省武漢市中考數(shù)學(xué)試卷含解析
- TLFSA 003-2020 危害分析與關(guān)鍵控制點(diǎn)(HACCP)體系調(diào)味面制品生產(chǎn)企業(yè)要求
- LY/T 2244.3-2014自然保護(hù)區(qū)保護(hù)成效評估技術(shù)導(dǎo)則第3部分:景觀保護(hù)
- 紀(jì)律教育月批評與自我批評五篇
- GB/T 26480-2011閥門的檢驗(yàn)和試驗(yàn)
- GB/T 13342-2007船用往復(fù)式液壓缸通用技術(shù)條件
- 藥店員工教育培訓(xùn)資料
- GB 20371-2016食品安全國家標(biāo)準(zhǔn)食品加工用植物蛋白
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實(shí)習(xí)護(hù)生壓瘡相關(guān)知識掌握情況及預(yù)防態(tài)度的調(diào)查問卷
評論
0/150
提交評論