機(jī)電一體化(波輪式全自動(dòng)洗衣機(jī))課程設(shè)計(jì)(20210309161447)_第1頁(yè)
機(jī)電一體化(波輪式全自動(dòng)洗衣機(jī))課程設(shè)計(jì)(20210309161447)_第2頁(yè)
機(jī)電一體化(波輪式全自動(dòng)洗衣機(jī))課程設(shè)計(jì)(20210309161447)_第3頁(yè)
機(jī)電一體化(波輪式全自動(dòng)洗衣機(jī))課程設(shè)計(jì)(20210309161447)_第4頁(yè)
機(jī)電一體化(波輪式全自動(dòng)洗衣機(jī))課程設(shè)計(jì)(20210309161447)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄 前言 錯(cuò)誤! 未定義書簽。 洗衣機(jī)說明書 1. 課程設(shè)計(jì)的任務(wù) 錯(cuò)誤! 未定義書簽。 2. 洗衣機(jī)簡(jiǎn)介 2 2.1 全自動(dòng)洗衣機(jī)特點(diǎn) 3 2.2 洗衣機(jī)工作原理概述 4 3. 傳動(dòng)方案討論 4 4. 傳動(dòng)系統(tǒng)的設(shè)計(jì)計(jì)算 6 4.1 減速離合器的結(jié)構(gòu)和工作原理簡(jiǎn)介 6 4.2 減速離合器零部件的計(jì)算與選擇 13 4.3 減速離合器零件裝配圖 16 5. 進(jìn)/ 排水系統(tǒng)結(jié)構(gòu)原理簡(jiǎn)介 16 5.1 進(jìn)水電磁閥的結(jié)構(gòu)及工作原理 17 5.2 排水電磁閥的結(jié)構(gòu)及工作原理 18 5.3 水位開關(guān)控制原理 20 6. 控制系統(tǒng)的設(shè)計(jì) 22 6.1 控制芯片的選擇 22 6.2 程序框圖 22 6.3

2、控制程序設(shè)計(jì) 24 6.4 電氣控制圖 39 心得體會(huì) 40 參考文獻(xiàn) 41 附錄 41 .、八、一 前言 本次機(jī)電一體化課程設(shè)計(jì)的重點(diǎn)在于硬件部分的減速離合器設(shè)計(jì)。 經(jīng)過小組 提出方案對(duì)比與討論, 最終決定使用單向軸承式減速離合器, 具體討論過程將在 后面的說明書中詳細(xì)介紹。 減速離合器的各部件的選擇、 設(shè)計(jì)是洗衣機(jī)硬件部分的設(shè)計(jì)重點(diǎn), 其具有體 積小,功能多,零部件構(gòu)成復(fù)雜等特點(diǎn)。主要構(gòu)成部分有離合裝置,制動(dòng)裝置以 及行星輪系二級(jí)減速裝置, 這些裝置的設(shè)計(jì)尺寸選擇, 功能原理將在后面的洗衣 機(jī)說明書中詳細(xì)介紹。 考慮到設(shè)計(jì)的是家用洗衣機(jī), 并根據(jù)對(duì)洗衣機(jī)體積, 功能的要求確定洗衣機(jī) 采用以

3、單片機(jī)為核心的通用自動(dòng)控制裝置, 它具有功能強(qiáng)、可靠性強(qiáng)、編程簡(jiǎn)單、 使用方便、體積小等特點(diǎn)。該控制系統(tǒng)可實(shí)現(xiàn)用編寫的程序進(jìn)行邏輯控制、 定時(shí)、 記數(shù)和算術(shù)運(yùn)算等,并通過數(shù)字量和模擬量的輸入 / 輸出來控制機(jī)械設(shè)備或生產(chǎn) 過程。 該設(shè)計(jì)為單片機(jī)控制的全自動(dòng)家用洗衣機(jī), 主要介紹了全自動(dòng)洗衣機(jī)的工作 原理(主要是重點(diǎn)設(shè)計(jì)部件減速離合器) ,控制系統(tǒng)的單片機(jī)的選型和資源的配 置,控制系統(tǒng)程序設(shè)計(jì)與調(diào)試,控制系統(tǒng)單片機(jī)程序。 最后,在該設(shè)計(jì)過程中給予極大鼓勵(lì)和幫助的老師、 同學(xué),在此表示衷心的 感謝。由于在設(shè)計(jì)過程中存在許多不足,希望老師同學(xué)指正 1. 課程設(shè)計(jì)的任務(wù) 設(shè)計(jì)一種波輪式全自動(dòng)洗衣機(jī)的機(jī)

4、電系統(tǒng),要求最大洗衣質(zhì)量為 3.8kg ,內(nèi) 筒直徑為 400mn,洗衣機(jī)轉(zhuǎn)速約為140200r/min,脫水轉(zhuǎn)速約為 700 800r/min. 要求具有自動(dòng)調(diào)節(jié)水位、根據(jù)衣服種類設(shè)定洗滌模式、自動(dòng)進(jìn)水、排 水和自動(dòng)脫水等功能。 硬件設(shè)計(jì): 主要是傳動(dòng)系統(tǒng)結(jié)構(gòu)(減速離合器)的各部分原理,零件尺寸的選擇,以及 可實(shí)現(xiàn)的功能 軟件設(shè)計(jì): 全自動(dòng)洗衣機(jī)的功能要求: 強(qiáng)弱洗功能; 4 種洗衣程序(標(biāo)準(zhǔn)、經(jīng)濟(jì)、單獨(dú)、 排水);進(jìn)排水系統(tǒng)故障自動(dòng)診斷功能;脫水期間安全保護(hù)和防震功能;間歇驅(qū) 動(dòng)方式;暫停功能;聲光顯示功能 硬件電路設(shè)計(jì)( protel 上機(jī)繪圖) 控制程序設(shè)計(jì) 2. 洗衣機(jī)簡(jiǎn)介 全自動(dòng)洗

