單片機課程設(shè)計洗衣機控制系統(tǒng)_第1頁
單片機課程設(shè)計洗衣機控制系統(tǒng)_第2頁
單片機課程設(shè)計洗衣機控制系統(tǒng)_第3頁
單片機課程設(shè)計洗衣機控制系統(tǒng)_第4頁
單片機課程設(shè)計洗衣機控制系統(tǒng)_第5頁
免費預(yù)覽已結(jié)束,剩余24頁可下載查看

下載本文檔

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

文檔簡介

1、東北石油大學(xué)課程設(shè)計課程單片機課程設(shè)計題目洗衣機控制系統(tǒng)設(shè)計院系電氣信息工程學(xué)院專業(yè)班級測控14-1班學(xué)生姓名孔錫達學(xué)生學(xué)號140601240115指導(dǎo)教師路敬祎(副教授)趙志華(副教授)2017年7月28日任務(wù)書課程單片機課程設(shè)計題目洗衣機控制系統(tǒng)設(shè)計專業(yè)測控14-1班姓名孔錫達學(xué)號140601240115主要內(nèi)容:本課題針對洗衣機控制系統(tǒng)的發(fā)展現(xiàn)狀以及當(dāng)今社會發(fā)展對于產(chǎn)品智能化的要求,設(shè)計一種基于單片機微處理器的控制系統(tǒng)。要求具有較高的可靠性和實用性,實現(xiàn)智能化控制。本文以單片機為控制器核心設(shè)計控制系統(tǒng),使洗衣機可處于自動模式依次進行進水、洗滌、排水、脫水四個過程;也可處于手動模式通過按鍵

2、進行洗滌、排水、脫水三個過程的選擇,并且處于何種模式,何種過程能夠通過指示燈顯示。基本要求:1、分析洗衣機控制系統(tǒng)設(shè)計各種方案的優(yōu)缺點,說明本設(shè)計方案選用原則;2、闡述本設(shè)計方案的基本工作原理、分析并注明元器件選取參數(shù);3、繪制并分析洗衣機控制系統(tǒng)硬件設(shè)計原理圖及電路圖;4、設(shè)計完整的程序框圖和程序清單;參考文獻:1余永權(quán).單片機在控制系統(tǒng)中的應(yīng)用M.北京電子工業(yè)出版社,2003:23-78.2馮先成.單片機應(yīng)用系統(tǒng)設(shè)計M.北京航空航天大學(xué)出版社,2009:56-98.3元增民.模擬電子技術(shù)M.北京:中國電力出版社,2009:35-97.4萬光毅,嚴(yán)義,邢春香.單片機實驗與實踐教程M.北京:北

3、京航空航天大學(xué),2006:23-110.完成期限2017.7.172017.7.28指導(dǎo)教師專業(yè)負責(zé)人2017年7月16日摘要隨著經(jīng)濟社會的快速發(fā)展,智能化,自動化以成為當(dāng)代社會的主旋律。因此,設(shè)計了基于單片機的全自動洗衣機控制系統(tǒng)。本系統(tǒng)實現(xiàn)了對洗衣機整個過程的控制,包括進水、洗滌、排水、脫水四個階段.控制系統(tǒng)主要由電源電路,單片機控制系統(tǒng)和外部硬件三大模塊組成。通過單片機的控制,外部硬件隨著用戶參數(shù)的輸入,洗衣機按照用戶的選擇要求進行運作。本設(shè)計實現(xiàn)了自動和手動模式自選,能夠滿足現(xiàn)代家庭的基本洗滌要求,具有一定的實用性、可靠性,能夠?qū)崿F(xiàn)自動化、智能化。關(guān)鍵詞:手動模式;自動模式;洗衣機;單

4、片機;控制系統(tǒng)目錄1設(shè)計要求11.1 功能與用途11.2 課題研究的意義11.3 國內(nèi)外發(fā)展現(xiàn)狀12設(shè)計方案42.1 方案說明42.2 方案論證53硬件設(shè)計53.1 硬件電路53.2 參數(shù)計算83.3 器件選擇93.4 元器件清單94軟件設(shè)計104.1 軟件介紹104.2 程序介紹115系統(tǒng)仿真205.1 系統(tǒng)仿真205.2 問題及解決206總結(jié)21參考文獻221設(shè)計要求1.1 功能與用途設(shè)計一個基于單片機的洗衣機控制系統(tǒng),洗衣機的工作流程由進水、洗衣、排水和脫水四個過程組成,并且能達到“自動模式”和“手動模式”兩種控制模式要求:(1)按下啟動按鈕,開始進水直到水滿(即水位達到高水位)時停止進

