




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、東北石油大學(xué)課 程 設(shè) 計課 程 單片機(jī)課程設(shè)計 題 目 洗衣機(jī)控制系統(tǒng)設(shè)計 院 系 電氣信息工程學(xué)院 專業(yè)班級 測控14-1班 學(xué)生姓名 孔錫達(dá) 學(xué)生學(xué)號 指導(dǎo)教師 路敬祎(副教授)趙志華(副教授) 2017年7 月 28日任務(wù)書課程 單片機(jī)課程設(shè)計題目 洗衣機(jī)控制系統(tǒng)設(shè)計專業(yè) 測控14-1班 姓名 孔錫達(dá) 學(xué)號 主要內(nèi)容:本課題針對洗衣機(jī)控制系統(tǒng)的發(fā)展現(xiàn)狀以及當(dāng)今社會發(fā)展對于產(chǎn)品智能化的要求,設(shè)計一種基于單片機(jī)微處理器的控制系統(tǒng)。要求具有較高的可靠性和實用性,實現(xiàn)智能化控制。本文以單片機(jī)為控制器核心設(shè)計控制系統(tǒng),使洗衣機(jī)可處于自動模式依次進(jìn)行進(jìn)水、洗滌、排水、脫水四個過程;也可處于手動模式
2、通過按鍵進(jìn)行洗滌、排水、脫水三個過程的選擇,并且處于何種模式,何種過程能夠通過指示燈顯示。基本要求:1、分析洗衣機(jī)控制系統(tǒng)設(shè)計各種方案的優(yōu)缺點,說明本設(shè)計方案選用原則;2、闡述本設(shè)計方案的基本工作原理、分析并注明元器件選取參數(shù);3、繪制并分析洗衣機(jī)控制系統(tǒng)硬件設(shè)計原理圖及電路圖; 4、設(shè)計完整的程序框圖和程序清單;參考文獻(xiàn):1余永權(quán).單片機(jī)在控制系統(tǒng)中的應(yīng)用M.北京電子工業(yè)出版社,2003:23-78.2馮先成.單片機(jī)應(yīng)用系統(tǒng)設(shè)計M.北京航空航天大學(xué)出版社,2009:56-98.3元增民.模擬電子技術(shù)M.北京:中國電力出版社,2009:35-97.4萬光毅,嚴(yán)義,邢春香.單片機(jī)實驗與實踐教程M
3、.北京:北京航空航天大學(xué),2006:23-110.完成期限 2017.7.172017.7.28 指導(dǎo)教師 專業(yè)負(fù)責(zé)人 2017年 7 月 16日摘要隨著經(jīng)濟(jì)社會的快速發(fā)展,智能化,自動化以成為當(dāng)代社會的主旋律。因此,設(shè)計了基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)。本系統(tǒng)實現(xiàn)了對洗衣機(jī)整個過程的控制,包括進(jìn)水、洗滌、排水、脫水四個階段.控制系統(tǒng)主要由電源電路,單片機(jī)控制系統(tǒng)和外部硬件三大模塊組成。通過單片機(jī)的控制,外部硬件隨著用戶參數(shù)的輸入,洗衣機(jī)按照用戶的選擇要求進(jìn)行運(yùn)作。本設(shè)計實現(xiàn)了自動和手動模式自選,能夠滿足現(xiàn)代家庭的基本洗滌要求,具有一定的實用性、可靠性,能夠?qū)崿F(xiàn)自動化、智能化。 &
4、#160; 關(guān)鍵詞:手動模式;自動模式;洗衣機(jī);單片機(jī);控制系統(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參考文獻(xiàn)221設(shè)計要求1.1功能與用途設(shè)計一個基于單片機(jī)的洗衣機(jī)控制系統(tǒng),洗衣機(jī)的工作流程由進(jìn)水、洗衣、排水和脫水四個過程組成,并且能達(dá)到“自動模式”和“手動模式”兩種控制模式要求:(1)按下啟動按鈕,開始進(jìn)水直到
5、水滿(即水位達(dá)到高水位)時停止進(jìn)水開始洗滌。(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課題研究的意義目前中國洗衣機(jī)市場正進(jìn)入更新?lián)Q代期,市場潛力巨大,人們對于洗衣機(jī)的要求也越來越高,目前的洗衣機(jī)主要有強(qiáng)弱洗滌功能、進(jìn)排水系統(tǒng)故障自動診斷功能、暫停等幾大功能,在許多方面還不能達(dá)到人們的需求。這就要求設(shè)計者們有更高的專業(yè)和技術(shù)水平
6、,能夠提出更多好的建議和新的課題,將人們的需要變成現(xiàn)實,設(shè)計出更節(jié)能、功能更全面、更人性化的全自動洗衣機(jī)。目前的洗衣機(jī)都沒有實現(xiàn)全方面的兼容,打多洗衣的廠家都注重格子品牌的洗衣機(jī)的特長,突出一兩個與別的洗衣機(jī)不同的個性化的功能,洗衣機(jī)的各項功能是由單片機(jī)控制實現(xiàn)的,單片機(jī)的體積小,控制功能靈活,因此,設(shè)計出給予單片機(jī)控制系統(tǒng)就具有很強(qiáng)的實用性。而本次設(shè)計的洗衣機(jī)控制器也是為了滿足某些用戶的不同需要。同時也將單片機(jī)控制技術(shù)用到了實際生活中,最重要的是將所學(xué)的東西運(yùn)用化。 1.3國內(nèi)外發(fā)展現(xiàn)狀 當(dāng)今世界是技術(shù)、知識打爆炸的年代,只要人們有需要,就有可能生產(chǎn)出某種產(chǎn)品來滿足人們的需要。洗
7、衣機(jī)的發(fā)展正是這樣,人們在生活中發(fā)現(xiàn)了它的某些不便,就會在實際中不斷地改進(jìn)和完善它,新型的洗衣機(jī)正是在這種情況下誕生的。 1.3.1國外情況1、 超聲波洗衣機(jī)超聲振動產(chǎn)生空穴現(xiàn)象,在洗滌中通過邊生產(chǎn)氣泡邊消失的運(yùn)動,產(chǎn)生強(qiáng)水壓,再加入小量洗衣劑,振動纖維,超聲乳化去污,水中氣泡上升,產(chǎn)生了洗滌桶中央向外側(cè)翻動的水流,便衣服之間相互摩擦,并與洗滌劑充分接觸產(chǎn)生很有效的洗滌作用。這種洗衣機(jī)洗滌桶小,桶內(nèi)無運(yùn)動部件,無機(jī)械電氣故障,修理方便。詞典均勻性好,不纏繞,不傷布料,洗滌效果好,省水,省電。2、電磁洗衣機(jī)這種洗衣機(jī)洗滌桶內(nèi)有4個洗滌頭,上面各有個夾子,把衣物伸展夾住,每個洗滌頭上有個電磁線圈,
8、接通電源發(fā)生2500次/秒的微擊振動,使衣物在洗滌液中洗滌。因不用電機(jī)驅(qū)動,無噪聲,省水50%,省電75%。 3、高溫泡沫洗衣機(jī)日本大阪大研制的一種不用高溫泡沫來洗滌衣物的洗機(jī)。洗滌劑灌于洗衣機(jī)低部,放衣物后撥動開關(guān),開始鼓風(fēng),將空氣送入罐中產(chǎn)生泡沫,由加熱到701馬君:基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計攝氏度高溫泡沫洗凈衣物,然后進(jìn)入洗衣桶旁邊的消泡裝置,一般洗5-10分鐘/5次,21L/1kg干衣。 4、真空洗衣機(jī)原蘇聯(lián)研制的一種不用洗衣粉或洗滌劑的洗衣機(jī),真空泵將洗衣桶內(nèi)吸成真空狀態(tài),桶中水運(yùn)動產(chǎn)生氣泡爆破并去污。洗凈度高,不損衣、無噪聲、造價高。實際上是采用冷沸騰洗滌原理,在幾秒鐘內(nèi)
9、從洗滌桶的上部那空氣抽出。稀薄空氣與水如沸騰狀,衣物在泡沫漩渦中攪動,1.5-2分鐘就能洗凈衣物,一般洗衣服7-10分鐘即可完成全過程。5、噴射式洗衣機(jī)意大利扎努西公司研制一種將洗滌劑不斷噴射向衣物的洗衣機(jī),似乎無水,可以省水20%,省洗滌劑30%,省能35%,省時間10%。這種洗衣機(jī)完全不同于前裝式滾筒洗衣機(jī),安裝在噴淋系統(tǒng)內(nèi)的噴射裝置持續(xù)不斷地將水和洗滌劑噴淋在衣物上進(jìn)行洗滌,并在不銹鋼桶內(nèi)攪動衣物。衣物在液體中不停地攪動,就像桶內(nèi)根本沒有水一樣。然而水卻滲透過衣物流入位于滾筒底部的一個儲水槽中。在槽中,水被從新加熱再次循環(huán)噴射到衣物上去,洗滌桶做周期性脫水,以排去水和污物,隨后漂洗3次,
10、最后脫水洗完。1.3.2國內(nèi)現(xiàn)狀 由于我國洗衣機(jī)廠起步晚,加上技術(shù)方面的一些問題,不可避免的在現(xiàn)有的機(jī)型中出現(xiàn)一些弊病。主要弊病有:噪聲大,漏電和漏水,進(jìn)水不暢或進(jìn)水不止或排水不暢,工作周期不平穩(wěn)、振動大,損傷洗滌物,洗滌效果不佳,脫水插自動性不佳,脫水不良,重量大,容量不合理。具體來說,洗衣機(jī)的問題存在于結(jié)構(gòu)、質(zhì)量、原材料和模具及管理方面。 1、 結(jié)構(gòu)類型。方面我國洗衣機(jī)多屬波輪式。今后波輪式任然是主要形式。為了適應(yīng)國外市場的不同需求,要適當(dāng)?shù)厣a(chǎn)些新型式的滾筒式和攪拌洗衣機(jī),進(jìn)而生產(chǎn)具有波輪式、攪拌式兩種洗衣機(jī)優(yōu)點的新機(jī)型。為了使波輪式洗衣機(jī)洗滌更合理,應(yīng)努力將全自動洗衣機(jī)提高到電腦型的水
11、平。雙桶洗衣機(jī)再提高漂洗的條件下,以重點生產(chǎn)全自動型噴淋式洗衣機(jī)為宜。同時要注意避免新水流洗衣機(jī)一味地提高波輪式的轉(zhuǎn)數(shù)及其轉(zhuǎn)動時間或增高波輪筋高的傾向,以免損傷衣率和纏繞率回升增高,降低了新水流洗衣機(jī)的優(yōu)越性。 2、 質(zhì)量方面。我國洗衣機(jī)的質(zhì)量問題,具體反映再功能、外觀和可靠性三方面,與國外存在較大的差距。把國內(nèi)外洗衣機(jī)放在一起,從功能、電源插頭、面板裝飾、旋鈕結(jié)合,塑料件的光整度(光潔、毛刺和變形),外箱和螺絲釘?shù)某尚渭胺冷P,皮帶的耐磨及噪音進(jìn)排水閥和水位開關(guān)閥質(zhì)量,電腦控制各種功能的能力,電腦的康電壓波動、抗干擾防靜電的能力,以及傳感器的靈敏度等方面,很容易看出那幾臺是國產(chǎn)貨,再加上裝配工
12、藝較落后,致使我國洗衣機(jī)的質(zhì)量穩(wěn)定性差,出口有一定的困難。目前我國洗衣機(jī)無故障運(yùn)行水平為250-500小時,而國外同類產(chǎn)品達(dá)1500-2000小時,即十年不需修理。我國的洗衣機(jī)出口,切不可立足于搞好售后服務(wù),否則將來帶來很多麻煩。因此提高洗衣機(jī)的質(zhì)量要從提高零部件的質(zhì)量入手。關(guān)鍵電器件和傳動件應(yīng)組織專業(yè)分工,制定標(biāo)準(zhǔn),組織攻關(guān),進(jìn)行認(rèn)證,在改進(jìn)功能方面、外觀質(zhì)量和可靠性三方面,進(jìn)行全面整理,提高水平。 3、 原材料和模具方面。洗衣機(jī)的原材料主要是塑料盒薄鋼板,目前均供不應(yīng)求,需進(jìn)口。一旦進(jìn)口受阻,生產(chǎn)便要停滯下來。質(zhì)量好的原材料生產(chǎn)的塑料件注塑工藝和塑料模具的質(zhì)量問題。另外,塑料的各種規(guī)格來源
13、也不足,靠進(jìn)口,成本就降不下來,以每臺洗衣機(jī)10公斤臺粗計,年產(chǎn)1000萬臺每年需薄鋼板6萬噸,目前50%還供應(yīng)不上。我國洗衣機(jī)要維持生產(chǎn),大型模具的設(shè)計、制造和使用壽命,應(yīng)組織攻關(guān)解決。 4、 管理方面。各洗衣機(jī)廠從國外引進(jìn)的設(shè)備和技術(shù)的消化吸收還沒有落在實處,有的廠家只是計劃一下,軟件技術(shù)既沒有消化,也沒有吸收,照老辦法生產(chǎn),甚至買來就一直鎖在柜子里?,F(xiàn)在出口洗衣機(jī)和前幾年引進(jìn)類似,盲目自我競爭,各自為政,因此在出口管理方面,應(yīng)協(xié)調(diào)一致,出口業(yè)務(wù)進(jìn)行,統(tǒng)一對外。 2設(shè)計方案2.1方案說明方案一、基于51單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計控制系統(tǒng)的主要組成器件是AT89S52單片機(jī)、指示燈、電
14、機(jī)、按鍵、繼電器,主要組成電路有單片機(jī)最小系統(tǒng)、進(jìn)排水電路、電機(jī)控制電路、按鍵電路、指示電路。通過按鍵輸入來確定洗衣機(jī)工作的模式狀態(tài)即自動模式或者手動模式。設(shè)計總原理圖如圖2-1。電機(jī)控制電路單片機(jī)主控系統(tǒng)晶振電路進(jìn)排水電路電源電路指示電路復(fù)位電路按鍵電路圖2-1設(shè)計總原理圖方案二、基于DSP的變頻洗衣機(jī)控制系統(tǒng)設(shè)計 本洗衣機(jī)系統(tǒng)主要實現(xiàn)的功能包括:進(jìn)水、洗滌、排水、脫水、四個過程根據(jù)變頻洗衣機(jī)的原理和負(fù)載特性。本課題的洗衣機(jī)工作模式可分為自動和手動兩種洗衣模式。自動方式由洗衣機(jī)自動檢測、預(yù)備各項參數(shù)進(jìn)行洗衣,手動方式需要用戶設(shè)置各部分的工作參數(shù),包括洗滌設(shè)置、排水設(shè)置、脫水設(shè)置、電
15、機(jī)轉(zhuǎn)速等。接下來,進(jìn)水閥打開通過水位傳感器判斷水量是否達(dá)到要求。開始浸泡,最后根據(jù)用戶手動設(shè)置的參數(shù)進(jìn)行浸泡(自動式默認(rèn)時間為零),然后獲取檢測或設(shè)置的工作參數(shù)完成洗衣程序中的洗滌,排水和脫水等操作。方案三、PLC控制的全自動洗衣機(jī)課程設(shè)計洗衣機(jī)的工作原理:洗衣機(jī)的進(jìn)水、排水分別由進(jìn)水電磁閥和排水電磁閥執(zhí)行。洗滌正轉(zhuǎn)、反轉(zhuǎn)由洗滌電動機(jī)驅(qū)動波盤正、反轉(zhuǎn)來實現(xiàn)。脫水時,由脫水電磁離合器合上、排水電磁閥吸合,洗滌電動機(jī)正轉(zhuǎn)進(jìn)行甩干。洗滌完成由蜂鳴器報警。 2.2方案論證方案一 利用單片機(jī)實現(xiàn),大部分的功能可以用單片機(jī)來實現(xiàn),這樣可以使整個電路比較簡單,而且成本也比較低,(使用單片機(jī)的外圍電
16、路比較簡單),而且在時間計數(shù)計算上精度大,擴(kuò)展功能很方便。但如果系統(tǒng)設(shè)計的不好,則系統(tǒng)不是很穩(wěn)定,這樣就為系統(tǒng)設(shè)計提出了挑戰(zhàn)。方案二設(shè)計可行性很高,而且電路簡單,可以用軟件仿真,但實現(xiàn)困難,要經(jīng)過變頻、計算等方式來實現(xiàn),實現(xiàn)起來對設(shè)計者的要求很高。軟件要求高。 方案三PLC由于采用現(xiàn)代大規(guī)模集成電路技術(shù),采用嚴(yán)格的生產(chǎn)工藝制造,內(nèi)部電路采取了先進(jìn)的抗干擾技術(shù),具有很高的可靠性。但PLC設(shè)計要設(shè)計出梯形圖,設(shè)計圖沒有一同固定的方法和步驟,具有很大的試探性和隨意行,比較難掌控,分析起來復(fù)雜且困難,并且很容易遺漏一些應(yīng)該考慮的問題。綜合上述幾種方案,出于對笨設(shè)計的安全性和實現(xiàn)簡單、方便,且
17、51單片機(jī)中的典型,有高速率、高性能、低功耗的有點,且結(jié)構(gòu)先進(jìn)、功能強(qiáng)大。因此我選擇了第一方案,基于51單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計。3硬件設(shè)計3.1硬件電路1. 電源電路單片機(jī)正常工作的工作電壓是5V,如圖3-1所示為一個5V電壓的穩(wěn)定指示USB接口電路,由于采用的是仿真的方式所以這里采用的是已經(jīng)經(jīng)過降壓處理后再穩(wěn)壓的接口電路。圖3-1電源電路2.復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只需給AT89S52的復(fù)位引腳RST加上大于2個機(jī)器周期(即24個時鐘振蕩周期)的高電平就可使AT89S52復(fù)位。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運(yùn)行出錯(如程序“跑飛”)或操作錯誤使系統(tǒng)處于“死鎖”狀態(tài)時
18、,也需按復(fù)位鍵即RST腳為高電平,使AT89S52擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動程序。復(fù)位電路如圖3-2所示。圖3-2復(fù)位電路3. 晶振電路AT89S52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器,如圖3-3所示為晶振電路。圖3-3晶振電路4.電機(jī)控制電路如圖3-4所示為洗衣機(jī)洗滌過程的電機(jī)控制電路。通過繼電器RL1來控制電機(jī)運(yùn)行,通過繼電器RL2來控制電機(jī)的正反轉(zhuǎn)。并且通過兩個PNP型三極管來放大電機(jī)運(yùn)行和電機(jī)正反轉(zhuǎn)的控制信號,來實現(xiàn)單片機(jī)的弱電控制電機(jī)運(yùn)行的強(qiáng)電,并且繼
19、電器還起到“隔離”的作用。圖3-4電機(jī)控制電路5. 進(jìn)排水電路如圖3-5所示為洗衣機(jī)進(jìn)水和排水的控制電路,圖中用繼電器控制電機(jī)轉(zhuǎn)動來代替電磁閥。同樣是用兩個PNP型三極管來放大來自單片機(jī)內(nèi)部的控制信號來實現(xiàn)打開和關(guān)閉電磁閥進(jìn)水和排水的功能。圖3-5進(jìn)排水電路6. 指示電路出于方便人機(jī)交互的考慮,對于洗衣機(jī)處于何種工作模式正在執(zhí)行何種工作狀態(tài)給以顯示以便于洗衣者觀察是很有必要的,所以如圖3-6所示就用LED小燈來作為工作狀態(tài)指示燈。圖3-6指示電路7. 按鍵電路如圖3-7所示,用戶可進(jìn)行模式選擇,也可進(jìn)行狀態(tài)選擇。按下P1.0按鈕進(jìn)入自動洗衣模式依次進(jìn)行進(jìn)水,洗滌,排水,脫水四個過程操作。也可按
20、下下面三個手動按鈕分別是洗滌按鈕、排水按鈕、脫水按鈕然后以外部中斷的方式進(jìn)入單片機(jī)的中斷處理程序以提高其實時性和準(zhǔn)確性。圖3-7按鍵電路3.2參數(shù)計算1. 典型電路的參數(shù)確定典型的復(fù)位電路的參數(shù)值其中電容為10uF,電阻值為2K歐姆。典型的晶振電路使用的是值為30pF的微調(diào)電容。2. 其他電路的參數(shù)確定分析繼電器的工作原理可以得到繼電器的啟動電壓是5V,直接用單片機(jī)的端口不能輸出,所以需要用三極管來起到放大作用,根據(jù)所選的PNP型三極管的型號:2N4126,其放大倍數(shù)為100-200倍,在探針的幫助下可以很容易的確定三極管基極電阻應(yīng)該選擇1K歐姆,電機(jī)回路的串聯(lián)保護(hù)電阻的阻值應(yīng)該選擇5.6歐姆
21、。在指示電路中所用到的發(fā)光二極管的額定工作電壓為2.4V,額定工作電流為10mA,所以使用探針可以方便的得到和發(fā)光二極管串聯(lián)的保護(hù)電阻的阻值應(yīng)該選擇為510歐姆。3.3器件選擇根據(jù)典型電路和仿真過程的具體分析以及元器件的標(biāo)稱值可以選擇的元器件是:AT89S52單片機(jī),12MHz晶振,繼電器選擇T73S5D15-5V,發(fā)光二極管選擇LED-GREEN,三輸入與門型號74LS11,PNP型三極管型號為2N4126,輕觸按鍵,電容分為30pF、10uF,電阻按照阻值分:2K、1K、510、5.6,排阻,4-16譯碼器74HC154。3.4元器件清單表1 元器件清單序號元器件類型元器件規(guī)格數(shù)量備注1A
22、T89S52單片機(jī)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電機(jī)直流3無極性15自鎖開關(guān)6引腳1區(qū)分引腳4軟件設(shè)計4.1軟件介紹Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。 Keil提供了包括C編譯器、宏匯
23、編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(Vision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件)即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。 Keil C51
24、是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 C51工具包的整體結(jié)構(gòu),其中mVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可
25、以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中,使用流程如下:1、 啟動Keil C軟件:雙擊桌面上的圖標(biāo);2、 新建工程:ProjectNew uVision Project.輸入工程名字,不加后綴,保存;3、 選擇單片機(jī)型號:左側(cè)選項卡中的“Atmel” “AT89C52”,然后點擊“確定”;4、 新建文件: File New, 輸入程序內(nèi)容,保存*.C;5、 添加文件到工程:左側(cè)Projec
26、t WorkspaceTarget 1Source Group 1鼠標(biāo)右鍵點擊Source Group 1 選擇選項卡中Add Files to Group Source Group 1;6、 編譯:ProjectRebuild all target files;7、 Hex文件的輸出:ProjectOptions for Target Target 1 Output,8、 將“Creat Hex Files”前面對話框內(nèi)選擇“”,點擊“確定”;4.2程序介紹根據(jù)硬件設(shè)計電路圖的要求相應(yīng)的軟件主程序流程圖如圖4-1所示。當(dāng)檢測到自動按鍵按下之后自動進(jìn)入洗衣的四個過程進(jìn)水、洗滌、排水、脫水,當(dāng)檢
27、測到洗滌按鈕,排水按鈕,脫水按鈕被按下后立即進(jìn)入中斷子程序執(zhí)行相應(yīng)的操作,如圖4-2所示。開始 初始化按鍵掃描N自動鍵是否被按下 Y 洗衣過程 是否3次N Y結(jié)束 圖4-1主程序流程圖中斷入口中斷保護(hù)按鍵掃描賦予鍵值松手檢測中斷返回 圖4-2中斷處理流程圖洗衣機(jī)控制系統(tǒng)程序如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define true 1#define false 0sbit auto_led=P04; /自動按鍵指示燈sbit wash_led=P05; /洗滌手動指示燈sb
28、it drain_led=P06; /排水手動指示燈sbit dewater_led=P07; /脫水手動指示燈sbit auto_key=P10; /自動按鍵sbit wash_key=P11; /洗滌手動按鍵sbit drain_key=P12; /排水手動按鍵sbit dewater_key=P13; /脫水手動按鍵sbit inflow_relay=P20; /進(jìn)水電磁閥sbit dewater_relay=P21; /脫水繼電器sbit wash_relay=P22; /洗滌繼電器sbit drain_relay=P23; /排水電磁閥sbit high_water=P24; /高水
29、位sbit low_water=P25; /低水位void delay(uint xms); /延時子函數(shù)聲明void auto_function(); /自動子函數(shù)聲明void inflow_function(bit inflow); /進(jìn)水子函數(shù)聲明void wash_function(bit wash); /洗滌子函數(shù)聲明void drain_function(bit drain); /排水子函數(shù)聲明void dewater_function(bit dewater); /脫水子函數(shù)聲明bit inflow,wash,drain,dewater,autok; /進(jìn)水,洗滌,排水,脫水,自
30、動全局變量bit wash_key_value,drain_key_value,dewater_key_value;/洗滌鍵值,排水鍵值,脫水鍵值全局變量 uchar i,key; /洗衣四個過程循環(huán)次數(shù)以及洗滌,排水,脫水手動按鍵識別全局變量void main() EA=1; /初始化 EX0=1; IT0=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(auto
31、k)/如果自動按鍵被按下,自動變量置true autok=false;/自動變量軟件復(fù)位 for(i=0;i<3;i+)/洗衣過程for循環(huán) inflow_function(inflow); wash_function(wash); if(key=1)/洗滌手動按鍵執(zhí)行一次退出 wash=false ; drain=false;break; drain_function(drain); if(key=2) /排水手動按鍵執(zhí)行一次退出 drain=false; dewater=false;break; dewater_function(dewater); if(key=3) /脫水手動按鍵
32、執(zhí)行一次退出 dewater=false; break; inflow=false; /洗衣循環(huán)結(jié)束后軟件復(fù)位 P0=0XFF; key=0; else auto_function(); /判斷自動按鍵是否被按下 /* 名稱:檢測自動按鍵子函數(shù) 功能:檢測自動按鍵是否按下,若按下則相應(yīng) 指示燈點亮,自動標(biāo)志位,進(jìn)水標(biāo)志位置true*/void auto_function()uchar temp; auto_key=1; temp=auto_key;if(temp=0) delay(10); /按鍵去抖 temp=auto_key; if(temp=0) auto_led=0; /點亮自動按鍵指
33、示燈 autok=true; /自動按鍵變量置true inflow=true; /進(jìn)水變量置true while(temp=0) /松手檢測 temp=auto_key; /* 名稱:進(jìn)水子函數(shù) 功能:點亮相應(yīng)指示燈,將洗滌標(biāo)志位置true, 進(jìn)水標(biāo)志位置false啟動進(jìn)水電磁閥直至到達(dá) 高水位關(guān)閉電磁閥。*/void inflow_function(bit inflow)bit high_water_value; if(inflow) P0=0Xe1;/點亮進(jìn)水指示燈 inflow_relay=0;/打開進(jìn)水電磁閥 high_water=1;/判斷是否達(dá)到高水位 high_water_va
34、lue=high_water; while(high_water_value) high_water=1; high_water_value=high_water; inflow_relay=1;/達(dá)到高水位關(guān)閉進(jìn)水電磁閥 inflow=false; /進(jìn)水變量軟件復(fù)位 wash=true;/洗滌變量置true /* 名稱:洗滌子函數(shù) 功能:點亮相應(yīng)指示燈,將排水標(biāo)志位置true 洗滌標(biāo)志位置false 啟動電機(jī)正反轉(zhuǎn)開始洗滌*/void wash_function(bit wash)uchar m ; if(wash) wash=false; /洗滌變量軟件復(fù)位 P0=0xe2;/洗滌指示燈
35、點亮 if(key=1)/若是手動模式則點亮手動洗滌指示燈關(guān)閉自動模式指示燈 auto_led=1; wash_led=0; dewater_relay=0;/打開洗滌開關(guān)1 for(m=0;m<5;m+)/正反轉(zhuǎn)5次 delay(3000); wash_relay=0;/洗滌正轉(zhuǎn) delay(3000); wash_relay=1;/洗滌反轉(zhuǎn) dewater_relay=1; /關(guān)閉洗滌開關(guān)1 drain=true; /排水變量置true /* 名稱:排水子函數(shù) 功能:相應(yīng)指示燈點亮脫水標(biāo)志位置true, 排水標(biāo)志位置false,打開排水電磁閥。*/void drain_functio
36、n(bit drain) bit low_water_value; if(drain) drain=false; /排水變量軟件復(fù)位 P0=0xe3;/點亮排水指示燈 if(key=2) /若為手動模式則點亮手動指示燈關(guān)閉自動指示燈 auto_led=1; drain_led=0; drain_relay=0; /打開排水電磁閥 low_water=1;/判斷是否到達(dá)低水位 low_water_value=low_water; while(low_water_value) low_water=1; low_water_value=low_water; drain_relay=1; /到達(dá)低水位
37、后關(guān)閉排水電磁閥 dewater=true; /脫水變量置true /* 名稱:脫水子函數(shù) 功能:相應(yīng)指示燈點亮進(jìn)水標(biāo)志位置true,脫水 標(biāo)志位置false,電機(jī)高速正轉(zhuǎn)直至結(jié)束關(guān)閉電磁閥*/void dewater_function(bit dewater) if(dewater) dewater=false; /脫水變量軟件復(fù)位 P0=0xe4; /脫水指示燈點亮 if(key=3) /若為手動模式,則點亮手動指示燈關(guān)閉自動指示燈 auto_led=1; dewater_led=0; drain_relay=0; /打開排水電磁閥 dewater_relay=0; /打開脫水開關(guān) del
38、ay(30000); dewater_relay=1; /關(guān)閉脫水開關(guān) drain_relay=1; /關(guān)閉排水電磁閥 inflow=true; /進(jìn)水變量置true /* 延時子函數(shù)*/void delay(uint xms)/延遲xms long int k,j;for(k=xms;k>0;k-) for(j=112;j>0;j-);/* 名稱;手動模式中斷服務(wù)子函數(shù) 功能:洗滌,排水,脫水三個過程的手動模式識別*/void int0()interrupt 0 EX0=0; /暫時關(guān)閉中斷,消除抖動 delay(10); /判斷是否是誤操作 wash_key=1; wash_k
39、ey_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值為1 key=1; else if(drain_key_value=0) key=2; /若是排水鍵按下,key值為2 else if(dewater_key_value=0) key=3; /若是脫水鍵按下,key值為3 else key=0; /若是誤操作,key值為0switch(key) case 0: brea
40、k; 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=dewate
41、r_key; delay(10); /松手去抖 EX0=1; /重新打開中斷開關(guān)5系統(tǒng)仿真5.1系統(tǒng)仿真在單片機(jī)最小系統(tǒng)以及外圍控制電路都設(shè)計完成之后,通過網(wǎng)絡(luò)標(biāo)號來將各個電路模塊通過單片機(jī)連接到一起就完成了整個洗衣機(jī)控制系統(tǒng)的硬件電路設(shè)計如圖5-1所示。圖5-1洗衣機(jī)控制系統(tǒng)總電路5.2問題及解決在洗衣機(jī)控制系統(tǒng)的設(shè)計過程中我遇到的問題主要來自于兩個方面,一方面來自硬件的設(shè)計,硬件參數(shù)的確定等另一方面來自軟件,主要是對于各個子函數(shù)連接成主函數(shù)的過程中所產(chǎn)生的沖突和問題。硬件方面,其一是進(jìn)水和排水電磁閥無法仿真的問題,所以就用了繼電器和電機(jī)進(jìn)行替代,以及洗滌過程電機(jī)正反轉(zhuǎn)時電機(jī)的選用問題,到底是用交流電機(jī)還是直流電機(jī),當(dāng)然實際情況下使用的主要是交流電機(jī),但是仿真時無法找到交流電機(jī),并且出于簡化考慮所以采用了直流電機(jī),用程序軟件的方法來實現(xiàn)電機(jī)的正反轉(zhuǎn);其二,是硬件參數(shù)的確定,由于設(shè)計的是一個應(yīng)用系統(tǒng),所以必須具備一定的實用性才可以,所以我在仿真的過程中使用了探針來更好的確定元器件的參數(shù)。軟件方面,其一是洗衣機(jī)進(jìn)水、洗滌、排水、脫水四個
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能藥柜管理系統(tǒng)管理制度
- 苗木采購標(biāo)準(zhǔn)合同:版本
- 人教版小學(xué)二年級上冊數(shù)學(xué) 4.2.6 乘加、乘減 課時練
- 設(shè)備買賣合同樣本:機(jī)器設(shè)備買賣合同書
- 長途客車租賃合同書
- 農(nóng)田灌溉井成井勞務(wù)分包合同
- 2025國內(nèi)買賣合同書參考范本
- 《職位分析與描述》課件
- 《京東物流運(yùn)營分析》課件
- 2025培訓(xùn)中心場地租賃合同協(xié)議書
- 2025至2030年中國軍用仿真(軟件)行業(yè)發(fā)展戰(zhàn)略規(guī)劃及投資方向研究報告
- 第14課 遼宋夏金元時期的科技與文化-2024-2025學(xué)年七年級歷史下冊互動課堂教學(xué)設(shè)計寶典(統(tǒng)編版2024)
- 裝修多人合伙協(xié)議書
- 2025年廣東省深圳市21校初三一模英語試題及答案
- 工商企業(yè)管理畢業(yè)論文19904
- 2025湖北隨州國資本投資運(yùn)營集團(tuán)限公司人員招聘27人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年許昌電氣職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案
- 廢料收購合同協(xié)議模板(簡版)6篇
- 患者隱私保護(hù)培訓(xùn)課件
- 2025年洛陽科技職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及答案(歷年真題)
- DBJ50-T-077-2019 建筑施工現(xiàn)場管理標(biāo)準(zhǔn)
評論
0/150
提交評論