5、衣機(jī)是指洗滌、 漂洗、 脫水各功能的轉(zhuǎn)換都不需要手工操作, 完全 是自動(dòng)進(jìn)行的洗衣機(jī)。 在選定的工作程序內(nèi), 整個(gè)洗衣過程是通過程控器發(fā)出各 種指令,控制各個(gè)執(zhí)行機(jī)構(gòu)的動(dòng)作而自行完成。 波輪式洗衣機(jī)又稱波盤式洗衣機(jī), 依靠波輪定時(shí)正、 反向轉(zhuǎn)動(dòng)或連續(xù)轉(zhuǎn)動(dòng)的 方式進(jìn)行洗滌。 按控制方式不同可分為機(jī)電式和微電腦式兩類。 機(jī)電式全自動(dòng)洗衣機(jī)是由機(jī) 電程控器控制觸點(diǎn)的開關(guān)來完成洗滌、 漂洗和脫水全過程。 微電腦式全自動(dòng)洗衣 機(jī)是由微電腦式程控器輸出控制信號(hào)。 兩值得主要區(qū)別在于電氣控制部分, 其總 體結(jié)構(gòu)基本相同。 2.1全自動(dòng)洗衣機(jī)特點(diǎn) 全自動(dòng)洗衣機(jī)有多種洗滌程序,可供您自由選擇,工作時(shí)間可任意調(diào)節(jié)

6、,工 作狀態(tài)及洗、脫時(shí)間在面板都有顯示,能自動(dòng)處理脫水不平衡,具有各種故障和 高低壓自動(dòng)保護(hù)功能,工作結(jié)束或電源故障會(huì)自動(dòng)斷電, 無需看管確保安全。它 還具有浸泡、手洗水流功能。 全自動(dòng)洗衣機(jī)的洗衣桶(外桶)和脫水桶(內(nèi)桶)是以同一中心安放的。外 桶固定,作盛水用。內(nèi)桶可以旋轉(zhuǎn),作脫水(甩水)用。內(nèi)桶的四周有很多小孔, 使內(nèi)外桶的水流相通。 該洗衣機(jī)的進(jìn)水和排水分別由進(jìn)水電磁閥和排水電磁閥來執(zhí)行。進(jìn)水時(shí),通 過電控系統(tǒng)使進(jìn)水閥打開,經(jīng)進(jìn)水管將水注入到外桶。排水時(shí),通過電控系統(tǒng)使 排水閥打開,將水由外桶排出到機(jī)外。洗滌正轉(zhuǎn)、反轉(zhuǎn)由洗滌電動(dòng)機(jī)驅(qū)動(dòng)波盤正、 反轉(zhuǎn)來實(shí)現(xiàn),此時(shí)脫水桶并不旋轉(zhuǎn)。 脫水時(shí),

7、通過電控系統(tǒng)將離合器合上,由洗滌電動(dòng)機(jī)帶動(dòng)內(nèi)桶正轉(zhuǎn)進(jìn)行甩干。 高、低水位開關(guān)分別用來檢測(cè)高、低水位。啟動(dòng)按鈕用來啟動(dòng)洗衣機(jī)工作。停止 按鈕用來實(shí)現(xiàn)手動(dòng)停止進(jìn)水、排水、脫水及報(bào)警。排水按鈕用來實(shí)現(xiàn)手動(dòng)排水。 2.2 洗衣機(jī)工作原理概述 全自動(dòng)洗衣機(jī)已經(jīng)是普及的家用電器,根據(jù)家用洗衣機(jī)的特點(diǎn) , 目前的家用 洗衣機(jī)都采用單片機(jī)進(jìn)行控制。 該控制對(duì)象具有如下功能: 波輪式全自動(dòng)洗衣機(jī) 的洗衣桶(外桶)和脫水桶(內(nèi)桶)是以同一中心安裝的。 外桶固定,作盛水用; 內(nèi)桶可以旋轉(zhuǎn), 作脫水(甩干)用。內(nèi)桶的四周有許多小孔, 使內(nèi)外桶水流相通。 洗衣機(jī)的進(jìn)水和排水分別由進(jìn)水電磁閥和排水電磁閥控制。 進(jìn)水時(shí),

8、控制系統(tǒng)使 進(jìn)水電磁閥打開,將水注入外桶;排水時(shí),使排水電磁閥打開,將水由外桶排到 機(jī)外。洗滌和脫水由同一臺(tái)電動(dòng)機(jī)拖動(dòng), 通過電磁閥離合器來控制, 將動(dòng)力傳遞 給洗滌波輪或甩干桶 (內(nèi)桶)。電磁離合器失電時(shí), 電動(dòng)機(jī)帶動(dòng)洗滌波輪實(shí)現(xiàn)正、 反轉(zhuǎn),進(jìn)行洗滌;電磁離合器得電時(shí),電動(dòng)機(jī)帶動(dòng)內(nèi)桶單向旋轉(zhuǎn),進(jìn)行甩干(此 時(shí)波輪不轉(zhuǎn))。水位高低分別由高低水位開關(guān)進(jìn)行檢測(cè),啟動(dòng)按鈕用來啟動(dòng)洗衣 機(jī)工作。 3. 傳動(dòng)方案討論 3.1 傳動(dòng)方案一 方案一采用電機(jī)直接驅(qū)動(dòng),這是一種洗衣機(jī)專用電機(jī),其結(jié)構(gòu)如圖3-1 所示,這里介 紹的洗衣機(jī)專用電機(jī)除了起到電機(jī)的作用, 還起到離合器的作用。 其結(jié)構(gòu)組成為: 主要由 內(nèi)