5、水開始洗滌。(2)洗滌時,正轉(zhuǎn)30秒,停2秒;然后反轉(zhuǎn)30秒,停2秒,如此循環(huán)5次,總共320秒開始排水。(3)水位下降到低水位時開始脫水并繼續(xù)排水,脫水30秒。(4)開始清洗,重復(fù)(1)(4),清洗三遍。(5)若按下洗滌按鈕,可實現(xiàn)手動洗滌。(6)若按下排水按鈕,可實現(xiàn)手動排水。(7)若按下脫水按鈕,可實現(xiàn)手動脫水。1.2 課題研究的意義目前中國洗衣機市場正進入更新?lián)Q代期,市場潛力巨大,人們對于洗衣機的要求也越來越高,目前的洗衣機主要有強弱洗滌功能、進排水系統(tǒng)故障自動診斷功能、暫停等幾大功能,在許多方面還不能達到人們的需求。這就要求設(shè)計者們有更高的專業(yè)和技術(shù)水平,能夠提出更多好的建議和新的課

6、題,將人們的需要變成現(xiàn)實,設(shè)計出更節(jié)能、功能更全面、更人性化的全自動洗衣機。目前的洗衣機都沒有實現(xiàn)全方面的兼容,打多洗衣的廠家都注重格子品牌的洗衣機的特長,突出一兩個與別的洗衣機不同的個性化的功能,洗衣機的各項功能是由單片機控制實現(xiàn)的,單片機的體積小,控制功能靈活,因此,設(shè)計出給予單片機控制系統(tǒng)就具有很強的實用性。而本次設(shè)計的洗衣機控制器也是為了滿足某些用戶的不同需要。同時也將單片機控制技術(shù)用到了實際生活中,最重要的是將所學(xué)的東西運用化。1.3 國內(nèi)外發(fā)展現(xiàn)狀當(dāng)今世界是技術(shù)、知識打爆炸的年代,只要人們有需要,就有可能生產(chǎn)出某種產(chǎn)品來滿足人們的需要。洗衣機的發(fā)展正是這樣,人們在生活中發(fā)現(xiàn)了它的某

7、些不便,就會在實際中不斷地改進和完善它,新型的洗衣機正是在這種情況下誕生的。1.3.1 國外情況1、超聲波洗衣機超聲振動產(chǎn)生空穴現(xiàn)象,在洗滌中通過邊生產(chǎn)氣泡邊消失的運動,產(chǎn)生強水壓,再加入小量洗衣劑,振動纖維,超聲乳化去污,水中氣泡上升,產(chǎn)生了洗滌桶中央向外側(cè)翻動的水流,便衣服之間相互摩擦,并與洗滌劑充分接觸產(chǎn)生很有效的洗滌作用。這種洗衣機洗滌桶小,桶內(nèi)無運動部件,無機械電氣故障,修理方便。詞典均勻性好,不纏繞,不傷布料,洗滌效果好,省水,省電。2、電磁洗衣機這種洗衣機洗滌桶內(nèi)有4個洗滌頭,上面各有個夾子,把衣物伸展夾住,每個洗滌頭上有個電磁線圈,接通電源發(fā)生2500次/秒的微擊振動,使衣物在

8、洗滌液中洗滌。因不用電機驅(qū)動,無噪聲,省水50%省電75%3、高溫泡沫洗衣機日本大阪大研制的一種不用高溫泡沫來洗滌衣物的洗機。洗滌劑灌于洗衣機低部,放衣物后撥動開關(guān),開始鼓風(fēng),將空氣送入罐中產(chǎn)生泡沫,由加熱到701馬君:基于單片機的全自動洗衣機控制系統(tǒng)設(shè)計攝氏度高溫泡沫洗凈衣物,然后進入洗衣桶旁邊的消泡裝置,一般洗5-10分鐘/5次,21L/1kg干衣。4、真空洗衣機原蘇聯(lián)研制的一種不用洗衣粉或洗滌劑的洗衣機,真空泵將洗衣桶內(nèi)吸成真空狀態(tài),桶中水運動產(chǎn)生氣泡爆破并去污。洗凈度高,不損衣、無噪聲、造價高。實際上是采用冷沸騰洗滌原理,在幾秒鐘內(nèi)從洗滌桶的上部那空氣抽出。稀薄空氣與水如沸騰狀,衣物在

