




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2009全國電子設(shè)計大賽廣西區(qū)初賽論文洗衣機控制模型作者:時間:2009年5月 目錄引言整體結(jié)構(gòu)設(shè)計電源模塊主控單元模塊水位檢測模塊進(jìn)出水控制模塊洗衣粉投放模塊液晶顯示模塊鍵盤模塊操作說明總結(jié)討論程序流程圖程序引言技術(shù)愿景:在拿到題目之后,我們設(shè)想了我們組的洗衣機所要達(dá)到的技術(shù)指標(biāo)。 1.能達(dá)到洗衣機模型所具有的基本功能:能夠基本顯示各種洗衣狀態(tài)。能夠識別進(jìn)水量,并將信息反饋到單片機上。通過單片機控制進(jìn)水及進(jìn)水量、電機正反轉(zhuǎn)時間、出水、甩干等各項功能。2.拓展功能:基本顯示設(shè)備為液晶顯示器。用水位傳感器監(jiān)測水位,并將水位信息傳遞到單片機上,并顯示在液晶屏上。在洗衣機中增加水溫傳感器和水溫加熱器
2、。通過單片機控制加熱水溫來達(dá)到最適溫度。以提高洗衣效率。在進(jìn)衣口增加金屬傳感器,在衣物有鑰匙手表之類的金屬時能夠及時發(fā)出警報。增設(shè)壓力傳感器來自動檢測衣物的重力來推斷進(jìn)衣量的多少,進(jìn)行全自動智能洗衣。設(shè)置人性化的洗衣模式,例如:標(biāo)準(zhǔn)模式、手動模式、特效模式、和自動模式。能夠在不降低洗衣機性能的基礎(chǔ)上盡量節(jié)約能源。.發(fā)展方向:在初步實現(xiàn)自動化之后能夠和手機鏈接,通過短信來控制洗衣機的工作,真正達(dá)到全自動的理念。在設(shè)計過程中。我們以以上的技術(shù)指標(biāo)來設(shè)計我們的洗衣機模型。在設(shè)計過程中也碰到了一些問題。首先是水位傳感器。我們購買的水位傳感器是壓力型的傳感器,需要在密封的條件下使用,考慮到我們的洗衣機模
3、型無法達(dá)到傳感器的使用條件最后我們采用了比較器來代替水位傳感器。在金屬探測方面,激光金屬傳感器能夠達(dá)到我們的設(shè)計要求,但是考慮到成本的問題,拋棄了原來的設(shè)計,在這個洗衣機模型中沒有實現(xiàn)金屬探測報警的功能。而由于模型體積的限制,增設(shè)的水溫加熱功能在模型中也沒能夠?qū)崿F(xiàn)。這是設(shè)計中所出現(xiàn)的問題。最后我們的設(shè)計,初步完成了本洗衣機模型。本作品除了具有題目所要求的基本功能的基礎(chǔ)上,增設(shè)了三項功能:第一項是在顯示部分上增設(shè)了“浸泡”“預(yù)約”“洗衣時間”的功能的設(shè)置,這讓洗衣機能夠更人性化的執(zhí)行各種洗衣機的功能。此外,在題目所要求的功能之外,我們還增設(shè)了各種洗衣模式的設(shè)置,例如“手動”,“自動”,“ 標(biāo)準(zhǔn)”
4、,“特效”等功能,能夠根據(jù)各種情況選擇最佳的洗衣模式,達(dá)到提高洗衣的效率。最有特色的是自動模式,它能根據(jù)衣物的多少(根據(jù)重量測定)計算,然后利用模糊算法來計算出洗衣次數(shù),循環(huán)次數(shù),水位,轉(zhuǎn)速。并自動的加入適當(dāng)?shù)南匆路?。實現(xiàn)了在全程的自動化,初步實現(xiàn)了具有初步智能的“智能”洗衣機。在節(jié)能方面,我們選擇了mcu的閑置節(jié)能方式,在不用洗衣機的或者洗衣機處于等待階段的時候能降低功耗。洗衣機模型的所有參數(shù)、狀態(tài)、模式全部采用lcm液晶顯示器顯示,將洗衣機的即時信息顯示出來。整個作品分為兩大部分,分別是主控系統(tǒng)和模擬洗衣機的機體部分。通過緊湊的連接,組成了我們的洗衣模型。一、整體結(jié)構(gòu)設(shè)計主控系統(tǒng)采用雙層結(jié)
5、構(gòu),各層間用銅柱支撐和連接。上方是鍵盤,電源,和lcm模塊,進(jìn)出水控制模塊(如圖所示)其中l(wèi)cm液晶顯示器傾斜位于前方以便觀察和控制。鍵盤左邊是電源開關(guān),右上角是總電源指示燈和電磁閥電源指示燈,lcm模塊的右下角是lcm模塊的電源開關(guān),可以控制顯示屏的開關(guān)。模擬容器采用了符合題目要求的兩升容器。主電機安裝在瓶蓋上。由于沒能找到轉(zhuǎn)軸足夠長的電機,我們采用一般的筆芯做為電機的外部轉(zhuǎn)軸,為了解決電機轉(zhuǎn)動過程中的晃動問題,我們做了個支架,解決了電機轉(zhuǎn)動時振動過大的問題。此外,我們還在適當(dāng)?shù)牡胤?上 圖:箱體構(gòu)造增加了轉(zhuǎn)輪,在離蓋子附近位置安裝了直徑4厘米的塑料圓盤,在圓盤上放置了一塊小磁鐵,在磁鐵轉(zhuǎn)動
6、軌跡的正下方安放了一個霍爾開關(guān),用于計數(shù),用于測量轉(zhuǎn)速。在容器的上下部分別安裝了能夠分別控制進(jìn)出水的兩個電磁閥。并在機體的側(cè)面增加了直徑為7毫米的連通管。其水位與機體內(nèi)部實際的水位一致。并且在連通管中加入了用比較器做成的水位檢測電極。我們設(shè)立了四個水位在狀態(tài),分別是“無水”“低水位”“中水位”“高水位”模擬容器上方的小容器為洗衣粉放置裝置,通過裝置下方的電機轉(zhuǎn)動,運用葉扇把洗衣粉甩入模擬容器。用單片機控制葉扇轉(zhuǎn)動的時間和轉(zhuǎn)速來實現(xiàn)定量投放洗衣粉的目的。二、主控單元模塊電磁閥電源指示燈 上圖:主控單元模型在主控單元中主控芯片的選擇上,由于考慮到程序會比較大,我們暫時接觸到的單片機已經(jīng)無法滿足要求
7、,綜合各方面的因素,我們最終采用的是at89s52(可存16k的程序)。在主控單元中,89s52的外圍芯片有l(wèi)293d,74ls14,lm393.其中l(wèi)293d為電機驅(qū)動芯片,其內(nèi)部繼承了2個雙極型h橋電路,可以同時控制兩路電機??刂?a(1b)和2a(2b ),可以控制電機的轉(zhuǎn)向,10正轉(zhuǎn),01反轉(zhuǎn),使能端en1(en2)可用于脈寬調(diào)節(jié)(pwm),調(diào)節(jié)pwm的占空比可以方便的調(diào)節(jié)電機的轉(zhuǎn)速。 通過單片機的p0.6和p0.7經(jīng)過反相器74ls14接到1a(1b)、2a(2b)引腳,p2.6口和p2.7口控制en1和en2,以調(diào)節(jié)兩路電機的轉(zhuǎn)速,本設(shè)計中兩電機轉(zhuǎn)向控制共用兩個引用腳,同時控制兩電
8、機的轉(zhuǎn)向,通過pwm(en1),pwm(en2)的控制,又可以選擇電機和控制轉(zhuǎn)速,僅使用了4個i/o口,優(yōu)于原來采用的6線,節(jié)約了i/o口。l293d峰值輸出電流為1.2a,連續(xù)輸出電流為600ma,電壓為12v,是作為本模型比較合適的器件。上圖:主控單元原理圖上圖:主控單元pcb圖控制系統(tǒng)單元電路圖如圖所示,在設(shè)計電路圖和轉(zhuǎn)成pcb圖時,最初采用單面布線,但是由于連線比較復(fù)雜最終采用了雙層布線的結(jié)構(gòu),同時也增加了焊接和調(diào)試的難度,但是綜合各方面的因素,最終我們采用了雙層布線結(jié)構(gòu)。最后,經(jīng)過調(diào)試,全板的控制線路完全正常,在采用控制單元整合之前,各個功能小模塊用實驗的方法一一檢測,如水位監(jiān)測,電
9、機轉(zhuǎn)向轉(zhuǎn)速蜂鳴器等模塊的調(diào)試成功后,再整合成一塊板子。因此,這塊控制電路是經(jīng)過由小到大,由分到和的制作過程,使制作的成功率大大提高,保證了主控單元的可靠性。單片機i/o口配置如下圖所示p1.0 p0.0p1.1 p0.1 p1.2 p0.2 p1.3 p0.3p1.4 p0.4p1.5 p0.5 p1.6 p0.6 p1.7 p0.7 p3.0 p2.7 p3.1 p2.6p3.2 p2.5 p3.3 p2.4 p3.4 p2.3 p3.5 p2.2 p3.6 p2.1 p3.7 p2.0 p1.0 p1.0 p1.0p1.0 p1.0 p0.0水位0水位1水位2水位3進(jìn)水電磁閥出水電磁閥控制
10、1a、1a2a、2bpwm 電機轉(zhuǎn)速電磁閥電源控制鍵盤輸入口e rwpwm2 投放衣粉轉(zhuǎn)速lcm數(shù)據(jù)傳輸端rs蜂鳴器中斷霍爾計數(shù)1.電源模塊上圖:電源pcb圖電源pcb如圖所示,在電源設(shè)計時,我們組曾經(jīng)考慮過采用穩(wěn)定的開關(guān)電源。但是在之后的設(shè)計過程中發(fā)現(xiàn)。模型的各部分對電源的穩(wěn)定性要求不高。為了精簡模塊,我們最終采用了普通的電源模式。采用變壓器將家用220交流電壓轉(zhuǎn)成15的交流電壓。通過的整流堆整流后,再通過7812,7912和7805來實現(xiàn)12v、正負(fù)12和電壓的輸出。并在各穩(wěn)壓管上增加鋁制散熱片來加快穩(wěn)壓管的散熱,以增加電源的使用壽命和使用安全。在電源上我上圖:電源電路圖們設(shè)置了較多的電源
11、接口,以方便了設(shè)計過程中的各種實驗的需要。比較器(水位檢測) lm339集成塊內(nèi)部裝有四個獨立的電壓比較器,每個比較器有兩個輸入端和一個輸出端。兩個輸入端一個稱為同相輸入端,用“+”表示,另一個稱為反相輸入端,用“-”表示。用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓,另一端加一個待比較的r1 10k10kr3 15kr4 16k123167r5 4.7k+5voutin1in2r2比較器原理圖信號高于“+”端時,輸出管飽和,相當(dāng)于輸出端接低電位。兩個輸入端電壓差別大于10mv就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,選用lm339用在通過檢測水的電阻而檢測水的有無比
12、較理想(如圖1)。lm339的輸出端相當(dāng)于一只不接集電極電阻的晶體三極管,在使用時輸出端到正電源一般須接一只上拉電阻。選不同阻值的上拉電阻輸 出端得到不同高電位的值,在此選用4.7k電阻作為上拉電阻 。比較器的各輸入輸出口所接元器件的參數(shù)如上圖所示,沒有接觸水的時候,7端的電位比6端的電位要高,此時1端為高電平;當(dāng)in1 和in2接觸到水的時候,由于水的阻值與r4的阻值相仿,二者并聯(lián)阻值變小,迫使7端的電位下降,此時7端的電位比6端的電位要低,1端輸出低電平,由此可作為單片機的輸入口觸發(fā)信號,從而檢測水位。號電壓。當(dāng)“+”端電壓高于“-”端時,輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓進(jìn)出水
13、控制模塊電路圖如圖所示,單片機p0.4,p0.5,p2.5分別控制達(dá)林頓管(ltip-127,pnp型三極管(低電平導(dǎo)通)的導(dǎo)通與截止,從而控制繼電器吸合與釋放。進(jìn)出水電磁閥是采用交流電220v的洗衣機進(jìn)水電磁閥,在實際安裝中,出水電磁閥由于水壓不夠無法出水,于是我們對電磁閥內(nèi)部結(jié)構(gòu)加以改造,把鐵芯加長,膠塞做成小圓片, 削低封底,經(jīng)過改造,這一出水電磁閥已可以使用。當(dāng)排水時,單片機p0.5輸出一個低電平,達(dá)林頓管導(dǎo)通,繼電器吸合,電磁閥打開,水從電磁閥流出。同理,當(dāng)p0.4口輸出低電平時,進(jìn)水電磁閥打開。我們之所以選擇用達(dá)林頓管tip-127,一是他的耐壓很高,而且有高增益,響應(yīng)快等特點。當(dāng)
14、復(fù)位單片機時,各引腳為高電平,為了防止誤動作,所以要采用低電平導(dǎo)通的pnp型達(dá)林頓管,而tip-127正好符合了設(shè)計要求,故選擇其作為控制繼電器電磁閥的“開關(guān)”,弱電控制強電,最簡單、方便的就是采用繼電器,所以控制電路中采用了四個繼電器。洗衣粉放置裝置洗衣粉放置裝置采用了經(jīng)過改裝之后的12v水泵做成,洗衣粉進(jìn)入水泵內(nèi)部時,由電機葉扇甩出,經(jīng)l293d一路電機的控制轉(zhuǎn)速和時間,從而確定投放洗衣粉的量。自動投放的原理是根據(jù)衣物的重量,控制投放洗衣粉的量,重量的檢測是根據(jù)轉(zhuǎn)動定理估算出來的,進(jìn)水到低水位攪動電機開始轉(zhuǎn)動3秒,到轉(zhuǎn)速平穩(wěn)后,打開計數(shù)器,計算相隔2秒間0.2秒內(nèi)電機轉(zhuǎn)動的周數(shù)t1,t2后
15、,計算得2秒前后的角速度 2/(0.2/t1), 2/(0.2/t2),進(jìn)而計算得2秒內(nèi)的平均角加速度=(2/(0.2/t1)- 2/(0.2/t2)/2=(t1-t2)/0.2圓柱的轉(zhuǎn)動慣量為j=mr2/2,r為模擬容器的半徑,設(shè)摩擦力矩參數(shù)為k,則k=j=m r2(t1-t2)/0.4如果r的單位為cm,則m=4000k/(t1-t2)r2衣物的質(zhì)量為zl=m-mo,水調(diào)節(jié)k的大小,以抵消m0,zl=m.根據(jù)zl的大小。判斷洗衣次數(shù),循環(huán)次數(shù),水位和洗衣粉的量;采用模糊控制的方法;分四個等級,即小于300,300500,500700,7001000。大于1000則停止洗衣,即洗衣粉量范圍為
16、01000.以上由程序自動完成,計數(shù)用at89s52的t2計數(shù),傳感器為霍爾傳感器,采用中斷方式計數(shù),具體見程序部分。液晶顯示模塊lcm模塊lcm采用中文lcm(ts-12864a-3),可以顯示4*8共32個漢字,采用中文lcm既方便又不占用單片機的內(nèi)存,液晶顯示器的引腳如下圖:lcm接口 11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20psbgnderwrs+5vgndrr+5v+5 鍵盤部分:鍵盤原理圖如圖所示,當(dāng)鍵盤0按下的時候,out端接有上拉電阻的單片機i/o接口,二級管導(dǎo)通,相應(yīng)的二進(jìn)制碼為0000;當(dāng)按下鍵盤1的時候,相應(yīng)的
17、二進(jìn)制碼為0001;其他以此類推。1234123456789abcde0鍵盤原理圖out操作說明:按鍵排布(下圖):操作說明:打開總電源,設(shè)定模式(采用“浸泡”或者“預(yù)約”,先設(shè)置當(dāng)前時間),然后選擇“水位”,“洗衣次數(shù)”,“循環(huán)次數(shù)”,”洗衣強度”。完成設(shè)定后按下“啟動”,則進(jìn)入洗衣狀態(tài)(若進(jìn)入“浸泡”或者“預(yù)約”模式只需按下“運行”即可)。鍵盤功能鍵說明 水位:按下水位鍵,顯示水位“高”“中”“低”三個水位檔,默認(rèn)水位為“低”,即低水位。 時間:開機時,按“時”則液晶屏上的“時”位增加增加1.按“分”,則分加1,加到“60”時返回“0”,設(shè)默認(rèn)時間為00:00:00。浸泡:開機時,按“時”
18、則液晶屏上的“時”位增加增加1.按“分”,則分加1,加到“60”時返回“0”,設(shè)置浸泡時間后,同時液晶顯示屏顯示“浸泡”,按下“運行時間”系統(tǒng)按設(shè)定的水位自動進(jìn)水后,停止,直到浸泡時間結(jié)束后自動洗衣。預(yù)約:開機時,按“時”則液晶屏上的“時”位增加增加1.按“分”,則分加1,加到“60”時返回“0”,設(shè)定預(yù)約時間,同時同時液晶顯示屏顯示“預(yù)約”,當(dāng)?shù)竭_(dá)預(yù)約時間后自動進(jìn)水洗衣。 洗衣次數(shù):每按一次,次數(shù)加1,在1-5次循環(huán),初始值為“0”。 循環(huán)次數(shù):每按一次,循環(huán)次數(shù)加1,在1-9次間循環(huán),初始值為“0”。 運行時間:用于開始計時。 模式選擇: 手動 :用戶自己設(shè)定水位,洗衣次數(shù)循環(huán)次數(shù),洗衣強
19、度。自動: 設(shè)為自動模式后,按下“啟動”系統(tǒng)自動測定衣物量,自動設(shè)置水位,洗衣次數(shù),循環(huán)次數(shù),洗衣強度,然后自動運行。標(biāo)準(zhǔn): 系統(tǒng)設(shè)置一般的洗衣方式:水位為“中”,洗衣次數(shù)為“3”循環(huán)次數(shù)為“3”,洗衣強度為“中”,轉(zhuǎn)速脈寬為70%。特效: 系統(tǒng)設(shè)定了特殊參數(shù):水位“中”,洗衣次數(shù)為“3”,水位為“中”,循環(huán)次數(shù)為“3”,洗衣強度為“高”,脈寬為100%。 復(fù)位: 復(fù)位系統(tǒng)后,所有的參數(shù)歸為初始化狀態(tài)。 洗衣強度: 有“高”“中”“低”三種選擇,脈寬分別為100%,60%,30%。 電磁閥開關(guān): 初始時,電磁閥的狀態(tài)為開,若長按此鍵5秒以上,則為關(guān),并進(jìn)入低功耗模式??偨Y(jié): 從4月20日題目公
20、布開始,我們組馬上討論參賽題目,根據(jù)我們組里面?zhèn)€人的專長,綜合各方面的情況,最終決定制作洗衣機模型。并在當(dāng)天確定了我們上述我們所確定的技術(shù)指標(biāo)。在我們隊制作的過程中,有時候為了解決一個難題我們會熬夜到很晚!我們這個隊伍也是剛剛成立的,經(jīng)過這個月的磨合,我們懂得了團(tuán)隊之間的合作,同心協(xié)力完成我們的作品!這是我們這個月來的共同目標(biāo)!這個洗衣機模型,凝集了我們的汗水!在制作成功之后,我們感到十分的欣慰與自豪。不管結(jié)果怎么樣,我們努力過了,同時我們對我們的作品也充滿了信心!這個洗衣機模型最大的特點是模塊化設(shè)計!這樣大大提高了制作的成功率以及降低了調(diào)試的難度。在最終的整合過程中經(jīng)過反復(fù)的考慮,將主控系統(tǒng)
21、整合成了一個大模塊,使得我們的洗衣機模型體積小巧而功能強大。在題目基本要球的基礎(chǔ)上。我們所設(shè)想的各項功能,雖然金屬探測和溫度加熱模塊由于各種原因沒能在我們的模型中體現(xiàn)出來,但是我們的洗衣機已經(jīng)擁有了足夠強大的功能擁有了一定的智能化!這也是社會發(fā)展的方向。我們還考慮到了能源的節(jié)約!這是我們組最大的優(yōu)勢所在!當(dāng)然,我們的作品也會存在一定的問題,我們發(fā)現(xiàn)的問題是比電源的散熱的問題,還有模型的排水系統(tǒng)排水不太完全。當(dāng)然還會有別的以我們的角度想不到的問題,希望評委們指出,我們將會認(rèn)真聽取評委們的意見,在以后設(shè)計過程中加以改進(jìn)。討論:在設(shè)計這個洗衣機模型的時候,我們也在考慮洗衣機未來的發(fā)展方向就是由現(xiàn)在的
22、機械化向智能化發(fā)展。而在洗衣機真正到達(dá)真正的智能化之前,首先要達(dá)到我就是人性化和自動化。目前的洗衣機已經(jīng)能夠初步達(dá)到自動化的階段了,我們的洗衣機模型也初步達(dá)到了自動化。但是要向智能化發(fā)展還需要很長的時間!我們提出了一個設(shè)想就把手機和洗衣機終端聯(lián)系在一起,讓洗衣機能夠接受機主所發(fā)來的特定信息,然后根據(jù)指令控制洗衣機的運行,這是我們希望的洗衣機的所能達(dá)到的下一個目標(biāo)。當(dāng)然,還有很多別的設(shè)想,希望大家能夠發(fā)揮自己的想象。讓我們的生活更加精彩!程序流程圖:開始初始化顯示0設(shè)置模式設(shè)定參數(shù)浸泡?啟動運行?設(shè)定參數(shù)、定時時間到?進(jìn)水自動模式?預(yù)約?計時設(shè)定參數(shù)運行?時間到?計時特效自動nynyyn手動nn
23、y 標(biāo)準(zhǔn)ny到達(dá)預(yù)定水位?進(jìn)水達(dá)到循環(huán)次數(shù)控制電機正傳8s,停頓2s反轉(zhuǎn)3s,停3s排水完畢?5次蜂鳴顯示次數(shù)排水顯示次數(shù)脫水 正轉(zhuǎn)10s 停2s 正轉(zhuǎn)10snyny到達(dá)循環(huán)次數(shù)到達(dá)重復(fù)次數(shù)顯示最終循環(huán)次數(shù)重復(fù)次數(shù)延時10秒,完畢nyn yny程序部分:#include reg52.h#include intrins.h#include math.h#define uchar unsigned char#define uint unsigned int#define dataport p1/定義lcm數(shù)據(jù)口-/*定義各按鍵的宏*/#define shws p2&0x0f#define cish
24、s p2&0x0f#define xhs p2&0x0f#define qd p2&0x0f#define seth p2&0x0f#define setm p2&0x0f#define jph p2&0x0f#define jpm p2&0x0f#define timrun p2&0x0f#define yuh p2&0x0f#define yum p2&0x0f#define zhsu p2&0x0f#define mode p2&0x0f-#define r 8/模擬洗衣桶半徑8cm#define k 1000 /摩擦力矩系數(shù)-/*各種顯示狀態(tài)的字符*/uchar code str0=時
25、間:;uchar strz=0,0;uchar str1=0,0,:,0,0,:,0,0,-,-;uchar jinpao=0,0,-,0,0,-,0,0,-,-;uchar code str2=水位.洗衣強度;uchar code str3=重復(fù).次循環(huán).次;uchar code d=模式:手動準(zhǔn)備;uchar code shoud=手動;uchar code zid=自動;uchar code biaozh=標(biāo)準(zhǔn);uchar code tex=特效;uchar code zhsu1=弱;uchar code zhsu2=中;uchar code zhsu3=強;uchar code shw
26、1=低;uchar code shw2=中;uchar code shw3=高;uchar code zhtaixi=洗衣;uchar code zhtaij=進(jìn)水;uchar code zhtait=脫水;uchar code zhtaip=排水;uchar code zhtaiw=完成;uchar code yuyuez=預(yù)約:;uchar code jinpaoz=浸泡:;-sbit rs=p30;/lcm寄存器腳sbit rw=p36;/lcm讀寫控制端sbit e=p37;/lcm使能端sbit pwm=p27;/主電機pwm控制端sbit pwm2=p26;/洗衣粉電機pwm控制端
27、sbit mr=p06;/電機轉(zhuǎn)向控制端sbit ml=p07;/電機轉(zhuǎn)向控制端sbit jsh=p04;/進(jìn)水控制端sbit chsh=p05;/出水控制端sbit bz=p31;/蜂鳴器sbit shw0=p00;/水位0sbit she1=p01;/水位1sbit shw2=p02;/水位2sbit shw3=p03;/水位3sbit power=p25;/電磁閥電源控制端uchar md=1;/模式標(biāo)記uchar shw_c=1,cish=0,xh=0;/水位、洗衣次數(shù)、循環(huán)次數(shù)標(biāo)記uchar hour=0;/時間的時uchar minite=0;/時間的分uchar second=0
28、;/時間的秒uchar count=20;/計數(shù)標(biāo)記uchar f=0;/時間、浸泡、預(yù)約間隔時間計數(shù)標(biāo)記uchar h=0;/浸泡、預(yù)約時uchar m=1;/浸泡、預(yù)約分uchar s=1;/浸泡、預(yù)約秒uchar t=0;/電磁閥開關(guān)延時標(biāo)記uchar flag=0x00;/狀態(tài)標(biāo)記uchar zhs=1;/轉(zhuǎn)速標(biāo)記uchar q=60;/轉(zhuǎn)速強度標(biāo)記,pwm默認(rèn)位60%uint freq=0;/儲存計數(shù)寄存器變量1uint cun=0;/儲存計數(shù)寄存器變量2uchar c=0;/計數(shù)間隔變量sfr16 dptr=0x82;/16位計數(shù)寄存器地址uint zl=0;/衣物質(zhì)量變量-*-v
29、oid delay0_5ms(uint x)/0.5s延時函數(shù)uint i,j;for(i=0;ix;i+)for(j=0;j60;j+);void delay1s(uint x)/1s延時函數(shù) uint i,j;for(i=0;ix;i+)for(j=0;j100;j+)delay0_5ms(20);void clokinit(void)/定時初始化ie=0x8b;tcon=0x00;tmod=0x51;pcon=0x00;th0=(65536-50000)/256;tl0=(65536-50000)%256;tr0=0;void checkbf(void)/檢忙函數(shù)dataport=0xf
30、f;rs=0;rw=1;_nop_();e=1;_nop_(); _nop_();while(dataport&0x80);e=0;void writecmd(uchar cmd,uchar attribc)/lcm寫入指令函數(shù)if(attribc)checkbf();rs=0;rw=0;_nop_();dataport=cmd;_nop_(); _nop_();e=1;_nop_(); _nop_();e=0;void writedata(uchar dat)/lcm寫入數(shù)據(jù)函數(shù)rs=1;rw=0;_nop_();dataport=dat;_nop_(); _nop_(); e=1;_nop
31、_(); _nop_();e=0;void initlcd(void)/lcm初始化函數(shù)writecmd(0x38,1);_nop_();writecmd(0x08,1);_nop_();writecmd(0x01,1);_nop_();writecmd(0x06,1);_nop_();writecmd(0x0c,1);_nop_();void setposition(uchar x,uchar y)/lcm顯示位置函數(shù)uchar p;switch(x)case 3:p=0x80;break;case 1:p=0x90;break;case 2:p=0x88;break;case 0:p=0x
32、98;break;case 4:p=0x9b;break;case 5:p=0x97;break;case 6:p=0x92;break;case 7:p=0x8a;break;case 8:p=0x8e;break; case 9:p=0x86;break;case 10:p=0x83;break;p+=y;writecmd(p,1);void display(uchar *str)/lcm顯示函數(shù)uchar i=0;while(stri!=0)writedata(stri+);void init(void)/系統(tǒng)初始化uint i;p0=0x3f;p1=0xff;p2=0x3f;power
33、=0;p3=0xff;flag=0x00;delay0_5ms(1000);initlcd();setposition(0,0);display(str0);setposition(4,0);display(str1);setposition(1,0);display(str2);setposition(2,0);display(str3);setposition(3,0);display(d);setposition(5,0);display(zhsu1);cish=0,xh=0;for(i=0;i30;i+)setposition(7,0);writedata(cish+0x30);del
34、ay0_5ms(2);setposition(8,0);writedata(xh+0x30);clokinit();void jinpaoset(void)/浸泡設(shè)置函數(shù)if(jph)=0x06)delay0_5ms(600);h+;if(h=24)h=0;flag=0x01;flag=0x01;jinpao0=h/10+0x30;jinpao1=h%10+0x30;setposition(0,0);display(jinpaoz);setposition(4,0);display(jinpao);if(jpm)=0x05)delay0_5ms(600);m+;if(m=60)m=0;flag
35、=0x01;flag=0x01;jinpao3=m/10+0x30;jinpao4=m%10+0x30;setposition(0,0);display(jinpaoz);setposition(4,0);display(jinpao);void yuyueset(void)/預(yù)約設(shè)置函數(shù)if(yuh)=0x0a)delay0_5ms(600);h+;if(h=24)h=0;flag=0x02;flag=0x02;jinpao0=h/10+0x30;jinpao1=h%10+0x30;setposition(0,0);display(yuyuez);setposition(4,0);displ
36、ay(jinpao);if(yum)=0x09)delay0_5ms(600);m+;if(m=60)m=0;flag=0x02;flag=0x02;jinpao3=m/10+0x30;jinpao4=m%10+0x30;setposition(0,0);display(yuyuez);setposition(4,0);display(jinpao);void sett(void)/時間設(shè)置函數(shù)if(seth)=0x02) delay0_5ms(600);tr0=0;hour+;if(hour=24)hour=0;setposition(0,0);display(str0);str10=hou
37、r/10+0x30;str11=hour%10+0x30; setposition(4,0);display(str1);if(setm)=0x01) delay0_5ms(600);tr0=0;minite+;if(minite=60)minite=0;setposition(0,0);display(str0);str13=minite/10+0x30;str14=minite%10+0x30;setposition(4,0);display(str1);void zhuanshuset(void)/轉(zhuǎn)速設(shè)置函數(shù)if(zhsu)=0x0b)delay0_5ms(600);zhs+;if(z
38、hs=4)zhs=1;switch(zhs)case 1:setposition(5,0);display(zhsu1);q=30;break;case 2:setposition(5,0);display(zhsu2);q=60;break;case 3:setposition(5,0);display(zhsu3);q=100;break; void modset(void)/模式設(shè)置函數(shù)if(mode)=0x07)delay0_5ms(600);md+;if(md=5)md=1;switch(md)case 1:setposition(10,0);display(shoud);flag=
39、0x03;break;case 2:setposition(10,0);display(zid);flag=0x04;break;case 3:setposition(10,0);display(biaozh);flag=0x05;shw_c=2;cish=3;xh=3;zhs=2;q=70;break;case 4:setposition(10,0);display(tex);flag=0x06;shw_c=2;cish=3;xh=4;zhs=3;q=100;break; void shuiweiset(void)/水位設(shè)置函數(shù)if(shws)=0x00)delay0_5ms(600);sh
40、w_c+;if(shw_c=4)shw_c=1;switch(shw_c)case 1:setposition(6,0);display(shw1);break;case 2:setposition(6,0);display(shw2);break;case 3:setposition(6,0);display(shw3);break; void cishuset(void)/洗衣次數(shù)設(shè)置函數(shù)uchar i;if(cishs)=0x0e)delay0_5ms(600);cish+;if(cish=6)cish=1;strz0=cish+0x30;for(i=0;i40;i+)setpositi
41、on(7,0);display(strz);setposition(7,0);display(strz); void xhset(void)/循環(huán)次數(shù)函數(shù)uchar i;if(xhs)=0x0d)delay0_5ms(600);xh+;if(xh=10)xh=1;strz0=xh+0x30; for(i=0;i40;i+)setposition(8,0);display(strz);setposition(8,0);display(strz); void zhengzhuan(uint t,uint q)/電機正轉(zhuǎn)uint i,j;mr=1;ml=0;for(i=0;it;i+)for(j=0
42、;j20;j+)pwm=1;delay0_5ms(q);pwm=0;delay0_5ms(100-q); void fanzhuan(uint t,uint q)/電機反轉(zhuǎn)uint i,j;mr=0;ml=1;for(i=0;it;i+)for(j=0;j20;j+)pwm=1;delay0_5ms(q);pwm=0;delay0_5ms(100-q);void xiyifen(void)/洗衣粉投放函數(shù)if(zl200)mr=0;ml=1;q=100;pwm2=1;delay0_5ms(3000);pwm2=0;shw_c=1,cish=2,xh=2;q=40;else if(zl400)m
43、r=0;ml=1;q=100;pwm2=1;delay0_5ms(5000);pwm2=0;shw_c=1,cish=2,xh=4;q=60;else if(zl600)mr=0;ml=1;q=100;pwm2=1;delay0_5ms(7000);pwm2=0;shw_c=2,cish=3,xh=3;q=80;else if(zl900)mr=0;ml=1;q=100;pwm2=1;delay0_5ms(10000);pwm2=0;shw_c=3,cish=4,xh=4;q=100;else pwm2=0;void zidong(void)/自動函數(shù)while(p0&0x0f)!= (16-pow(2,2)jsh=0;jsh=1;delay1s(1);th1=0;tl1=0;zhengzhuan(3,100);pwm=0;tr1=1;flag=0x06;delay1s(2);zl=(uint)(400
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年普通話考試目標(biāo)定位試題及答案
- 2024年育嬰師技能考核標(biāo)準(zhǔn)試題及答案
- 內(nèi)部審計工作的總結(jié)與改進(jìn)計劃
- 行業(yè)案例分析的學(xué)習(xí)與總結(jié)計劃
- 急診績效評估指標(biāo)體系計劃
- 會計制度與流程優(yōu)化建議計劃
- 成果展示與匯報計劃
- 消防設(shè)施操作員考試問題集試題及答案
- 探索智慧辦公的未來發(fā)展計劃
- 設(shè)計個人會計工作計劃的關(guān)鍵步驟
- 物流員工的入職培訓(xùn)
- 華為商務(wù)禮儀課件內(nèi)部
- 絨毛膜羊膜炎疾病演示課件
- 分泌性中耳炎護(hù)理查房 課件
- ??等四樧ヅ南到y(tǒng)方案
- GB/T 43441.1-2023信息技術(shù)數(shù)字孿生第1部分:通用要求
- 初中語文作業(yè)設(shè)計研究
- 大學(xué)生心理健康教育(日照職業(yè)技術(shù)學(xué)院)智慧樹知到課后章節(jié)答案2023年下日照職業(yè)技術(shù)學(xué)院
- 第13章 實戰(zhàn)案例-鉆石數(shù)據(jù)分析與預(yù)測
- 【課件】有機化合物的同分異構(gòu)體的書寫方法課件高二化學(xué)人教版(2019)選擇性必修3
- 劉禹錫浪淘沙九首賞析
評論
0/150
提交評論