9、軸、 外軸、單向軸承、 電磁制動(dòng)裝置 (制動(dòng)裝置有多種形式, 這里只是設(shè)定其中一種) 、 減速器、脫水電機(jī)、洗衣電機(jī)等部分組成。 洗衣機(jī)專用電機(jī)的工作原理是: (1)洗衣程序時(shí),洗衣電機(jī)通電,轉(zhuǎn)子轉(zhuǎn)動(dòng),通過減速器使內(nèi)軸減速旋轉(zhuǎn),此時(shí)電磁 制動(dòng)裝置處于制動(dòng)狀態(tài)。 (2)脫水程序時(shí) ,洗衣電機(jī)不通電, 脫水電機(jī)通電, 轉(zhuǎn)子轉(zhuǎn)動(dòng), 使外軸與轉(zhuǎn)子等速旋轉(zhuǎn), 此時(shí)電磁制動(dòng)裝置處于不制動(dòng)狀態(tài)。 (3)當(dāng)洗衣機(jī)處于脫水狀態(tài)時(shí),如人為打開機(jī)蓋,則通過連動(dòng)開關(guān)使電機(jī)斷電,同時(shí) 使電磁制動(dòng)裝置處于制動(dòng)狀態(tài),使脫水桶停止轉(zhuǎn)動(dòng),從而達(dá)到有關(guān)安全標(biāo)準(zhǔn)要求。 制動(dòng)裝置 水電機(jī)轉(zhuǎn)予 機(jī)鐵芯 電機(jī)轉(zhuǎn)子 圖3-1方案三傳動(dòng)簡(jiǎn)圖

10、和結(jié)構(gòu)圖 其優(yōu)缺點(diǎn)為: (1)優(yōu)點(diǎn) 重量集中在中心因而不需要裝置平衡塊,內(nèi)外軸旋轉(zhuǎn)轉(zhuǎn)換直接由電機(jī)實(shí) 現(xiàn),不需要拉動(dòng)離合器手柄的牽引器,因?yàn)闆]有皮帶對(duì)軸拉緊的張力,可以將洗衣機(jī)專用 電機(jī)直接安裝在外桶上, 不需要安裝底板。減少摩擦,降低噪聲及延長(zhǎng)使用期,使洗衣機(jī) 裝配程序大大簡(jiǎn)化,使洗衣機(jī)容易維修。 (2)缺點(diǎn) 對(duì)制造要求相對(duì)較高,制造成本也相對(duì)較高,國(guó)內(nèi)對(duì)這種機(jī)型的制造較 少,普及面不高。 3.2傳動(dòng)方案二 傳動(dòng)方案二屬于間接驅(qū)動(dòng)方式,通過普通電機(jī),一般為單相異步交流電機(jī)通過一級(jí)皮 帶傳動(dòng)帶動(dòng)離合器工作,以實(shí)現(xiàn)洗衣和脫水。 其基本工作原理為: (1)洗衣程序時(shí),電機(jī)通過皮帶帶動(dòng)離合器皮帶輪轉(zhuǎn)動(dòng)

11、,使離合器內(nèi)軸(輸入軸)作 減速旋轉(zhuǎn),此時(shí)外軸(脫水軸)處于制動(dòng)狀態(tài),離合器離合彈簧處于“分”的狀態(tài)。 (2)脫水程序時(shí),控制方絲離合彈簧的棘爪開始工作,使離合彈簧處于“合”的狀態(tài)。 然后電機(jī)帶動(dòng)離合器皮帶輪旋轉(zhuǎn),使離合器外軸與與離合器皮帶輪作等速旋轉(zhuǎn) 其優(yōu)缺點(diǎn)為: (1) 優(yōu)點(diǎn) 制造成本和制造精度相對(duì)較低,價(jià)格便宜,國(guó)內(nèi)這種類型的洗衣機(jī)普及面 廣,制造工藝成熟,零部件易更換維修。 (2) 缺點(diǎn) 洗衣機(jī)的驅(qū)動(dòng)系統(tǒng)結(jié)構(gòu)復(fù)雜、工作效率低、轉(zhuǎn)速不穩(wěn)定、啟動(dòng)電流大、故 障率比較高、控制精度低;在結(jié)構(gòu)設(shè)置上,洗衣機(jī)的電機(jī)軸與滾筒的幾何中心軸不可能同 軸(需要皮帶減速),處于偏置狀態(tài),而正是這種“偏置”,

12、造成了洗衣機(jī)在工作時(shí)會(huì)出現(xiàn) 振動(dòng),難以平衡的問題。所以,迫使我們不得不增加平衡塊,以抑制整個(gè)機(jī)體工作時(shí)的振 動(dòng)和噪音;電機(jī)的固有結(jié)構(gòu)及特性決定了這種電機(jī)的單位體積功率偏小、起動(dòng)力矩偏弱、 過載能力不足等。 3.3傳動(dòng)方案的選擇 經(jīng)過小組成員深入討論對(duì)比了各方案,考慮到傳動(dòng)系統(tǒng)的設(shè)計(jì)和制造難度、制造成本、 通用性、互換性、工藝性、維修便捷性,選用方案二的傳動(dòng)系統(tǒng)。下面將對(duì)方案二的傳動(dòng) 系統(tǒng)具體組成結(jié)構(gòu)和原理作詳細(xì)分析。 4傳動(dòng)系統(tǒng)的設(shè)計(jì)計(jì)算 4.1減速離合器的結(jié)構(gòu)和工作原理簡(jiǎn)介 早期設(shè)計(jì)的小波輪全自動(dòng)洗農(nóng)機(jī)的離合器沒有減速功能,故洗滌和脫水轉(zhuǎn) 速相同。新型大波輪全自動(dòng)洗衣機(jī)的離合器都具有洗滌減速