9、泡沫漩渦中攪動,1.5-2分鐘就能洗凈衣物,一般洗衣服7-10分鐘即可完成全過程。5、噴射式洗衣機意大利扎努西公司研制一種將洗滌劑不斷噴射向衣物的洗衣機,似乎無水,可以省水20%省洗滌劑30%省能35%省時間10%這種洗衣機完全不同于前裝式滾筒洗衣機,安裝在噴淋系統(tǒng)內(nèi)的噴射裝置持續(xù)不斷地將水和洗滌劑噴淋在衣物上進行洗滌,并在不銹鋼桶內(nèi)攪動衣物。衣物在液體中不停地攪動,就像桶內(nèi)根本沒有水一樣。然而水卻滲透過衣物流入位于滾筒底部的一個儲水槽中。在槽中,水被從新加熱再次循環(huán)噴射到衣物上去,洗滌桶做周期性脫水,以排去水和污物,隨后漂洗3次,最后脫水洗完。1.3.2 國內(nèi)現(xiàn)狀由于我國洗衣機廠起步晚,加上

10、技術(shù)方面的一些問題,不可避免的在現(xiàn)有的機型中出現(xiàn)一些弊病。主要弊病有:噪聲大,漏電和漏水,進水不暢或進水不止或排水不暢,工作周期不平穩(wěn)、振動大,損傷洗滌物,洗滌效果不佳,脫水插自動性不佳,脫水不良,重量大,容量不合理。具體來說,洗衣機的問題存在于結(jié)構(gòu)、質(zhì)量、原材料和模具及管理方面。1、結(jié)構(gòu)類型。方面我國洗衣機多屬波輪式。今后波輪式任然是主要形式。為了適應(yīng)國外市場的不同需求,要適當(dāng)?shù)厣a(chǎn)些新型式的滾筒式和攪拌洗衣機,進而生產(chǎn)具有波輪式、攪拌式兩種洗衣機優(yōu)點的新機型。為了使波輪式洗衣機洗滌更合理,應(yīng)努力將全自動洗衣機提高到電腦型的水平。雙桶洗衣機再提高漂洗的條件下,以重點生產(chǎn)全自動型噴淋式洗衣機為

11、宜。同時要注意避免新水流洗衣機一味地提高波輪式的轉(zhuǎn)數(shù)及其轉(zhuǎn)動時間或增高波輪筋高的傾向,以免損傷衣率和纏繞率回升增高,降低了新水流洗衣機的優(yōu)越性。2、質(zhì)量方面。我國洗衣機的質(zhì)量問題,具體反映再功能、外觀和可靠性三方面,與國外存在較大的差距。把國內(nèi)外洗衣機放在一起,從功能、電源插頭、面板裝飾、旋鈕結(jié)合,塑料件的光整度(光潔、毛刺和變形),外箱和螺絲釘?shù)某尚渭胺冷P,皮帶的耐磨及噪音進排水閥和水位開關(guān)閥質(zhì)量,電腦控制各種功能的能力,電腦的康電壓波動、抗干擾防靜電的能力,以及傳感器的靈敏度等方面,很容易看出那幾臺是國產(chǎn)貨,再加上裝配工藝較落后,致使我國洗衣機的質(zhì)量穩(wěn)定性差,出口有一定的困難。目前我國洗衣

