[信息與通信]基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計
《[信息與通信]基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《[信息與通信]基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計(40頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計 河南工業(yè)職業(yè)技術(shù)學(xué)院 畢 業(yè) 論 文 題目:基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計 專業(yè)(系別):機(jī)電一體化 姓 名:肖 向 前 班 級:機(jī)電0905班 學(xué) 號:0202090521 指 導(dǎo) 老 師 : 李 仁 摘要 該系統(tǒng)是《基于單片機(jī)的全自動洗衣機(jī)控制系統(tǒng)設(shè)計》。系統(tǒng)采用AT89C51單片機(jī)作為核心控制芯片。并且輔以必要的外圍器件和電路,通過I/O
2、口輸出控制電動機(jī)運(yùn)行和停止,通過AT89C51單片機(jī)內(nèi)部定時器中斷來記錄洗衣時間和進(jìn)水時間,通過按鍵來進(jìn)行洗衣參數(shù)設(shè)置。通過AT89C51單片機(jī)驅(qū)動數(shù)碼管顯示洗衣機(jī)的工作時間,LED指示燈用作洗衣機(jī)的工作狀態(tài)顯示,用兩個電控水龍頭進(jìn)行加水和放水,通過蜂鳴器提示洗衣結(jié)束。通過外部中斷來控制進(jìn)水和放水。論文重點(diǎn)闡述單片機(jī)和控制系統(tǒng)模塊的設(shè)計。 關(guān)鍵詞:單片機(jī),全自動洗衣機(jī),數(shù)碼管,蜂鳴器,中斷,定時器 Summary The system i
3、s <
4、 internal timer interrupt to record the laundry time and water time, through the key parameters for laundry. AT89C51 microcontroller driven by digital display washing machine working hours, LED indicator for status display of washing machines work, carried out by two electronically controlled tap wa
5、ter and turn on the water, laundry tips by the end of the buzzer. Water through an external interrupt to control and turn on the water. Paper focuses on the single-chip module design and control system. keywords: MCU ,Automatic washing machine, LE Buzzer ,Interrupt ,Timer
6、 35 目錄 緒論 2 第一章 系統(tǒng)整體設(shè)計 5 1.1設(shè)計功能要求 5 1.2系統(tǒng)設(shè)計方案 5 1.3芯片選擇 6 1.3.1什么是單片機(jī) 6 1.3.2單片機(jī)的應(yīng)用領(lǐng)域 6 1.3.3單片機(jī)的確定 7 1.4單片機(jī)的結(jié)構(gòu) 8 1.4.1 AT89C51單片機(jī)的引腳功能 8 1.4.2電源 9 1.4.3時鐘 9 1.4.4控制信號引腳線 9 1.4.5輸入/輸出引腳(I/O口線) 10 1.5 繼電器的選擇 11 第二章 系統(tǒng)硬件設(shè)計 12 2.1 電源電路設(shè)計 12 2.2 保護(hù)電路設(shè)計 12 2.3 顯示電路設(shè)計
7、13 2.4 按鍵控制設(shè)計 14 2.5 狀態(tài)指示電路設(shè)計 14 2.6 硬件總體電路設(shè)計 15 第三章 系統(tǒng)軟件設(shè)計 17 3.1 軟件整體結(jié)構(gòu)設(shè)計 17 3.2主程序結(jié)構(gòu)設(shè)計與分析 17 3.3子程序結(jié)構(gòu)設(shè)計與分析 26 3.3.1 定時器中斷1子程序 27 3.3.2 外部中斷0子程序 28 3.3.3 定時器中斷0子程序 30 3.3.4 外部中斷1子程序 31 3.3.5 數(shù)碼管顯示子程序 31 總結(jié) 33 致謝 34 參考文獻(xiàn) 35 緒論 1.全自動洗衣機(jī)的發(fā)展過程 隨著社會的進(jìn)步和生活水平的提高,洗衣機(jī)是一種在家庭中不可
8、缺少的家用電器,全自動式洗衣機(jī)因使用方便得到大家的青睞,全自動即進(jìn)水、洗滌、摔干等一系列過程自動完成。家用洗衣機(jī)從發(fā)明到現(xiàn)在已經(jīng)經(jīng)歷了一個多世紀(jì),經(jīng)歷以下一些發(fā)展階段: 世界上第一臺洗衣機(jī)實(shí)在1874年由美國的比爾.布萊克斯通(Bill Blackstone)研制成功的。1910年前后,第一臺臥軸滾筒式電動洗衣機(jī)問世,標(biāo)志著人類家務(wù)勞動自動化的開始。20世紀(jì)20年代,第一臺立軸攪拌式洗衣機(jī)再美國試制成功,由此,洗衣機(jī)開始了“立軸”與“臥軸”之分。50年代中葉,日本三洋公司推出單桶波輪式洗衣機(jī)。開始確定了滾筒式、攪拌式和波輪式三種工作方式。60年代,日本推出了帶甩干桶半自動洗衣機(jī),并且大量應(yīng)用
9、塑料,使洗衣機(jī)的發(fā)展進(jìn)入一個新的階段。70年代,日本推出波輪式套桶全自動洗衣機(jī),從此開始有了“全自動”洗衣機(jī)的概念。70年代后期,日本推出了微電腦控制的全自動洗衣機(jī)。完成了由機(jī)械—電動程序控制到電腦控制的過渡,開始了電腦控制時代。這時,洗衣機(jī)在發(fā)達(dá)國家已進(jìn)入飽和期,而在亞太地區(qū)發(fā)展中國家開始進(jìn)入普及期。80年代后期,“模糊控制”洗衣機(jī)開始出現(xiàn),實(shí)現(xiàn)了家電器控制方式上的高度自動化。出現(xiàn)“白色家電”的概念。90年代,隨著變頻技術(shù)的發(fā)展,日本最先推出了電動機(jī)直接驅(qū)動洗衣機(jī),實(shí)現(xiàn)了洗衣機(jī)驅(qū)動方式上的革命。今后洗衣機(jī)將以高可靠性,完善的功能,節(jié)水省電,降噪省時以及規(guī)格品種多樣化為發(fā)展方向。 2.洗衣機(jī)
10、的發(fā)展前景及待解決的問題 ①國外先進(jìn)技術(shù)及開發(fā)前景: 當(dāng)今世界是技術(shù)、知識大爆炸的年代,只要人們有需要,就有可能生產(chǎn)出某種產(chǎn)品來滿足人們的需要。洗衣機(jī)的發(fā)展正是這樣,人們在生活中發(fā)現(xiàn)了它的某些不便,就會在實(shí)際中不斷地改進(jìn)和完善它,新型的洗衣機(jī)正是在這種情況下誕生的。 (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ī)械電氣故障,修理方便。不纏繞,不傷布料,洗衣
11、效果好,省水,省電。 (2)電磁洗衣機(jī)這種洗衣機(jī)洗滌桶內(nèi)有4個洗滌頭,上面各有有個夾子,把衣物伸展夾住,每個洗滌頭上有有個電磁線圈,接通電源發(fā)生2500次/秒的微擊振動,使衣物在洗滌液中洗滌。因不用電機(jī)驅(qū)動,無噪聲,省水50%,省電75%。 (3)高溫泡沫洗衣機(jī)日本大阪大研制的一種不用水用高溫泡沫來洗凈衣物的洗衣機(jī)。洗滌劑罐于洗衣機(jī)低部,放衣物后撥動開關(guān),開始鼓風(fēng),將空氣送入罐中產(chǎn)生泡沫,由加熱到70C高溫泡沫洗凈衣物,然后進(jìn)入洗衣桶旁邊的消泡裝置,一般洗5~10分鐘/次,21L/1kg干衣。 (4)真空洗衣機(jī)原蘇聯(lián)研制的不用洗衣粉或洗滌劑的洗衣機(jī),真空泵將洗衣桶內(nèi)吸成真空狀態(tài),桶中水運(yùn)
12、動產(chǎn)生氣泡爆破并去污。洗凈度高,不損衣、無噪聲、造價高。實(shí)際上是采用冷沸騰洗滌原理,在幾秒鐘內(nèi)從洗滌桶的上部那空氣抽空出。稀薄空氣與水如沸騰壯,衣物在泡沫旋渦鐘攪動,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)根本沒有水一樣。然而水卻滲透過衣物流入位于滾筒底部的一個儲水
13、槽中。在槽中,水被從新加熱再次循環(huán)噴射到衣物上去,洗滌桶做周期性脫水,以排去水和污物,隨后漂洗3次,最后脫水洗完。 ②洗衣機(jī)待解決的一些問題: 由于我國洗衣機(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)
14、而生產(chǎn)具有波輪式、攪拌式兩種洗衣機(jī)優(yōu)點(diǎn)的新機(jī)型。為了使波輪式洗衣機(jī)洗滌更合理,應(yīng)努力將全自動洗衣機(jī)提高到電腦型的水平。雙桶洗衣機(jī)再提高漂洗的條件下,以重點(diǎn)生產(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ì)量,電腦控制各種功
15、能的能力,電腦的抗電壓波動、抗干擾防靜電的能力,以及傳感器的靈敏度等方面,很容易看出整體質(zhì)量的好壞。再加上裝配工藝較落后,致使我國洗衣機(jī)的質(zhì)量穩(wěn)定性差,出口有一定的困難。目前我國洗衣機(jī)無故障運(yùn)行水平約為250~500小時,而國外同類產(chǎn)品達(dá)1500~2000小時,即十年不需修理。因此提高洗衣機(jī)的質(zhì)量要從提高零部件的質(zhì)量入手。關(guān)鍵電器件和傳動件應(yīng)組織專業(yè)分工,制定標(biāo)準(zhǔn),組織攻關(guān),進(jìn)行認(rèn)證,在改進(jìn)功能方面、外觀質(zhì)量和可靠性三方面,進(jìn)行全面整理,提高水平。 綜合以上分析介紹,全自動洗衣機(jī)由于具有對衣物的磨損小、洗滌量大、節(jié)約水電等特點(diǎn),越來越得到廣大家庭的青睞。由于人們對全自動洗衣機(jī)在價格低廉的基礎(chǔ)
16、上也提出了功能齊全、操作簡單、不纏繞、不傷布料、洗衣效果好、性能可靠、工作效率高、便于維修等更高的要求。為滿足人們這種需求,特設(shè)計出這種有微控制器控制的全自動洗衣機(jī)控制系統(tǒng)。 第一章 系統(tǒng)整體設(shè)計 在進(jìn)行系統(tǒng)設(shè)計之前,首先應(yīng)根據(jù)對系統(tǒng)的功能要求及其應(yīng)用環(huán)境等確定合理的、具體的功能和技術(shù)指標(biāo),對應(yīng)用系統(tǒng)的可靠性、通用性、先進(jìn)性、可維護(hù)性、以及成本等進(jìn)行綜合考慮,以盡量合理并符合相應(yīng)的標(biāo)準(zhǔn)。然后根據(jù)市場上各種單片機(jī)的貨源情況和單片機(jī)的性能及開發(fā)工具等因素選擇合適的機(jī)型。接下來要根據(jù)系統(tǒng)中遇到
17、的重要器件進(jìn)行選擇,使之符合系統(tǒng)在精度、速度和可靠性等方面的要求。最后確定硬件和軟件的功能劃分。由于在系統(tǒng)設(shè)計中某些功能用硬件和軟件都能實(shí)現(xiàn),在設(shè)計中應(yīng)綜合考慮研制周期和成本等因素具體劃分軟硬件功能。 1.1設(shè)計功能要求 (1)通過按鍵控制洗衣機(jī)的工作方式,并且相應(yīng)工作方式的指示燈亮。 (2)數(shù)碼管用于顯示相應(yīng)工作方式的剩余時間 (3)洗衣機(jī)具有強(qiáng)洗(電動機(jī)正轉(zhuǎn))和弱洗(電動機(jī)正,反交替運(yùn)行) (4)打開電源洗衣機(jī)自動在強(qiáng)洗模式(并且可調(diào)整強(qiáng)洗和弱洗) (5)當(dāng)洗衣時間或脫水時間到蜂鳴器響 (6)通過延時控制洗衣機(jī)的進(jìn)水水位 1.2系統(tǒng)設(shè)計方案 通過設(shè)對計要求的分析,主控制系
18、統(tǒng)運(yùn)用的是AT89C51單片機(jī),控制對象包括:按鍵、電控水龍頭1(進(jìn)水閥)、電控水龍頭2(出水閥)、電動機(jī)、數(shù)碼管顯示、LED指示燈、蜂鳴器等。這些被控對象需要根據(jù)不同的洗衣程序來設(shè)定他們的工作狀態(tài)和工作時間,電控水龍頭1(進(jìn)水閥)和電控水龍頭2(出水閥)來控制進(jìn)水和出水,同時需要LED指示燈和數(shù)碼管顯示不同的工作狀態(tài)和剩余時間,按鍵 用來控制程序運(yùn)行和設(shè)置洗衣模式,蜂鳴器用來提示洗衣完成提示。按照上述的系統(tǒng)方案得到的系統(tǒng)整體構(gòu)架如圖1-1: 圖1-1系統(tǒng)整體構(gòu)架 1.3芯片選擇 1.3.1什么是單片機(jī) 單片機(jī)即單片微型計算機(jī)。(Single-Chip Microcomput
19、er ),是 集CPU 、RAM 、ROM 、定時器、計數(shù)器和多種接口于一體的微控制器。這樣所組成的芯片級芯片級微型計算機(jī)稱為單片微型計算機(jī)(Single-Chip Microcomputer ),簡稱位單片微機(jī)或單片機(jī)。他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上。由于單片機(jī)的硬件結(jié)構(gòu)與指令系統(tǒng)都是按工業(yè)控制要求設(shè)計的,常用于工業(yè)的檢測、控制裝置中,因而也稱為微控制器或嵌入式控制器。單片機(jī)按用途可分為通用型和專用型兩大類,按內(nèi)部數(shù)據(jù)通道的寬度又可分為4位、8位、16位及32位。而51 單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。 1.3.2單片機(jī)的應(yīng)用領(lǐng)域 單片機(jī)廣泛應(yīng)用
20、于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分為如下幾個范疇: (一)在智能儀器儀表的應(yīng)用 單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測量設(shè)備(功率計,示波器,各種分析儀)。 (2) 在家用電器中的應(yīng)用 可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電
21、冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。 (三)在工業(yè)控制中的應(yīng)用 用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。 (四)在計算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計算機(jī)進(jìn)行數(shù)據(jù)通信,為在計算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī)、電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機(jī)等。 (五)單片
22、機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用 單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。 此外,單片機(jī)在工商、金融、科研、教育、國防航空等領(lǐng)域都有著十分廣泛的用途。 1.3.3單片機(jī)的確定 通過設(shè)計方案整體分析,根據(jù)單片機(jī)的使用性、技術(shù)性、經(jīng)濟(jì)性、以及對控制系統(tǒng)的設(shè)計要求與性能,本系統(tǒng)選擇AT89C51單片機(jī)作為核心控制對象。其中AT89C51單片機(jī)具有以下基本特性:AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,外圍電路簡單、硬件設(shè)計方便、I/O口操作簡單、資源豐富、能滿足一般的使用功能、 價格
23、便宜、容易購買。 通過以上的介紹和分析,AT89C51完全滿足設(shè)計要求和性能。因此,本系統(tǒng)選擇AT89C51單片機(jī)作為核心控制對象。 1.4單片機(jī)的結(jié)構(gòu) AT89C51 芯片內(nèi)部集成了 CPU、RAM、ROM、定時/計數(shù)器和I/O口等各功能部件,并由內(nèi)部總線把這些部件連接在一起。 AT89C51 單片機(jī)內(nèi)部包含以下一些功能部件: (1) 一個8位CPU; (2) 一個片內(nèi)振蕩器和時鐘電路; (3) 4KB 的ROM (4) 128x8字節(jié)內(nèi)部RAM; (5) 可尋址64KB的外ROM和外RAM控制電路; (6) 兩個16位定時/計數(shù)器; (7) 21個
24、特殊功能寄存器; (8) 4個8位并行I/O口,共32條可編程I/O端線; (9) 一個可編程全雙工串行口; (10) 5個中斷源; 1.4.1 AT89C51單片機(jī)的引腳功能 AT89C51單片機(jī)一般采用雙列直插DIP封裝,共40個引腳,圖1-2為單片機(jī)引腳排列圖。40個引腳大致可分為4類:電源、時鐘、控制和I/O引腳。 圖1-2 單片機(jī)引腳排列圖 1.4.2電源 (1)VCC(40腳)——芯片電源,接+5V; (2)VSS(GND20腳)——接地端。 1.4.3時鐘 XTAL1(19腳)、XTAL2(18腳)—
25、—晶體振蕩電路反相輸入端和輸出端。使用內(nèi)部振蕩電路時外接石英晶體如圖1-3。 圖1-3晶體振蕩電路 1.4.4控制信號引腳線 控制線共有4根,其中3根是復(fù)用線。所謂復(fù)用線是指具有兩種功能,正常使用時是一種功能,在某種條件下是另一種功能。 (1)ALE/PROG(30腳)地址鎖存允許/片內(nèi)EPROM編程脈沖。 ①ALE功能:用來鎖存P0口送出的低8位地址。 AT89C51在并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時,P0口用于分時傳送低8位地址和數(shù)據(jù)信號
26、,且均為二進(jìn)制數(shù)。那么如何區(qū)分是低8位地址還是8位數(shù)據(jù)信號呢?當(dāng)ALE為高電平時,P0口傳送的是低8位地址信號;ALE為低電平時,P0口傳送的是8位數(shù)據(jù)信號。在ALE信號的下降沿,鎖定P0口傳送的內(nèi)容,即低8位地址信號。 需要指出的是,當(dāng)CPU不執(zhí)行訪問外RAM指令(MOVX)時,ALE以時鐘振蕩頻率1 / 6的固定頻率輸出,因此ALE信號也可作為外部芯片CLK時鐘或其他需要。但是,當(dāng)CPU執(zhí)行MOVX指令時,ALE將跳過一個ALE脈沖。ALE端可驅(qū)動8個LSTTL門電路。 ②PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 (2) PSEN(29腳)——
27、外ROM讀選通信號。 80C51讀外ROM時,沒個機(jī)器周期內(nèi)PSEN兩次有效輸出。PSEN可作為外ROM芯片輸出允許OE的選通信號。在讀內(nèi)ROM或讀外RAM時,PSEN無效。PSEN可驅(qū)動8個LSTTL門電路。 (3) RST/Vpd(9腳)——復(fù)位/備用電源。 ①正常工作時,RST(Reset)端為復(fù)位信號輸入端,只要在該引腳上連續(xù)保持兩個機(jī)器周期以上高電平,80C51芯片即實(shí)現(xiàn)復(fù)位操作,復(fù)位后一切從頭開始,CPU從0000H開始執(zhí)行指令。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖1—4上電自動復(fù)位電路 和圖1—5手動復(fù)位電路。
28、 圖1-4上電自動復(fù)位電路 圖1-5 手動復(fù)位電路 ②Vpd功能:在Vcc掉電情況下,該引腳可接上備用電源,由Vpd向片內(nèi)供電,以保持片內(nèi)RAM中的數(shù)據(jù)不丟失。 (4) EA/VPP(31腳) ——內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。 ①EA功能:正常工作時,EA為內(nèi)外ROM選擇端。AT89C51單片機(jī)ROM尋址范圍為64KB,其中4KB在片內(nèi),60KB在片外。當(dāng)EA保持高電平時,先訪問內(nèi)部ROM,但當(dāng)PC(程序計數(shù)器)值超過4KB(0FFFH)時,將自動轉(zhuǎn)向執(zhí)行外ROM中的程序。當(dāng)EA保持低電平時,則CPU只
29、訪問外ROM,當(dāng)EA為高電平時,則CPU要先對內(nèi)部ROM訪問,然后自動延至外部超過4KB的ROM。 ②Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳用于施加編程電源Vpp。 1.4.5輸入/輸出引腳(I/O口線) (1)P0口(32—39腳)——8位雙向I/O口。在不并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時, P0口可用作雙向I/O口。在并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時, P0口可用于分時傳送低8位地址(地址總線)和8位數(shù)據(jù)信號(數(shù)據(jù)總線)。P0口能驅(qū)動8個LSTTL門。 (2)P1口(1——8腳)——8位準(zhǔn)雙向I/O口(“準(zhǔn)雙向”是指該口內(nèi)部有固定的上拉電
30、阻)。 P1口能驅(qū)動為4個LSTTL門。 (3) P2口(21——28腳)——8位準(zhǔn)雙向I/O口。在不并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時, P2口可用作雙向I/O口。在并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時, P2口可用于傳送高8位地址(屬地址總線) 。P2口能驅(qū)動4個LSTTL門。引腳上拉電阻同P1口。在結(jié)構(gòu)上,P2口比P1口多一個輸出控制部分。 (4) P3口(10——17腳)——8位準(zhǔn)雙向I/O口??勺饕话鉏/O口用,同時P3口每一引腳還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。P3口驅(qū)動能力為4個LSTTL門。
31、 P3口第二功能如下: P3.0——RXD:串行口輸入端; P3.1——TXD:串行口輸出端; P3.2——INT0:外部中斷0請求輸入端; P3.3——INT1:外部中斷1請求輸入端 P3.4——T0:定時/計數(shù)器0外部信號輸入端; P3.5——T1:定時/計數(shù)器1外部信號輸入端; P3.6——WR:外RAM寫選通信號輸出端; P3.7——RD:外RAM讀選通信號輸出端。 上述4個I/O口,各有各的用途。 在不并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時, 4個I/O口都可作為雙向I/O口用。在并行擴(kuò)展外存儲器(包括并行擴(kuò)展I/O口)時, P0口專用于分時傳送低8位
32、地址信號和8位數(shù)據(jù)信號,P2口專用于傳送高8位地址信號。P3口根據(jù)需要常用于第二功能,真正可提供給用戶使用的I/O口是P1口和一部分未用作第二功能的P3口端。 1.5 繼電器的選擇 繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動控制電路中,用來接通和斷開控制電器,它實(shí)際上是用較小的電流去控制較大電流的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。根據(jù)控制電路的電源電壓,能提供的最大電流,被控電路需的觸點(diǎn)形式。根據(jù)單片機(jī)的控制特點(diǎn)AT89C51單片機(jī)帶負(fù)載能力不強(qiáng),一般用三極管控制繼電器,因此本系統(tǒng)采用的是:松樂T7
33、3 SRD-5VDC-SL-C繼電器。 第二章 系統(tǒng)硬件設(shè)計 2.1 電源電路設(shè)計 電源為單片機(jī)提供+5V電壓供電,原理圖如圖2-1所示,交流220V電源經(jīng)變壓器降壓在經(jīng)過整流、濾波后產(chǎn)生直流電壓,輸入到集成穩(wěn)壓器7805的輸入端,7805輸出穩(wěn)定的+5V電壓為單片機(jī)供電。 圖2-1電源電路 2.2 保護(hù)電路設(shè)計 保護(hù)電路如圖2-2所示,該電路主要是對與電動機(jī)在運(yùn)行過程中出現(xiàn)過載或短路保護(hù),通過自恢復(fù)保險絲與電動機(jī)串聯(lián),當(dāng)電動機(jī)過載或短路時,流經(jīng)保險絲的大電流使其集溫升高,當(dāng)達(dá)到居里溫度時,其態(tài)密度迅速減小,相變增大,內(nèi)部的導(dǎo)電鏈路呈雪崩態(tài)變或斷裂,保險絲呈階躍式遷到
34、高阻態(tài),電流被迅速夾斷,從而對電路進(jìn)行快速、準(zhǔn)確的限制和保護(hù),當(dāng)故障排除后,其集溫降低,態(tài)密度增大,相變復(fù)原,納米晶體還原成鏈狀導(dǎo)電通路,自恢復(fù)保險絲恢復(fù)為正常狀態(tài),無需人工更換。從而起到保護(hù)作用。 2-2保護(hù)電路 2.3 顯示電路設(shè)計 顯示部分主要是通過一個兩位數(shù)碼管顯示系統(tǒng)的工作時間信息。該數(shù)碼管共有10個管腳,其中A——G 7個管腳為數(shù)碼管的段選,1和2為數(shù)碼管的位選,DP為小數(shù)點(diǎn)顯示。其中數(shù)碼管的段選與單片機(jī)的P0.0——P0.6口相連接,數(shù)碼管的位選1和2分別與單片機(jī)的P2.0和P2.1相連接。具體電路如圖2—3所示。 圖2-3 顯示電路
35、 2.4 按鍵控制設(shè)計 該系統(tǒng)通過四個獨(dú)立按鍵來控制系統(tǒng)的啟動、停止和工作狀態(tài)設(shè)置,四個鍵分別為:程序、增加、減少、啟動,其中四個鍵分別與單片機(jī)的P1.0—P1.3口相連接:具體連接如圖2—4所示。 圖2-4 按鍵連接 2.5 狀態(tài)指示電路設(shè)計 狀態(tài)指示是通過8個LDE顯示系統(tǒng)的工作狀態(tài),LED與74LS138的輸出端相連接,其中74LS138的三個使能端分別與單片機(jī)的P1.4—P1.6相連接,通過單片機(jī)輸出高低電平控制74LS138相應(yīng)的引腳,使LED點(diǎn)亮,指示出工作狀態(tài)。具體連接如圖2-5所示。 圖2—5指示燈電路 2.6 硬件總體電路設(shè)計
36、 通過上面的分析硬件電路(如圖2-6)主要有這幾部分組成: 1.單片機(jī)最小系統(tǒng):(1)復(fù)位電路 (2)時鐘電路 (3)AT89C51 2.按鍵控制部分 3.LED與數(shù)碼顯示部分 4. 74LS138譯碼器 5.報警部分(蜂鳴器) 6.繼電器控制部分 7.電動機(jī)部分 其中按鍵部分為四個獨(dú)立按鍵與單片機(jī)的P1.0—P1.3口相連接,分別是程序的增加、減少和啟動主要用于設(shè)置洗衣機(jī)的工作狀態(tài)。D0—D7是洗衣機(jī)的工作狀態(tài)指示燈,其中D0—D5與38譯碼器的Y0—Y5相連接分別表示:進(jìn)水時間設(shè)定,脫水剩余時間,脫水定時,洗衣剩余時間,洗衣定時
37、,洗滌次數(shù)。D6與D7分別與單片機(jī)的P2.6與P2.7相連接表示:弱洗和強(qiáng)洗。數(shù)碼管用于顯示洗衣機(jī)工作的時間,其中P0口控制數(shù)碼管的段選,P2.0與P2.1控制數(shù)碼管的位選。報警部分(蜂鳴器)用于洗衣完畢是的報警,通過三極管驅(qū)動與單片機(jī)的P1.7相連接。繼電器控制部分主要用于電動機(jī)的正反轉(zhuǎn)控制,通過三極管驅(qū)動與單片機(jī)的P2.2—P2.5相連接。單片機(jī)的P3.0與P3.2分別連接兩個電控水龍頭用于洗衣機(jī)的進(jìn)水和脫水。 2-6 電路原理圖 第三章 系統(tǒng)軟件設(shè)計 3.1 軟件整體結(jié)構(gòu)設(shè)計 該系統(tǒng)的主要程序圖框如圖3-1所示。
38、系統(tǒng)程序可以分為:主程序,定時器中斷1程序,定時器中斷0程序,外部中斷0和外部中斷1程序,延時程序,數(shù)碼管顯示程序,等幾部分組成。定時中斷1和外部中斷0來控制電控水龍頭進(jìn)水,利用定時器中斷0記錄洗衣時間,通過外部中斷1判斷水是否放完,來進(jìn)行脫水,定時中斷1記錄脫水時間。下面分別以各部分的程序流程圖進(jìn)行分析程序 3.2主程序結(jié)構(gòu)設(shè)計與分析 首先,開機(jī)可以先進(jìn)行選擇強(qiáng)洗和弱洗(弱洗是電動機(jī)進(jìn)行正反轉(zhuǎn)每10s交替運(yùn)行)并且相應(yīng)指示燈亮。連續(xù)按下“程序”鍵可進(jìn)行相應(yīng)功能的選擇,當(dāng)進(jìn)水時間、洗衣時間、脫水時間、洗滌次數(shù)、脫水時間以及強(qiáng)洗或弱洗設(shè)置完成后,按下“啟動”鍵系統(tǒng)開始工作,進(jìn)水龍頭打開,當(dāng)進(jìn)
39、水時間到或水加滿開始進(jìn)行洗衣,當(dāng)洗衣時間到,開始進(jìn)行脫水。當(dāng)脫水時間到,若洗滌次數(shù)不到,繼續(xù)下一次洗滌,否則結(jié)束工作且蜂鳴器報警5秒,工作結(jié)束。其應(yīng)用程序如下: 開始 啟動鍵按下否 否 洗衣參數(shù)設(shè)定狀態(tài) 是 洗
40、衣加水 是 加水時間到否或滿否 啟動鍵按下否 否
41、 是 是 洗衣狀態(tài) 脫水狀態(tài) 是 洗衣時間到否 否 是 脫
42、水時間到否 否 洗滌次數(shù)到否 否 是 是 結(jié)束
43、 圖3-1 主程序圖框 main() { int a; P1=0xff; TMOD=0x11;//定時器0和定時器1同時工作在模式0; ET0=1; //打開內(nèi)部中斷0 ET1=1; //打開內(nèi)部中斷1 led7=0; while(d) { shao_maio(); if(b==1200)//b=20剛好1秒 { b=0; m=m-1; if(m<0) { m=0; } if(t<0) { t=0; }
44、 shao_maio(); //掃描數(shù)碼管 } /*************進(jìn)水控制****************************/ shao_maio(); if(b1==1200) { b1=0; jins_time=jins_time-1; } if(jins_time==0) { sw1=1;//關(guān)閉水龍頭 jins_time=1; EX0=1; //開外部中斷0 EA=1;//開總中斷 TMOD=0x11; jins_time=
45、1; TH0=(65536-50000)/256; //定時50毫秒 TL0=(65536-50000)%256; ET0=1; //打開內(nèi)部中斷0 TR0=1; if(x==4) { sn1=0;//4 點(diǎn)亮洗衣剩余時間指示燈 sn2=1;//2 sn3=1;//1 ET0=1; //打開內(nèi)部中斷0 TR0=1; } //if(x==3)//洗衣剩余時間 else {
46、 sn1=0; //4 sn2=1; //2 sn3=1;//1 x=3; ET0=1; //打開內(nèi)部中斷0 TR0=1; } if(led6==0&&led7==1) //弱洗 { if(b>=0&&b<200||(b>=600&&b<800))//10m {q2=1;q3=1; q1=0;q4=0; } if(b>=400&&b<600||(b>=800&&b<1000))
47、 {q1=1;q4=1; q2=0;q3=0; } } if(led6==1&&led7==0) //強(qiáng)洗 { q1=0; q4=0; q2=1; q3=1; } } /*****************開始脫水************************/ if(m==0) { sw1=1;//關(guān)水龍頭1 sw2=0;//開水龍頭2 EX0=0;//關(guān)外部中斷0 ET0=0;//關(guān)定時器中斷0 TR0=0;
48、 EA=1;//開總中斷 TMOD=0x11; TH1=(65536-50000)/256; //定時50毫秒 TL1=(65536-50000)%256; ET1=1; //打開內(nèi)部中斷0 TR1=1; EX1=1; //外部中斷1打開為放水準(zhǔn)備 sn1=0; //4 脫水剩余時間指示燈亮 sn2=0; //2 sn3=1;//1 x=5;//顯示脫水剩余時間 } if(tuo_s==1200) { tuo_s=0;
49、 t=t-1; } if(t<=0) { jins_time=jins_time1; m=m1; t=t; d=d-1; x=0; xi_di=1;//判斷是否跳轉(zhuǎn) } if(d<=0) { EA=0;//關(guān)總中斷 sw2=1;//關(guān)水龍頭2 sm1=sm2=0;//數(shù)碼管熄滅 sn1=sn2=sn3=1;//LED熄滅 q1=q2=q3=q4=1;//電動機(jī)停止 feng_m_qi=0;//蜂鳴器響 delay(2
50、);//延時5秒 feng_m_qi=1;//蜂鳴器停止 } else goto start; /************強(qiáng)洗弱洗選擇***********************/ if(sb2==0&&x==0)//弱洗 { for(a=0;a<140;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb2==0&&x==0) { led6=0; led7=1; } } if(sb3==0&&x
51、==0)//強(qiáng)洗 { for(a=0;a<140;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb3==0&&x==0) { led6=1; led7=0; } } /****************功能選擇*************************/ if(sb1==0) { EA=0; for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管
52、 } if(sb1==0) { x=x+1; if(x==1)//洗滌次數(shù)設(shè)置 { sn1=1; //4 sn2=0; //2 sn3=1;//1 } if(x==2)// 洗衣定時 { sn1=1; //4 sn2=0; //2 sn3=0;//1 } if(x==3)//洗衣剩余時間 { sn1=0; //4 sn2=1; //2
53、 sn3=1;//1 } if(x==4)//脫水定時時間 { sn1=0; //4 sn2=1; //2 sn3=0;//1 } if(x==5)//脫水剩余時間 { sn1=0; //4 sn2=0; //2 sn3=1;//1 } if(x==6)//進(jìn)水時間 { sn1=0; //4 sn2=0; //2
54、 sn3=0;//1 } if(x==7)//強(qiáng)洗 { x=0; led6=1; led7=0; } } } /****************增加設(shè)置*****************/ if(sb2==0&&x==1) //洗滌次數(shù)增加 { //EA=0; for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb2==0&&x==1) { d=d+1;
55、 if(d>99) { d=0; } } } /*****************************************/ if(sb2==0&&x==2) //洗衣定時增加 { for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb2==0&&x==2) { m=m+1; m1=m; if(m>99) { m=0; } } } /******
56、******************************************/ if(sb2==0&&x==4)//脫水定時增加 { for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb2==0&&x==4) { t=t+1; t1=t; if(t>99) { t=0; } } } /****************************************
57、********/ if(sb2==0&&x==6)//進(jìn)水水定時增加 { for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb2==0&&x==6) { jins_time=jins_time+1; jins_time1=jins_time; if(jins_time>99) { jins_time=0; } } } /***************減少設(shè)置*******
58、****************/ if(sb3==0&x==1)//洗滌次數(shù)減少 { EA=0; for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb3==0&x==1) { d=d-1; if(d<0) { d=0; } } } /***************************************************/
59、 if(sb3==0&x==2)//洗衣定時減少 { EA=0; for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb3==0&x==2) { m=m-1; m1=m; if(m<0) { m=m1; } } } /**************************************************/ if(sb3==0&&x==4
60、) //脫水定時減少 { EA=0; for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb3==0&&x==4) { t=t-1; t1=t; shao_maio(); if(t<0) { t=0; } } } /**************************************************/ if(sb3==0&&x==6) //進(jìn)水定時減少 {
61、 EA=0; for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb3==0&&x==6) { jins_time=jins_time-1; jins_time1=jins_time; shao_maio(); if(jins_time<0) { jins_time=0; } } } /*****************啟動****************
62、**************/ if(sb4==0&&x>0) { start: xi_di=0;//如果洗滌次數(shù)不到重新賦值 for(a=0;a<130;a++) //按鍵去抖 { shao_maio(); //掃描數(shù)碼管 } if(sb4==0&&x>0) { EA=1;//開總中斷 EX0=1; //開外部中斷0 sw1=0;//開水龍頭1 sw2=1; TMOD=0x11; TH1=(65536-500
63、00)/256; //定時50毫秒 TL1=(65536-50000)%256; ET1=1; //打開內(nèi)部中斷0 TR1=1; x=6; sn1=0; //4 sn2=0; //2 sn3=0;//1 } } } } 3.3子程序結(jié)構(gòu)設(shè)計與分析 3.3.1 定時器中斷1子程序 圖3-2為定時器中斷1程序框架,當(dāng)啟動鍵按下后,系統(tǒng)將打開定時器中斷1,每50ms中斷一次,作為進(jìn)水時間的記錄,當(dāng)進(jìn)水時間到定時器中斷1關(guān)閉停止計時。或者水加滿后,利用外部
64、中斷0來停止加水。其主要程序如下: 洗衣參數(shù)設(shè)定狀態(tài) 啟動鍵按下否 否 是 開始每50ms中斷一次 進(jìn)水時間到否 否 是 開始進(jìn)入洗衣狀態(tài) 關(guān)閉定時器中斷1 打開定時器中斷0 圖3-2定時器中斷1 void ds1zhong_duan() int
65、errupt 3 //定時器1中斷 //進(jìn)水水和脫水時間 { //shaomaio(); //掃描數(shù)碼管 TH1=(65536-50000)/256;//高8位 TL1=(65536-50000)%256;//低8位 if(EX0==1) { b1=b1+1; } //記錄中斷次,數(shù)每次中斷50ms else { tuo_s=tuo_s+1; } } 3.3.2 外部中斷0子程序 外部中斷0程序框架(如圖3-3所示),其
66、主要功能是:當(dāng)設(shè)置加水時間過長,水就會溢出,為防止水溢出,當(dāng)水加到一定高度時就會進(jìn)入該中斷子程序關(guān)閉進(jìn)水閥,開始執(zhí)行下一步任務(wù)。其主要程序如下: 圖3-3 外部中斷0 void wai0_zhong_duan() interrupt 0//外部中斷0 { sw1=1;//關(guān)閉水龍頭 jins_time==1; if(led6==0&&led7==1) //弱洗 { void dian_zf(); } if(led6==1&&led7==0) //強(qiáng)洗 { led6=1; led7=0; } sw1=0;//關(guān)閉水龍頭1 EA=1;//開總中斷 TMOD=0x11; jins_time=1; TH0=(65536-50000)/256; //定時50毫秒 TL0=(65536-50000)%256; ET0=1; //打開內(nèi)部中斷0
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動會安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊教研組工作總結(jié)
- 2024年小學(xué)高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學(xué)期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報告
- 2025年學(xué)校元旦迎新盛典活動策劃方案
- 2024年學(xué)校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告