13、功能,稱為減速離 合器,其種類很多,但主要結(jié)構(gòu)和工作原理基本相同。目前應(yīng)用最為廣泛的有 兩種:?jiǎn)蜗蜉S承式減速離合器與帶制動(dòng)式減速離合器。 基本結(jié)構(gòu) (分為離合器與行星減速器) 離合器主要結(jié)構(gòu)如圖7(1) (2)所 示。離合器中部有兩根軸:輸入軸 I和 脫水軸I8。輸人軸1的下端加工成四方 形,與之相配的帶輪3和離合套20的內(nèi) 孔也是方形。離合套20和帶輪3被螺母 2固定在輸人軸1 上,由于方軸與方孔的 緊密配合,從而帶輪3、輸入軸I和離合套20聯(lián)成了一體。輸入軸1的上端 加工成齒形花鍵,和行星減速器的中心輪內(nèi)孔配合聯(lián)接 |一輸人軸丄一彊業(yè) s帶輪 4一片吃離合呻沈 J-Wft 鴕爪 ? 一按叉

14、 g-甲向徒it琲承 腰(?外説 11、12雪封岡 H十支袒 也一as合器畀世 J5 一胸*蠡 IT I亨軸齋 LB 加一商會(huì)宓 2:捷桿 輸入軸I的外部是脫水軸18。在衣服 洗滌時(shí),脫水軸靜止不轉(zhuǎn);而洗滌結(jié)束后, 脫水軸應(yīng)將帶輪3的高轉(zhuǎn)速直接傳遞給脫 水桶,完成脫水功能。這種轉(zhuǎn)換功能是由 方絲離合彈簧4完成的。方絲離合彈簧的 形狀呈錐形,上端幾圈的直徑比下端略小 一些。由于脫水軸18和離臺(tái)套20的外徑 比方絲離合彈簧的內(nèi)徑略大,在自由狀態(tài) 時(shí),方絲離合彈簧就抱緊在離合套20和脫 水軸18的外壁上。當(dāng)帶輪帶動(dòng)離合套向彈 圖 離脅練輪丁作原琲圖 1-方樂亀合帯黃 2強(qiáng)賞雖 3棘喘ktt 5wnv

15、 簧旋緊方向旋轉(zhuǎn)時(shí),通過方絲離合彈簧就將帶輪3的轉(zhuǎn)動(dòng)由離合套20傳遞到 脫水軸18,這就是“合”時(shí)的脫水狀態(tài)。在洗滌時(shí),可以將方絲離合彈簧向 反方向旋松,使其內(nèi)徑變大,從而與離合套 20脫離接觸,這就是“離”時(shí)的 洗滌狀態(tài)。實(shí)現(xiàn)彈簧旋松的機(jī)構(gòu)是棘輪棘爪裝置,圖 8是其工作原理簡(jiǎn)圖。方 絲離合彈簧下端的彈簧卡2卡在棘輪3的內(nèi)槽中,通過棘爪5的擺動(dòng)使棘輪3 轉(zhuǎn)動(dòng),從而帶動(dòng)方絲離合彈簧向旋松方向轉(zhuǎn)動(dòng)。 圖7中的8是單向滾針軸承部件,它的內(nèi)圈與脫水軸18相接觸,它的外 圈與齒輪軸承座過盈配合成一體,齒輪軸承座嵌在支撐架19中,支撐架用螺 栓和離合器外罩14固定在一起。 在單向滾針軸承8的作用下,脫水軸

16、18只能 K釀白酒帥啣合辭【作撫盤圉 楔形面的外圈7以及利用保持架 3隔開的一系列滾針6組成,軸承直接套在脫 向一個(gè)方向自由旋轉(zhuǎn)。單向滾針 軸承是滾針軸承產(chǎn)品領(lǐng)域中一種 科技含量較高的產(chǎn)品,其結(jié)構(gòu)緊 湊,徑向截面小。因?yàn)槠渫馊?作面是楔形所以只允許一個(gè)方 向的轉(zhuǎn)動(dòng)可以起到單向離合器 的作用。洗衣機(jī)單向滾針離合器 的工作原理如圖9所示,它由帶 水軸5上。當(dāng)脫水軸5順時(shí)針轉(zhuǎn)動(dòng)時(shí),滾針落入楔形槽的大端中,此時(shí)脫水軸 可順時(shí)針轉(zhuǎn)動(dòng);而當(dāng)脫水軸逆時(shí)針轉(zhuǎn)動(dòng)時(shí),滾針則卡緊在楔彤槽的小端處,這 時(shí)脫水軸將無法轉(zhuǎn)動(dòng) 在圖7中,剎車裝置外罩9、剎車扭簧10、剎車帶15、剎車盤16和十寧 軸套17等組成了脫水軸1