12、機無故障運行水平為250-500小時,而國外同類產(chǎn)品達1500-2000小時,即十年不需修理。我國的洗衣機出口,切不可立足于搞好售后服務(wù),否則將來帶來很多麻煩。因此提高洗衣機的質(zhì)量要從提高零部件的質(zhì)量入手。關(guān)鍵電器件和傳動件應(yīng)組織專業(yè)分工,制定標(biāo)準(zhǔn),組織攻關(guān),進行認(rèn)證,在改進功能方面、外觀質(zhì)量和可靠性三方面,進行全面整理,提高水平。3、原材料和模具方面。洗衣機的原材料主要是塑料盒薄鋼板,目前均供不應(yīng)求,需進口。一旦進口受阻,生產(chǎn)便要停滯下來。質(zhì)量好的原材料生產(chǎn)的塑料件注塑工藝和塑料模具的質(zhì)量問題。另外,塑料的各種規(guī)格來源也不足,靠進口,成本就降不下來,以每臺洗衣機10公斤臺粗計,年產(chǎn)1000萬

13、臺每年需薄鋼板6萬噸,目前50燦供應(yīng)不上。我國洗衣機要維持生產(chǎn),大型模具的設(shè)計、制造和使用壽命,應(yīng)組織攻關(guān)解決。4、管理方面。各洗衣機廠從國外引進的設(shè)備和技術(shù)的消化吸收還沒有落在實處,有的廠家只是計劃一下,軟件技術(shù)既沒有消化,也沒有吸收,照老辦法生產(chǎn),甚至買來就一直鎖在柜子里?,F(xiàn)在出口洗衣機和前幾年引進類似,盲目自我競爭,各自為政,因此在出口管理方面,應(yīng)協(xié)調(diào)一致,出口業(yè)務(wù)進行,統(tǒng)一對外。2設(shè)計方案2.1方案說明方案一、基于51單片機的全自動洗衣機控制系統(tǒng)設(shè)計控制系統(tǒng)的主要組成器件是AT89S52單片機、指示燈、電機、按鍵、繼電器,主要組成電路有單片機最小系統(tǒng)、進排水電路、電機控制電路、按鍵電路

14、、指示電路。通過按鍵輸入來確定洗衣機工作的模式狀態(tài)即自動模式或者手動模式。設(shè)計總原理圖如圖2-1。圖2-1設(shè)計總原理圖方案二、基于DSP的變頻洗衣機控制系統(tǒng)設(shè)計本洗衣機系統(tǒng)主要實現(xiàn)的功能包括:進水、洗滌、排水、脫水、四個過程根據(jù)變頻洗衣機的原理和負載特性。本課題的洗衣機工作模式可分為自動和手動兩種洗衣模式。自動方式由洗衣機自動檢測、預(yù)備各項參數(shù)進行洗衣,手動方式需要用戶設(shè)置各部分的工作參數(shù),包括洗滌設(shè)置、排水設(shè)置、脫水設(shè)置、電機轉(zhuǎn)速等。接下來,進水閥打開通過水位傳感器判斷水量是否達到要求。開始浸泡,最后根據(jù)用戶手動設(shè)置的參數(shù)進行浸泡(自動式默認(rèn)時間為零),然后獲取檢測或設(shè)置的工作參數(shù)完成洗衣程

15、序中的洗滌,排水和脫水等操作。方案三、PLC控制的全自動洗衣機課程設(shè)計洗衣機的工作原理:洗衣機的進水、排水分別由進水電磁閥和排水電磁閥執(zhí)行。洗滌正轉(zhuǎn)、反轉(zhuǎn)由洗滌電動機驅(qū)動波盤正、反轉(zhuǎn)來實現(xiàn)。脫水時,由脫水電磁離合器合上、排水電磁閥吸合,洗滌電動機正轉(zhuǎn)進行甩干。洗滌完成由蜂鳴器報警。2.2萬案論證方案一利用單片機實現(xiàn),大部分的功能可以用單片機來實現(xiàn),這樣可以使整個電路比較簡單,而且成本也比較低,(使用單片機的外圍電路比較簡單),而且在時間計數(shù)計算上精度大,擴展功能很方便。但如果系統(tǒng)設(shè)計的不好,則系統(tǒng)不是很穩(wěn)定,這樣就為系統(tǒng)設(shè)計提出了挑戰(zhàn)。方案二設(shè)計可行性很高,而且電路簡單,可以用軟件仿真,但實現(xiàn)