17、8的剎車裝置。十字軸套17用兩顆緊定螺釘和脫水 軸18固定在一起,剎車盤16又和十字軸套17用螺栓固定在一起,所以剎車 盤16和脫水軸18聯(lián)成了一體。剎車裝置外罩 9安裝在脫水軸18上,為間隙 配合,它對(duì)脫水軸的作用由剎車扭簧10控制。剎車扭簧10套裝在剎車裝置外 罩9的外圓上,其下端固定在離合器外罩上,它的上端則嵌在拉桿 21的一個(gè) 方孔中,由排水電磁鐵帶動(dòng)拉桿控制其狀態(tài)。洗滌時(shí),排水電磁鐵斷電,剎車 扭簧處于自由旋緊的狀態(tài)。當(dāng)脫水軸18順時(shí)針旋轉(zhuǎn)時(shí),由于剛性剎車帶15緊 緊抱住剎車盤16,而其一端又卡在剎車裝置外罩 9的方槽中,所以剎車盤、 圖疏請(qǐng)器第構(gòu)圖 剎車帶以及剎車裝置外罩9都將一起

18、順時(shí)針旋轉(zhuǎn)。剎車裝置外罩9在順時(shí)針旋 轉(zhuǎn)過程中,剎車扭簧10將被迅速旋緊,強(qiáng)大的摩擦力使剎車裝置外罩 9無法 動(dòng)作,此時(shí)剎車帶15和剎車盤16將發(fā)生劇烈摩擦,對(duì)脫水軸18產(chǎn)生制動(dòng)作 用,防止脫水桶產(chǎn)生跟轉(zhuǎn)現(xiàn)象。在脫水時(shí),排水閥通電,排水電磁鐵帶動(dòng)拉桿 使剎車扭簧處于放松狀態(tài)。由于剎車裝置外罩9在順時(shí)針旋轉(zhuǎn)過程中,與旋松 的剎車扭簧之間可以自由滑動(dòng),剎車不起作用,因此剎車裝置外罩9、剎車盤 16、剎車帶15都將與脫水軸18 一起高速旋轉(zhuǎn),完成脫水功能。 行星減速器結(jié)構(gòu)如圖10所示。減速器外罩8和減速器底蓋10用螺釘緊 固在一起,再安裝在法盤12上,法蘭盤12和脫水軸2通過鎖緊塊13固定在 一起,

19、因?yàn)榉ㄌm盤12和脫水桶相聯(lián)接,所以減速器外罩 typedef bit bool; typedef unsigned char uchar; #define biaozhun_flag 0 #define jingji_flag 1 #define dandu_flag2 #define paishui_flag3 /* 工作程序按鈕分配 */ sbit biaozhun =P0A0; /標(biāo)準(zhǔn)工作程序選擇 sbit jingji =P0A1; /經(jīng)濟(jì)工作程序選擇 sbit dandu =P0A2; /單獨(dú)工作程序選擇 sbit paishui =P0A3; /排水工作程序選擇 * 輸入 I/O

20、口分配 * /強(qiáng)、弱洗滌功能選擇按鈕,水位開關(guān),蓋開關(guān) 啟動(dòng) /暫停按鈕 sbit qiangruo_pin= P0A4; sbit shuiwei_pin =卩0人5; sbit gai_pin=P0A6; /強(qiáng)、弱選擇按鈕 強(qiáng)=0;弱 =1; /水位開關(guān) /蓋開關(guān) * 啟動(dòng) /停止按鈕 * sbit qiting_pin sbit jixu_pin P3A3;/啟動(dòng) /暫停開關(guān) =P0A7;/繼續(xù)開關(guān) 占用外部中斷 INT1 占用外部中斷 INT0 I/O 口分配 * /* 四種工作狀態(tài)指示燈 */ * 輸出 P1A0; P1A1; /標(biāo)準(zhǔn)工作狀態(tài)指示燈 /經(jīng)濟(jì)工作狀態(tài)指示燈 sbit b

21、iaozhun_led sbit jingji_led sbit dandu_led sbit paishui_led P1A2;/單獨(dú)工作狀態(tài)指示燈 P1A3;/排水工作狀態(tài)指示燈 /* 強(qiáng)、弱洗滌狀態(tài)指示燈 sbit qiangxi_led =P1A4; sbit ruoxi_led =P1A5; */ /強(qiáng)洗指示燈 /弱洗指示燈 /* 洗滌、漂洗狀態(tài)指示燈 sbit xidi_led =P1A6; sbit piaoxi_led=P1A7; */ /洗滌指示燈 /漂洗指示燈 /* 脫水指示燈,報(bào)警指示燈 */ sbit tuoshui_led sbit baojing_led P2A0;

22、/脫水指示燈 P2A1;/報(bào)警蜂鳴器 * 電動(dòng)機(jī)控制 * /電動(dòng)機(jī)正轉(zhuǎn) sbit motor_zheng_pin =P2A2; sbit motor_fan_pin =P2A3;/電動(dòng)機(jī)反轉(zhuǎn) * 進(jìn)水、排水閥門控制 * sbit jinshui_pin P2A4;/進(jìn)水閥控制 sbit paishui_pin P2A5;/排水閥控制 * 定義全局變量 */ uchar chengxumodel_flag; bool qiangruo_flag; bool start_flag; bool pause_flag; /工作程序變量 /強(qiáng) =0;弱 =1 ; /開始=0;未開始 =1; /暫停=0;

23、未暫停 =1; /* 函數(shù)申明 */ /* void delay_s(uint); void delay_ms(uint); 延時(shí)程序 */ /秒延時(shí) /毫秒延時(shí) * 電機(jī)控制程序 * void motor_zheng(uint zheng); /電機(jī)正轉(zhuǎn) zheng 秒 / 電機(jī)反轉(zhuǎn) fan 秒 / 電機(jī)停 ting 秒 * n 個(gè)單獨(dú)步驟 * void jin_shui(); void pai_shui(); void tuo_shui(); void xidi(); void piaoxi(); /進(jìn)水 /排水 /脫水 /洗滌 /漂洗 void baojing(); void baoji

24、ng_no(); void finished(); /報(bào)警 /報(bào)警停 /程序執(zhí)行通知已經(jīng)完成 * 種工作程序 * void biaozhun_chengxu(); void jingji_chengxu(); void dandu_chengxu(); void paishui_chengxu(); /標(biāo)準(zhǔn)程序 /經(jīng)濟(jì)程序 /單獨(dú)程序 /排水程序 * 初始化函數(shù) * void motor_fan(uint fan); void motor_ting(uint ting); void initial(); * 按鍵掃描函數(shù) * /按鍵掃描函數(shù) /翻蓋處理函數(shù) uchar keyscan(); v

25、oid gai_open(); void qiangruo_select(); /強(qiáng)、弱洗滌模式選擇 void chengxumodel_select();/ 工作程序模式選擇 * 邏輯說明 * /采用反邏輯,以 0 表示有效,以 1 表示無效 / /* 頭文件導(dǎo)入 */ #include /* 延時(shí)程序 */ /* 延時(shí)秒程序 */ void delay_s(uint time) uint i; uchar j; while(time -) /1s /10ms for(j=0;j100;j+) for(i=0;i1250;i+); * 延時(shí)毫秒程序 */ void delay_ms(uint

26、 time) uchar i; while(time -) for(i=0;i240) 立即關(guān)閉進(jìn)水閘并報(bào)警 /4 分鐘的極限時(shí)間內(nèi),水位未達(dá)到要求,說明出現(xiàn)故障, jinshui_pin=1; baojing(); break; jinshui_pin=1; /水位在極限時(shí)間內(nèi)達(dá)到要求,則正常結(jié)束 /關(guān)閉進(jìn)水閥 /* void pai_shui() int time=0; paishui_pin=0; while(!shuiwei_pin) delay_s(1); if(!shuiwei_pin) time+; 排水程序 * /排水閥打開 if(time60) 障,立即關(guān)閉排水閘并報(bào)警 /1

27、 分鐘的極限時(shí)間內(nèi),水位未達(dá)到要求,說明出現(xiàn)故 paishui_pin=1; baojing(); break; /水位在極限時(shí)間內(nèi)達(dá)到要求,則正常結(jié)束 /水位達(dá)到要求后,再延時(shí) 50 秒,關(guān)閉排水閥 /排水閥關(guān)閉 * /強(qiáng)洗滌9s,弱洗滌8s delay_s(5); paishui_pin=1; /* void xidi() if(qiangruo_flag=0) motor_zheng(20); motor_ting(10); motor_fan(20); motor_ting(10); else motor_zheng(15); motor_ting(10); motor_fan(15)

28、; motor_ting(10); /強(qiáng)洗滌 強(qiáng)=0;弱 =1 /正轉(zhuǎn) 20S /暫停 10S /反轉(zhuǎn) 20S /暫停 10S /弱洗滌 /正轉(zhuǎn) 15S /暫停 10S /反轉(zhuǎn) 15S /暫停 10S /* void piaoxi() if(qiangruo_flag=0) motor_zheng(20); motor_ting(10); motor_fan(20); motor_ting(10); else motor_zheng(15); motor_ting(10); motor_fan(15); 漂洗程序 * /假設(shè)漂洗時(shí)間與洗滌時(shí)間相同,沒有資料可查! /強(qiáng)洗滌 /正轉(zhuǎn) 20S /暫

29、停 10S /反轉(zhuǎn) 20S /暫停 10S /弱洗滌 /正轉(zhuǎn) 10S /暫停 10S /反轉(zhuǎn) 10S !/ motor_ting(10);/暫停 10S * 脫水 * void tuo_shui() /脫水時(shí)間固定為 2 分鐘, 120S uchar num=0; tuoshui_led=0; paishui_pin=0; 態(tài) for(;num18;) motor_zheng(5); motor_ting(2); num+; paishui_pin=1; tuoshui_led=1; /開脫水燈 /脫水時(shí)打開排水閥,同時(shí)電動(dòng)機(jī)自動(dòng)進(jìn)入高速旋轉(zhuǎn)狀 /正轉(zhuǎn),停止共計(jì)7s,循環(huán)18次 /脫水結(jié)束,關(guān)

30、閉排水閥 /關(guān)脫水燈 /* /* 報(bào)警與解除 */ 報(bào)警程序 */ void baojing() motor_ting(0); baojing_led=0; TR1=1; /如果電機(jī)在轉(zhuǎn)。則電機(jī)立即停 /報(bào)警蜂鳴器叫 /開定時(shí)器1 ,蜂鳴器響 /* void baojing_no() TR1=0; baojing_led=1; 解除報(bào)警程序 * /報(bào)警蜂鳴器關(guān) /報(bào)警蜂鳴器不叫 * 按鍵掃描程序 * uchar keyscan() delay_ms(20); if(P0!=0 xff) 否則有鍵按下 /按鍵去抖動(dòng) /P0 口為輸入口,如果引腳都為高,說明沒按鍵按下, return(P0); r

31、eturn(0 xff); /將 P0 口的按鍵值返回 /沒鍵按下,則將 0 xff 返回,作為沒按鍵按下。 /* 翻蓋函數(shù) */ / void gai_open() baojing_no(); 鳴器 if(0=tuoshui_led) while(0 xbf=P0|0 x9f=P0) 水。當(dāng)蓋子合上,即按鍵沒有輸入時(shí),外部中斷 /出故障后,打開蓋子說明人來到了,立即關(guān)閉報(bào)警蜂 /如果執(zhí)行脫水程序時(shí)打開蓋子,應(yīng)該立即停止脫水 /蓋子在打開時(shí) , 停止電動(dòng)機(jī)轉(zhuǎn)動(dòng) ,停止排 0 處理完后會(huì)自動(dòng)繼續(xù)脫水程序 paishui_pin=1; motor_ting(2); paishui_pin=0; /