16、困難,要經(jīng)過變頻、計算等方式來實現(xiàn),實現(xiàn)起來對設(shè)計者的要求很高。軟件要求高。方案三PLC由于采用現(xiàn)代大規(guī)模集成電路技術(shù),采用嚴(yán)格的生產(chǎn)工藝制造,內(nèi)部電路采取了先進的抗干擾技術(shù),具有很高的可靠性。但PLC設(shè)計要設(shè)計出梯形圖,設(shè)計圖沒有一同固定的方法和步驟,具有很大的試探性和隨意行,比較難掌控,分析起來復(fù)雜且困難,并且很容易遺漏一些應(yīng)該考慮的問題。綜合上述幾種方案,出于對笨設(shè)計的安全性和實現(xiàn)簡單、方便,且51單片機中的典型,有高速率、高性能、低功耗的有點,且結(jié)構(gòu)先進、功能強大。因此我選擇了第一方案,基于51單片機的全自動洗衣機控制系統(tǒng)設(shè)計。3硬件設(shè)計3.1硬件電路1 .電源電路單片機正常工作的工作

17、電壓是5V,如圖3-1所示為一個5V電壓的穩(wěn)定指示USB®口電路,由于采用的是仿真的方式所以這里采用的是已經(jīng)經(jīng)過降壓處理后再穩(wěn)壓的接口電路。VCCR3J610kC752207-0419riC8D9LEGND圖3-1電源電路2 .復(fù)位電路復(fù)位是單片機的初始化操作,只需給AT89S52的復(fù)位引腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就可使AT89S52®位。除了進入系統(tǒng)的正常初始化之外,當(dāng)程序運行出錯(如程序“跑飛”)或操作錯誤使系統(tǒng)處于“死鎖”狀態(tài)時,也需按復(fù)位鍵即RSTW為高電平,使AT89S52罷脫“跑飛”或“死鎖”狀態(tài)而重新啟動程序。復(fù)位電路如圖3-

18、2所示。圖3-2復(fù)位電路293031P1.03 .晶振電路AT89S52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2這兩個引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器,如圖3-3所示為晶振電路。C130pFX1C2GND30pF圖3-3晶振電路4 .電機控制電路如圖3-4所示為洗衣機洗滌過程的電機控制電路。通過繼電器RL1來控制電機運行,通過繼電器RL2來控制電機的正反轉(zhuǎn)。并且通過兩個PN國三極管來放大電機運行和電機正反轉(zhuǎn)的控制信號,來實現(xiàn)單片機的弱電控制電機運行的強電,并且繼電器還起到“隔離”的作用W51+RL2T75S5D11-

19、5VR145.6Q22N4126D12DIODEI'-2-9P3R11kQ1RL1T73S5D15-5VD11DIODEI'-圖3-4電機控制電路5 .進排水電路如圖3-5所示為洗衣機進水和排水的控制電路,圖中用繼電器控制電機轉(zhuǎn)動來代替電磁閥。同樣是用兩個PN國三極管來放大來自單片機內(nèi)部的控制信號來實現(xiàn)打開和關(guān)閉電磁閥進水和排水的功能。GNDGND圖3-5進排水電路6 .指示電路出于方便人機交互的考慮,對于洗衣機處于何種工作模式正在執(zhí)行何種工作狀態(tài)給以顯示以便于洗衣者觀察是很有必要的,所以如圖3-6所示就用LED小燈來作為工作狀態(tài)指示燈D8LED-GREENLED-GREENR

20、21510R20510R19510圖3-6指示電路7 .按鍵電路如圖3-7所示,用戶可進行模式選擇,也可進行狀態(tài)選擇。按下P1.0按鈕進入自動洗衣模式依次進行進水,洗滌,排水,脫水四個過程操作。也可按下下面三個手動按鈕分別是洗滌按鈕、排水按鈕、脫水按鈕然后以外部中斷的方式進入單片機的中斷處理程序以提高其實時性和準(zhǔn)確性。GND圖3-7按鍵電路8 .2參數(shù)計算1 .典型電路的參數(shù)確定典型的復(fù)位電路的參數(shù)值其中電容為10uF,電阻值為2K歐姆。典型的晶振電路使用的是值為30pF的微調(diào)電容。2 .其他電路的參數(shù)確定分析繼電器的工作原理可以得到繼電器的啟動電壓是5V,直接用單片機的端口不能輸出,所以需要