32、蓋上蓋子繼續(xù)排水 /* void qiangruo_select() if(0=qiangruo_flag) qiangruo_flag=1; ruoxi_led=0; qiangxi_led=1; else */ /強(qiáng)、弱洗滌按鈕按下,強(qiáng)、弱模式轉(zhuǎn)換 /強(qiáng)=0;弱 =1; /如果原來在強(qiáng)洗,現(xiàn)在設(shè)為弱洗 /弱洗燈亮,強(qiáng)洗燈滅 qiangruo_flag=0; qiangxi_led=0; ruoxi_led=1; /強(qiáng)洗燈亮,弱洗燈滅 void chengxumodel_select() if(biaozhun_flag=chengxumodel_flag) biaozhun_led=0;

33、jingji_led=1; dandu_led=1; paishui_led=1; else if(jingji_flag=chengxumodel_flag) biaozhun_led=1; jingji_led=0; dandu_led=1; paishui_led=1; else if(dandu_flag=chengxumodel_flag) biaozhun_led=1; jingji_led=1; dandu_led=0; paishui_led=1; else biaozhun_led=1; jingji_led=1; dandu_led=1; paishui_led=0; *

34、程序執(zhí)行通知已經(jīng)完成 * void finished() baojing(); delay_s(20); baojing_no(); start_flag=1; pause_flag=1; /報(bào)警 20 秒 /可以開始新一輪的洗衣服 /重新設(shè)置未暫停,其實(shí)可以不要這句代碼! ! * 種工作程序 * * 標(biāo)準(zhǔn)工作程序 * void biaozhunchengxu()/執(zhí)行 3 次 uchar num; /第一個(gè)循環(huán),共 3 次 jin_shui(); xidi_led=0; if(qiangruo_flag=0) for(num=0;num8;num+) xidi(); else for(num

35、=0;num12;num+) xidi(); /定義循環(huán)次數(shù) /進(jìn)水程序 /開洗滌燈 /初次洗滌8分鐘480S,強(qiáng)洗滌60s,共8個(gè)循環(huán) /初次洗滌8分鐘480S,弱洗滌40s,共12個(gè)循環(huán) /關(guān)洗滌燈 xidi_led=1; pai_shui(); tuo_shui(); /第二個(gè)循環(huán) jin_shui(); piaoxi_led=0; if(qiangruo_flag=0) for(num=0;num6;num+) 強(qiáng)洗滌60s,共6個(gè)循環(huán) piaoxi(); else for(num=0;num9;num+) piaoxi(); piaoxi_led=1; pai_shui(); tuo

36、_shui(); /第三次循環(huán) jin_shui(); piaoxi_led=0; if(qiangruo_flag=0) /開漂洗燈 /第二次洗滌比第一次少 2 分鐘,為 6 分鐘 360S, /第二次洗滌6分鐘360S,弱洗滌40s,共9個(gè)循環(huán) /關(guān)漂洗燈 /開漂洗燈 for(num=0;num4;num+) 強(qiáng)洗滌60s,共4個(gè)循環(huán) /第三次洗滌比第二次少 2分鐘,為4分鐘,240S, piaoxi(); else for(num=0;num6;num+) 環(huán) piaoxi(); piaoxi_led=1; pai_shui(); tuo_shui(); / biaozhun_led=1

37、; finished(); /第三次洗滌為4分鐘,240S,弱洗滌40s,共6個(gè)循 /關(guān)漂洗燈 /關(guān)標(biāo)準(zhǔn)工作狀態(tài)指示燈 /完成洗衣工作 * 經(jīng)濟(jì)工作程序 void jingjichengxu() */ /經(jīng)濟(jì)程序執(zhí)行 2 次,比標(biāo)準(zhǔn)程序少一次 uchar num; /開經(jīng)濟(jì)程序狀態(tài)指示燈 /第一個(gè)循環(huán),共 3 次 jin_shui(); xidi_led=0; if(qiangruo_flag=0) for(num=0;num8;num+) xidi(); else for(num=0;num12;num+) xidi(); xidi_led=1; pai_shui(); tuo_shui()

38、; /第二個(gè)循環(huán) jin_shui(); piaoxi_led=0; if(qiangruo_flag=0) /進(jìn)水程序 /開洗滌燈 /初次洗滌8分鐘480S,強(qiáng)洗滌60s,共8個(gè)循環(huán) /初次洗滌8分鐘480S,弱洗滌40s,共12個(gè)循環(huán) /關(guān)洗滌燈 /開漂洗燈 for(num=0;num6;num+) 強(qiáng)洗滌60s,共6個(gè)循環(huán) piaoxi(); else for(num=0;num9;num+) piaoxi(); piaoxi_led=1; pai_shui(); tuo_shui(); / jingji_led=1; finished(); / 第二次洗滌比第一次少 2 分鐘,為 6