21、用三極管來起到放大作用,根據(jù)所選的PNP型三極管的型號:2N4126,其放大倍數(shù)為100-200倍,在探針的幫助下可以很容易的確定三極管基極電阻應(yīng)該選擇1K歐姆,電機回路的串聯(lián)保護電阻的阻值應(yīng)該選擇5,6歐姆。在指示電路中所用到的發(fā)光二極管的額定工作電壓為2.4V,額定工作電流為10mA,所以使用探針可以方便的得到和發(fā)光二極管串聯(lián)的保護電阻的阻值應(yīng)該選擇為510歐姆。3 .3器件選擇根據(jù)典型電路和仿真過程的具體分析以及元器件的標(biāo)稱值可以選擇的元器件是:AT89S52單片機,12MHz晶振,繼電器選擇T73S5D15-5V,發(fā)光二極管選擇LED-GREEN,三輸入與門型號74LS11,PNP型三

22、極管型號為2N4126,輕觸按鍵,電容分為30pF、10uF,電阻按照阻值分:2K、1K、510、5.6,排阻,4-16譯碼器74HC154。4 .4元器件清單表1元器件清單序號兀器件規(guī)格數(shù)量備注1AT89S52單片機40引腳1區(qū)分引腳2晶振12MHz1無極性3輕觸按鍵4引腳4區(qū)分引腳4發(fā)光二極管3毫米綠色8區(qū)分引腳5三極管PNP型4區(qū)分引腳6瓷片電容30pF3無極性7電阻2K1無極性8繼電器5V4引腳4區(qū)分引腳9排阻9引腳4721區(qū)分引腳10瓷片電容10uF2無極性11電阻510和1K通用12無極性12電阻5.63無極性134-16譯碼器74HC1541區(qū)分引腳14電機直流3無極性15自鎖開

23、關(guān)6引腳1區(qū)分引腳4軟件設(shè)計4.1 軟件介紹Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(Vision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)

24、你只能買到該軟件、而你買的仿真機也很可能只支持該軟件)即使不使用C語言而僅用匯編語言編程,具方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。C51Vision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A

25、51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中,使用流程如下:1、 啟動KeilC軟件:雙擊桌面上的圖標(biāo);2、 新建工程:Project-New-uVisionProjec輸入工程名字,不加后綴,保存;3、 選擇單片機型號:左側(cè)選項卡中的“Atmel”一“AT89C5然后點擊“確定”;4、 新建文件:File-New

26、輸入程序內(nèi)容,保存*C;5、 添加文件到工程:左側(cè)ProjectWorkspace-Target1-SourceGroup1一鼠標(biāo)右鍵點擊SourceGroup1一選擇選項卡中AddFilestoGroup,SourceGroup1;6、 編譯:Project-Rebuildalltargetfiles7、 Hex文件的輸出:Project-OptionsforTarget,Target1?fOutput,8、 將“CreatHexFilesl面對話框內(nèi)選擇“M”,點擊“確定”;4.2 程序介紹根據(jù)硬件設(shè)計電路圖的要求相應(yīng)的軟件主程序流程圖如圖4-1所示。當(dāng)檢測到自動按鍵按下之后自動進入洗衣的

27、四個過程進水、洗滌、排水、脫水,當(dāng)檢測到洗滌按鈕,排水按鈕,脫水按鈕被按下后立即進入中斷子程序執(zhí)行相應(yīng)的操作,如圖4-2所示。圖4-1主程序流程圖圖4-2中斷處理流程圖洗衣機控制系統(tǒng)程序如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#definetrue1#definefalse0sbitauto_led=P0A4;sbitwash_led=P0A5;sbitdrain_led=P0A6;sbitdewater_led=P0A7;sbitauto_key=P1A0;sbitwash_key=P1A

28、1;/自動按鍵指示燈/洗滌手動指示燈/排水手動指示燈/脫水手動指示燈/自動按鍵/洗滌手動按鍵/排水手動按鍵sbitdrain_key=P1A2;sbitdewater_key=P1A3;sbitinflow_relay=P2AQ;sbitdewater_relay=P2A1;sbitwash_relay=P2A2;sbitdrain_relay=P2A3;sbithigh_water=P2A4;sbitlow_water=P2A5;voiddelay(uintxms);voidauto_function();voidinflow_function(bitinflow);voidwash_fun

29、ction(bitwash);voiddrain_function(bitdrain);/脫水手動按鍵/進水電磁閥/脫水繼電器/洗滌繼電器/排水電磁閥/高水位/低水位/延時子函數(shù)聲明/自動子函數(shù)聲明/進水子函數(shù)聲明/洗滌子函數(shù)聲明/排水子函數(shù)聲明voiddewater_function(bitdewater);脫水子函數(shù)聲明bitinflow,wash,drain,dewater,autok;進水,洗滌,排水,脫水,自動全局變量bitwash_key_value,drain_key_value,dewater_key_value;洗滌鍵值,排水鍵值,脫水鍵值全局變量uchari,key;/洗衣

30、四個過程循環(huán)次數(shù)以及洗滌,排水,脫水手動按鍵識別全局變量voidmain()(EA=1;/初始化EXQ=1;ITQ=1;inflow=false;wash=false;drain=false;dewater=false;autok=false;wash_key_value=1;drain_key_value=1;dewater_key_value=1;while(1)if(autok)/如果自動按鍵被按下,自動變量置trueautok=false;自動變量軟件復(fù)位for(i=Q;i<3;i+)洗衣過程for循環(huán)inflow_function(inflow);wash_function(w

31、ash);if(key=1)wash=false;drain=false;break;drain_function(drain);if(key=2)drain=false;dewater=false;break;dewater_function(dewater);if(key=3)dewater=false;break;/洗滌手動按鍵執(zhí)行一次退出/排水手動按鍵執(zhí)行一次退出/脫水手動按鍵執(zhí)行一次退出/洗衣循環(huán)結(jié)束后軟件復(fù)位/判斷自動按鍵是否被按下inflow=false;P0=0XFF;key=0;elseauto_function();/*名稱:檢測自動按鍵子函數(shù)功能:檢測自動按鍵是否按下,若

32、按下則相應(yīng)指示燈點亮,自動標(biāo)志位,進水標(biāo)志位置true*/voidauto_function()uchartemp;auto_key=1;temp=auto_key;if(temp=0)delay(10);temp=auto_key;if(temp=0)(auto_led=0;autok=true;inflow=true;)while(temp=0)(temp=auto_key;)/按鍵去抖/點亮自動按鍵指示燈自動按鍵變量置true/進水變量置true/松手檢測/*名稱:進水子函數(shù)功能:點亮相應(yīng)指示燈,將洗滌標(biāo)志位置true,進水標(biāo)志位置false啟動進水電磁閥直至到達高水位關(guān)閉電磁閥。*/v

33、oidinflow_function(bitinflow)bithigh_water_value;if(inflow)P0=0Xe1;inflow_relay=0;high_water=1;high_water_value=high_water;while(high_water_value)high_water=1;high_water_value=high_water;)inflow_relay=1;/點亮進水指示燈/打開進水電磁閥/判斷是否達到高水位/達到高水位關(guān)閉進水電磁閥/進水變量軟件復(fù)位inflow=false;wash=true;)/洗滌變量置true)/*名稱:洗滌子函數(shù)功能:點

34、亮相應(yīng)指示燈,將排水標(biāo)志位置true洗滌標(biāo)志位置false啟動電機正反轉(zhuǎn)開始洗滌voidwash_function(bitwash)ucharm;if(wash)wash=false;P0=0xe2;if(key=1)關(guān)閉自動模式指示燈auto_led=1;wash_led=0;)dewater_relay=0;for(m=0;m<5;m+)delay(3000);wash_relay=0;delay(3000);wash_relay=1;)dewater_relay=1;drain=true;)/洗滌變量軟件復(fù)位/洗滌指示燈點亮/若是手動模式則點亮手動洗滌指示燈/打開洗滌開關(guān)1/正反轉(zhuǎn)

35、5次/洗滌正轉(zhuǎn)/洗滌反轉(zhuǎn)/關(guān)閉洗滌開關(guān)1/排水變量置true*/)/*名稱:排水子函數(shù)功能:相應(yīng)指示燈點亮脫水標(biāo)志位置true,排水標(biāo)志位置false,打開排水電磁閥。*Ivoiddrain_function(bitdrain)bitlow_water_value;if(drain)drain=false;P0=0xe3;if(key=2)自動指示燈auto_led=1;drain_led=0;drain_relay=0;low_water=1;low_water_value=low_water;while(low_water_value)low_water=1;low_water_value

36、=low_water;drain_relay=1;dewater=true;/排水變量軟件復(fù)位/點亮排水指示燈/若為手動模式則點亮手動指示燈關(guān)閉/打開排水電磁閥/判斷是否到達低水位/到達低水位后關(guān)閉排水電磁閥/脫水變量置true/*名稱:脫水子函數(shù)功能:相應(yīng)指示燈點亮進水標(biāo)志位置true,脫水標(biāo)志位置false,電機高速正轉(zhuǎn)直至結(jié)束關(guān)閉電磁閥*Ivoiddewater_function(bitdewater)/脫水變量軟件復(fù)位/脫水指示燈點亮/若為手動模式,則點亮手動指示燈關(guān)閉自if(dewater)dewater=false;P0=0xe4;if(key=3)動指示燈auto_led=1;d

37、ewater_led=0;)drain_relay=0;dewater_relay=0;delay(30000);dewater_relay=1;drain_relay=1;inflow=true;/打開排水電磁閥/打開脫水開關(guān)/關(guān)閉脫水開關(guān)關(guān)閉排水電磁閥/進水變量置true)/*延時子函數(shù)*Ivoiddelay(uintxms)延遲xmslongintk,j;for(k=xms;k>0;k-)for(j=112;j>0;j-);)/*名稱;手動模式中斷服務(wù)子函數(shù)功能:洗滌,排水,脫水三個過程的手動模式識別*/voidint0()interrupt0EX0=0;暫時關(guān)閉中斷,消除抖