39、分鐘 360S, /第二次洗滌6分鐘360S,弱洗滌40s,共9個(gè)循環(huán) /關(guān)漂洗燈 /關(guān)經(jīng)濟(jì)程序狀態(tài)指示燈 /完成洗衣工作 /* void danduchengxu() uchar num; 單獨(dú)工作程序 * jin_shui(); if(qiangruo_flag=0) for(num=0;num6;num+) xidi(); else /洗滌6分鐘360S,強(qiáng)洗滌60s,共6個(gè)循環(huán) for(num=0;num9;num+) xidi(); / dandu_led=1; finished(); 洗滌6分鐘360S,弱洗滌40s,共9個(gè)循環(huán) /關(guān)單獨(dú)程序狀態(tài)指示燈 /完成洗衣工作 /* voi

40、d paishuichengxu() 排水工作程序 * pai_shui(); tuo_shui(); / paishui_led=1; finished(); /關(guān)排水程序狀態(tài)指示燈 /完成洗衣工作 洗衣機(jī)初始化 */ /默認(rèn)為標(biāo)準(zhǔn)程序,燈亮 /經(jīng)濟(jì)程序,燈滅 /單獨(dú)程序,燈滅 /排水程序,燈滅 qiangruo_flag=0; qiangxi_led=0; ruoxi_led=1; /* void initial() chengxumodel_flag=biaozhun_flag; / 默認(rèn)為標(biāo)準(zhǔn)程序 biaozhun_led=0; jingji_led=1; dandu_led=1; p

41、aishui_led=1; xidi_led=1; piaoxi_led=1; /洗滌燈滅 /漂洗燈滅 tuoshui_led=1; baojing_led=1; /脫水燈滅 /報(bào)警蜂鳴器不叫 motor_zheng_pin=1; motor_fan_pin=1; /電機(jī)不正轉(zhuǎn) /電機(jī)不反轉(zhuǎn) jinshui_pin=1; paishui_pin=1; /進(jìn)水閥關(guān) /排水閥關(guān) start_flag=1; pause_flag=1; /未開始 /未暫停 EA=1; EX0=1; EX1=1; PX0=1; PX1=0; /開總中斷,接受外部按鍵 / 允許外部中斷 1,接收各種模式設(shè)置按鍵 / 允許

42、外部中斷 2,作為啟動(dòng) /暫停鍵 / 外部中斷 0 的優(yōu)先級(jí)為高 / 外部中斷 1 的優(yōu)先級(jí)為低 ET1=1; PT1=1; TH1=0 x9C; 12MHz /允許定時(shí)器 1中斷 ,用于產(chǎn)生蜂鳴器聲音 /設(shè)置為高優(yōu)先級(jí) /設(shè)置初始值,以輸出 200us 的脈沖,晶振頻率為 TL1=0 x9C; TMOD=0 x20; TR1=0; /設(shè)置定時(shí)器 1 工作方式 2 /強(qiáng)=0;弱=1 ; /強(qiáng)洗滌燈亮 /弱洗滌燈滅 void INT0_isr(void) interrupt 0/ 外部中斷 0 中斷服務(wù)子程序 P0 口先與外部中斷 0 相接, 每次按鍵都觸發(fā)外部中斷 0。 uchar key;

43、/ EX0=0;/ 暫時(shí)禁止外部中斷,以防止按鈕連續(xù)觸發(fā) key=keyscan(); switch(key) / EX0=1; 繼續(xù)允許中斷, 接 收新的按鈕事件/強(qiáng)弱選擇按鈕 ,洗衣開始后禁用 case 0 xfe: case 0 xde: if(1=start_flag)chengxumodel_flag=biaozhun_flag;chengxumodel_select(); break; /標(biāo)準(zhǔn)程序選擇鍵按下 case 0 xfd: case 0 xdd: if(1=start_flag)chengxumodel_flag=jingji_flag; chengxumodel_sele

44、ct(); break;/經(jīng)濟(jì)程序選擇鍵按下 case 0 xfb: case 0 xdb: if(1=start_flag)chengxumodel_flag=dandu_flag; chengxumodel_select(); break; /單 獨(dú) 程序 選擇鍵 按 下 case 0 xf7: case 0 xd7: if(1=start_flag)chengxumodel_flag=paishui_flag; chengxumodel_select(); break;/排水按鈕選擇鍵按下 case 0 xef: case 0 xcf:if(1=start_flag)qiangruo_s

45、elect(); EX0=1; break; /強(qiáng)弱選擇鍵按下 case 0 xbf: case 0 x9f: if(start_flag=0)gai_open(); break; /蓋子打開 case 0 x7f: case 0 x5f: if(start_flag= =0)pause_flag=pause_flag; break; /繼續(xù)按鍵 ,只有開始 /暫停鍵按下后才有效 default: break; / 其他情況 void INT1_isr(void) interrupt 2/外部中斷 1中斷服務(wù)子程序 按下開始 /暫停鍵,則產(chǎn) 生此中斷 /去除抖動(dòng) delay_ms(20); if(INT1=0) if(start_flag=1) 為開始洗衣服 start_flag=0; else while(pause_flag); pause_flag=pause_flag; /第一次按開始 / 暫停鍵,洗衣機(jī)的開始 /暫停按鍵設(shè)定 /洗衣機(jī)開始洗衣服,開始標(biāo)志置為0,說明已經(jīng)開始 /死循環(huán)用以實(shí)現(xiàn)暫停狀態(tài) void T1_isr(void) interrupt 3 baojing_led=baojing_led; /定時(shí)器產(chǎn)出報(bào)警

溫馨提示

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

評(píng)論

0/150

提交評(píng)論