38、動delay(10);/判斷是否是誤操作wash_key=1;wash_key_value=wash_key;drain_key=1;drain_key_value=drain_key;dewater_key=1;dewater_key_value=dewater_key;if(wash_key_value=0)/若是洗滌鍵按下,key值為1key=1;elseif(drain_key_value=0)key=2;/若是排水鍵按下,key值為2elseif(dewater_key_value=0)key=3;/若是脫水鍵按下,key值為3elsekey=0;/若是誤操作,key值為0switc

39、h(key)case0:break;case 1:autok=true;wash=true;break;case 2:autok=true;drain=true;break;case 3:autok=true;dewater=true;break;while(wash_key_value=0|drain_key_value=0|dewater_key_value=0)wash_key=1;/松手檢測wash_key_value=wash_key;drain_key=1;drain_key_value=drain_key;dewater_key=1;dewater_key_value=dewat

40、er_key;delay(10);/松手去抖EX0=1;重新打開中斷開關(guān)5系統(tǒng)仿真5.1 系統(tǒng)仿真在單片機最小系統(tǒng)以及外圍控制電路都設(shè)計完成之后,通過網(wǎng)絡(luò)標(biāo)號來將各個電路模塊通過單片機連接到一起就完成了整個洗衣機控制系統(tǒng)的硬件電路設(shè)計如圖5-1所示。圖5-1洗衣機控制系統(tǒng)總電路5.2 問題及解決在洗衣機控制系統(tǒng)的設(shè)計過程中我遇到的問題主要來自于兩個方面,一方面來自硬件的設(shè)計,硬件參數(shù)的確定等另一方面來自軟件,主要是對于各個子函數(shù)連接成主函數(shù)的過程中所產(chǎn)生的沖突和問題。硬件方面,其一是進水和排水電磁閥無法仿真的問題,所以就用了繼電器和電機進行替代,以及洗滌過程電機正反轉(zhuǎn)時電機的選用問題,到底是用交流電機還是直流電機,當(dāng)然實際情況下使用的主要是交流電機,但是仿真時無法找到交流電機,并且出于簡化考慮所以采用了直流電機,用程序軟件的方法來實現(xiàn)電機的正反轉(zhuǎn);其二,是硬件參數(shù)的確定,由于設(shè)計的是一個應(yīng)用系統(tǒng),所以必須具備一定的實用性才可以,所以我在仿真的過程中使用了探針來更好的確定元器件的參數(shù)。軟件方面,其一是洗衣機進水、洗滌、排水、脫水四個過程和自動,手動兩種模式的切換和選擇這些子函數(shù)的設(shè)計問題,其二是

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論