版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2009全國電子設計大賽廣西區(qū)初賽論文洗衣機控制模型作者:時間:2009年5月 目錄引言整體結構設計電源模塊主控單元模塊水位檢測模塊進出水控制模塊洗衣粉投放模塊液晶顯示模塊鍵盤模塊操作說明總結討論程序流程圖程序引言技術愿景:在拿到題目之后,我們設想了我們組的洗衣機所要達到的技術指標。 1.能達到洗衣機模型所具有的基本功能:能夠基本顯示各種洗衣狀態(tài)。能夠識別進水量,并將信息反饋到單片機上。通過單片機控制進水及進水量、電機正反轉時間、出水、甩干等各項功能。2.拓展功能:基本顯示設備為液晶顯示器。用水位傳感器監(jiān)測水位,并將水位信息傳遞到單片機上,并顯示在液晶屏上。在洗衣機中增加水溫傳感器和水溫加熱器
2、。通過單片機控制加熱水溫來達到最適溫度。以提高洗衣效率。在進衣口增加金屬傳感器,在衣物有鑰匙手表之類的金屬時能夠及時發(fā)出警報。增設壓力傳感器來自動檢測衣物的重力來推斷進衣量的多少,進行全自動智能洗衣。設置人性化的洗衣模式,例如:標準模式、手動模式、特效模式、和自動模式。能夠在不降低洗衣機性能的基礎上盡量節(jié)約能源。.發(fā)展方向:在初步實現(xiàn)自動化之后能夠和手機鏈接,通過短信來控制洗衣機的工作,真正達到全自動的理念。在設計過程中。我們以以上的技術指標來設計我們的洗衣機模型。在設計過程中也碰到了一些問題。首先是水位傳感器。我們購買的水位傳感器是壓力型的傳感器,需要在密封的條件下使用,考慮到我們的洗衣機模
3、型無法達到傳感器的使用條件最后我們采用了比較器來代替水位傳感器。在金屬探測方面,激光金屬傳感器能夠達到我們的設計要求,但是考慮到成本的問題,拋棄了原來的設計,在這個洗衣機模型中沒有實現(xiàn)金屬探測報警的功能。而由于模型體積的限制,增設的水溫加熱功能在模型中也沒能夠實現(xiàn)。這是設計中所出現(xiàn)的問題。最后我們的設計,初步完成了本洗衣機模型。本作品除了具有題目所要求的基本功能的基礎上,增設了三項功能:第一項是在顯示部分上增設了“浸泡”“預約”“洗衣時間”的功能的設置,這讓洗衣機能夠更人性化的執(zhí)行各種洗衣機的功能。此外,在題目所要求的功能之外,我們還增設了各種洗衣模式的設置,例如“手動”,“自動”,“ 標準”
4、,“特效”等功能,能夠根據(jù)各種情況選擇最佳的洗衣模式,達到提高洗衣的效率。最有特色的是自動模式,它能根據(jù)衣物的多少(根據(jù)重量測定)計算,然后利用模糊算法來計算出洗衣次數(shù),循環(huán)次數(shù),水位,轉速。并自動的加入適當?shù)南匆路邸崿F(xiàn)了在全程的自動化,初步實現(xiàn)了具有初步智能的“智能”洗衣機。在節(jié)能方面,我們選擇了mcu的閑置節(jié)能方式,在不用洗衣機的或者洗衣機處于等待階段的時候能降低功耗。洗衣機模型的所有參數(shù)、狀態(tài)、模式全部采用lcm液晶顯示器顯示,將洗衣機的即時信息顯示出來。整個作品分為兩大部分,分別是主控系統(tǒng)和模擬洗衣機的機體部分。通過緊湊的連接,組成了我們的洗衣模型。一、整體結構設計主控系統(tǒng)采用雙層結
5、構,各層間用銅柱支撐和連接。上方是鍵盤,電源,和lcm模塊,進出水控制模塊(如圖所示)其中l(wèi)cm液晶顯示器傾斜位于前方以便觀察和控制。鍵盤左邊是電源開關,右上角是總電源指示燈和電磁閥電源指示燈,lcm模塊的右下角是lcm模塊的電源開關,可以控制顯示屏的開關。模擬容器采用了符合題目要求的兩升容器。主電機安裝在瓶蓋上。由于沒能找到轉軸足夠長的電機,我們采用一般的筆芯做為電機的外部轉軸,為了解決電機轉動過程中的晃動問題,我們做了個支架,解決了電機轉動時振動過大的問題。此外,我們還在適當?shù)牡胤?上 圖:箱體構造增加了轉輪,在離蓋子附近位置安裝了直徑4厘米的塑料圓盤,在圓盤上放置了一塊小磁鐵,在磁鐵轉動
6、軌跡的正下方安放了一個霍爾開關,用于計數(shù),用于測量轉速。在容器的上下部分別安裝了能夠分別控制進出水的兩個電磁閥。并在機體的側面增加了直徑為7毫米的連通管。其水位與機體內部實際的水位一致。并且在連通管中加入了用比較器做成的水位檢測電極。我們設立了四個水位在狀態(tài),分別是“無水”“低水位”“中水位”“高水位”模擬容器上方的小容器為洗衣粉放置裝置,通過裝置下方的電機轉動,運用葉扇把洗衣粉甩入模擬容器。用單片機控制葉扇轉動的時間和轉速來實現(xiàn)定量投放洗衣粉的目的。二、主控單元模塊電磁閥電源指示燈 上圖:主控單元模型在主控單元中主控芯片的選擇上,由于考慮到程序會比較大,我們暫時接觸到的單片機已經(jīng)無法滿足要求
7、,綜合各方面的因素,我們最終采用的是at89s52(可存16k的程序)。在主控單元中,89s52的外圍芯片有l(wèi)293d,74ls14,lm393.其中l(wèi)293d為電機驅動芯片,其內部繼承了2個雙極型h橋電路,可以同時控制兩路電機??刂?a(1b)和2a(2b ),可以控制電機的轉向,10正轉,01反轉,使能端en1(en2)可用于脈寬調節(jié)(pwm),調節(jié)pwm的占空比可以方便的調節(jié)電機的轉速。 通過單片機的p0.6和p0.7經(jīng)過反相器74ls14接到1a(1b)、2a(2b)引腳,p2.6口和p2.7口控制en1和en2,以調節(jié)兩路電機的轉速,本設計中兩電機轉向控制共用兩個引用腳,同時控制兩電
8、機的轉向,通過pwm(en1),pwm(en2)的控制,又可以選擇電機和控制轉速,僅使用了4個i/o口,優(yōu)于原來采用的6線,節(jié)約了i/o口。l293d峰值輸出電流為1.2a,連續(xù)輸出電流為600ma,電壓為12v,是作為本模型比較合適的器件。上圖:主控單元原理圖上圖:主控單元pcb圖控制系統(tǒng)單元電路圖如圖所示,在設計電路圖和轉成pcb圖時,最初采用單面布線,但是由于連線比較復雜最終采用了雙層布線的結構,同時也增加了焊接和調試的難度,但是綜合各方面的因素,最終我們采用了雙層布線結構。最后,經(jīng)過調試,全板的控制線路完全正常,在采用控制單元整合之前,各個功能小模塊用實驗的方法一一檢測,如水位監(jiān)測,電
9、機轉向轉速蜂鳴器等模塊的調試成功后,再整合成一塊板子。因此,這塊控制電路是經(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進水電磁閥出水電磁閥控制
10、1a、1a2a、2bpwm 電機轉速電磁閥電源控制鍵盤輸入口e rwpwm2 投放衣粉轉速lcm數(shù)據(jù)傳輸端rs蜂鳴器中斷霍爾計數(shù)1.電源模塊上圖:電源pcb圖電源pcb如圖所示,在電源設計時,我們組曾經(jīng)考慮過采用穩(wěn)定的開關電源。但是在之后的設計過程中發(fā)現(xiàn)。模型的各部分對電源的穩(wěn)定性要求不高。為了精簡模塊,我們最終采用了普通的電源模式。采用變壓器將家用220交流電壓轉成15的交流電壓。通過的整流堆整流后,再通過7812,7912和7805來實現(xiàn)12v、正負12和電壓的輸出。并在各穩(wěn)壓管上增加鋁制散熱片來加快穩(wěn)壓管的散熱,以增加電源的使用壽命和使用安全。在電源上我上圖:電源電路圖們設置了較多的電源
11、接口,以方便了設計過程中的各種實驗的需要。比較器(水位檢測) lm339集成塊內部裝有四個獨立的電壓比較器,每個比較器有兩個輸入端和一個輸出端。兩個輸入端一個稱為同相輸入端,用“+”表示,另一個稱為反相輸入端,用“-”表示。用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓,另一端加一個待比較的r1 10k10kr3 15kr4 16k123167r5 4.7k+5voutin1in2r2比較器原理圖信號高于“+”端時,輸出管飽和,相當于輸出端接低電位。兩個輸入端電壓差別大于10mv就能確保輸出能從一種狀態(tài)可靠地轉換到另一種狀態(tài),因此,選用lm339用在通過檢測水的電阻而檢測水的有無比
12、較理想(如圖1)。lm339的輸出端相當于一只不接集電極電阻的晶體三極管,在使用時輸出端到正電源一般須接一只上拉電阻。選不同阻值的上拉電阻輸 出端得到不同高電位的值,在此選用4.7k電阻作為上拉電阻 。比較器的各輸入輸出口所接元器件的參數(shù)如上圖所示,沒有接觸水的時候,7端的電位比6端的電位要高,此時1端為高電平;當in1 和in2接觸到水的時候,由于水的阻值與r4的阻值相仿,二者并聯(lián)阻值變小,迫使7端的電位下降,此時7端的電位比6端的電位要低,1端輸出低電平,由此可作為單片機的輸入口觸發(fā)信號,從而檢測水位。號電壓。當“+”端電壓高于“-”端時,輸出管截止,相當于輸出端開路。當“-”端電壓進出水
13、控制模塊電路圖如圖所示,單片機p0.4,p0.5,p2.5分別控制達林頓管(ltip-127,pnp型三極管(低電平導通)的導通與截止,從而控制繼電器吸合與釋放。進出水電磁閥是采用交流電220v的洗衣機進水電磁閥,在實際安裝中,出水電磁閥由于水壓不夠無法出水,于是我們對電磁閥內部結構加以改造,把鐵芯加長,膠塞做成小圓片, 削低封底,經(jīng)過改造,這一出水電磁閥已可以使用。當排水時,單片機p0.5輸出一個低電平,達林頓管導通,繼電器吸合,電磁閥打開,水從電磁閥流出。同理,當p0.4口輸出低電平時,進水電磁閥打開。我們之所以選擇用達林頓管tip-127,一是他的耐壓很高,而且有高增益,響應快等特點。當
14、復位單片機時,各引腳為高電平,為了防止誤動作,所以要采用低電平導通的pnp型達林頓管,而tip-127正好符合了設計要求,故選擇其作為控制繼電器電磁閥的“開關”,弱電控制強電,最簡單、方便的就是采用繼電器,所以控制電路中采用了四個繼電器。洗衣粉放置裝置洗衣粉放置裝置采用了經(jīng)過改裝之后的12v水泵做成,洗衣粉進入水泵內部時,由電機葉扇甩出,經(jīng)l293d一路電機的控制轉速和時間,從而確定投放洗衣粉的量。自動投放的原理是根據(jù)衣物的重量,控制投放洗衣粉的量,重量的檢測是根據(jù)轉動定理估算出來的,進水到低水位攪動電機開始轉動3秒,到轉速平穩(wěn)后,打開計數(shù)器,計算相隔2秒間0.2秒內電機轉動的周數(shù)t1,t2后
15、,計算得2秒前后的角速度 2/(0.2/t1), 2/(0.2/t2),進而計算得2秒內的平均角加速度=(2/(0.2/t1)- 2/(0.2/t2)/2=(t1-t2)/0.2圓柱的轉動慣量為j=mr2/2,r為模擬容器的半徑,設摩擦力矩參數(shù)為k,則k=j=m r2(t1-t2)/0.4如果r的單位為cm,則m=4000k/(t1-t2)r2衣物的質量為zl=m-mo,水調節(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既方便又不占用單片機的內存,液晶顯示器的引腳如下圖:lcm接口 11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20psbgnderwrs+5vgndrr+5v+5 鍵盤部分:鍵盤原理圖如圖所示,當鍵盤0按下的時候,out端接有上拉電阻的單片機i/o接口,二級管導通,相應的二進制碼為0000;當按下鍵盤1的時候,相應的
17、二進制碼為0001;其他以此類推。1234123456789abcde0鍵盤原理圖out操作說明:按鍵排布(下圖):操作說明:打開總電源,設定模式(采用“浸泡”或者“預約”,先設置當前時間),然后選擇“水位”,“洗衣次數(shù)”,“循環(huán)次數(shù)”,”洗衣強度”。完成設定后按下“啟動”,則進入洗衣狀態(tài)(若進入“浸泡”或者“預約”模式只需按下“運行”即可)。鍵盤功能鍵說明 水位:按下水位鍵,顯示水位“高”“中”“低”三個水位檔,默認水位為“低”,即低水位。 時間:開機時,按“時”則液晶屏上的“時”位增加增加1.按“分”,則分加1,加到“60”時返回“0”,設默認時間為00:00:00。浸泡:開機時,按“時”
18、則液晶屏上的“時”位增加增加1.按“分”,則分加1,加到“60”時返回“0”,設置浸泡時間后,同時液晶顯示屏顯示“浸泡”,按下“運行時間”系統(tǒng)按設定的水位自動進水后,停止,直到浸泡時間結束后自動洗衣。預約:開機時,按“時”則液晶屏上的“時”位增加增加1.按“分”,則分加1,加到“60”時返回“0”,設定預約時間,同時同時液晶顯示屏顯示“預約”,當?shù)竭_預約時間后自動進水洗衣。 洗衣次數(shù):每按一次,次數(shù)加1,在1-5次循環(huán),初始值為“0”。 循環(huán)次數(shù):每按一次,循環(huán)次數(shù)加1,在1-9次間循環(huán),初始值為“0”。 運行時間:用于開始計時。 模式選擇: 手動 :用戶自己設定水位,洗衣次數(shù)循環(huán)次數(shù),洗衣強
19、度。自動: 設為自動模式后,按下“啟動”系統(tǒng)自動測定衣物量,自動設置水位,洗衣次數(shù),循環(huán)次數(shù),洗衣強度,然后自動運行。標準: 系統(tǒng)設置一般的洗衣方式:水位為“中”,洗衣次數(shù)為“3”循環(huán)次數(shù)為“3”,洗衣強度為“中”,轉速脈寬為70%。特效: 系統(tǒng)設定了特殊參數(shù):水位“中”,洗衣次數(shù)為“3”,水位為“中”,循環(huán)次數(shù)為“3”,洗衣強度為“高”,脈寬為100%。 復位: 復位系統(tǒng)后,所有的參數(shù)歸為初始化狀態(tài)。 洗衣強度: 有“高”“中”“低”三種選擇,脈寬分別為100%,60%,30%。 電磁閥開關: 初始時,電磁閥的狀態(tài)為開,若長按此鍵5秒以上,則為關,并進入低功耗模式??偨Y: 從4月20日題目公
20、布開始,我們組馬上討論參賽題目,根據(jù)我們組里面?zhèn)€人的專長,綜合各方面的情況,最終決定制作洗衣機模型。并在當天確定了我們上述我們所確定的技術指標。在我們隊制作的過程中,有時候為了解決一個難題我們會熬夜到很晚!我們這個隊伍也是剛剛成立的,經(jīng)過這個月的磨合,我們懂得了團隊之間的合作,同心協(xié)力完成我們的作品!這是我們這個月來的共同目標!這個洗衣機模型,凝集了我們的汗水!在制作成功之后,我們感到十分的欣慰與自豪。不管結果怎么樣,我們努力過了,同時我們對我們的作品也充滿了信心!這個洗衣機模型最大的特點是模塊化設計!這樣大大提高了制作的成功率以及降低了調試的難度。在最終的整合過程中經(jīng)過反復的考慮,將主控系統(tǒng)
21、整合成了一個大模塊,使得我們的洗衣機模型體積小巧而功能強大。在題目基本要球的基礎上。我們所設想的各項功能,雖然金屬探測和溫度加熱模塊由于各種原因沒能在我們的模型中體現(xiàn)出來,但是我們的洗衣機已經(jīng)擁有了足夠強大的功能擁有了一定的智能化!這也是社會發(fā)展的方向。我們還考慮到了能源的節(jié)約!這是我們組最大的優(yōu)勢所在!當然,我們的作品也會存在一定的問題,我們發(fā)現(xiàn)的問題是比電源的散熱的問題,還有模型的排水系統(tǒng)排水不太完全。當然還會有別的以我們的角度想不到的問題,希望評委們指出,我們將會認真聽取評委們的意見,在以后設計過程中加以改進。討論:在設計這個洗衣機模型的時候,我們也在考慮洗衣機未來的發(fā)展方向就是由現(xiàn)在的
22、機械化向智能化發(fā)展。而在洗衣機真正到達真正的智能化之前,首先要達到我就是人性化和自動化。目前的洗衣機已經(jīng)能夠初步達到自動化的階段了,我們的洗衣機模型也初步達到了自動化。但是要向智能化發(fā)展還需要很長的時間!我們提出了一個設想就把手機和洗衣機終端聯(lián)系在一起,讓洗衣機能夠接受機主所發(fā)來的特定信息,然后根據(jù)指令控制洗衣機的運行,這是我們希望的洗衣機的所能達到的下一個目標。當然,還有很多別的設想,希望大家能夠發(fā)揮自己的想象。讓我們的生活更加精彩!程序流程圖:開始初始化顯示0設置模式設定參數(shù)浸泡?啟動運行?設定參數(shù)、定時時間到?進水自動模式?預約?計時設定參數(shù)運行?時間到?計時特效自動nynyyn手動nn
23、y 標準ny到達預定水位?進水達到循環(huán)次數(shù)控制電機正傳8s,停頓2s反轉3s,停3s排水完畢?5次蜂鳴顯示次數(shù)排水顯示次數(shù)脫水 正轉10s 停2s 正轉10snyny到達循環(huán)次數(shù)到達重復次數(shù)顯示最終循環(huán)次數(shù)重復次數(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=重復.次循環(huán).次;uchar code d=模式:手動準備;uchar code shoud=手動;uchar code zid=自動;uchar code biaozh=標準;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=進水;uchar code zhtait=脫水;uchar code zhtaip=排水;uchar code zhtaiw=完成;uchar code yuyuez=預約:;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;/電機轉向控制端sbit ml=p07;/電機轉向控制端sbit jsh=p04;/進水控制端sbit chsh=p05;/出水控制端sbit bz=p31;/蜂鳴器sbit shw0=p00;/水位0sbit she1=p01;/水位1sbit shw2=p02;/水位2sbit shw3=p03;/水位3sbit power=p25;/電磁閥電源控制端uchar md=1;/模式標記uchar shw_c=1,cish=0,xh=0;/水位、洗衣次數(shù)、循環(huán)次數(shù)標記uchar hour=0;/時間的時uchar minite=0;/時間的分uchar second=0
28、;/時間的秒uchar count=20;/計數(shù)標記uchar f=0;/時間、浸泡、預約間隔時間計數(shù)標記uchar h=0;/浸泡、預約時uchar m=1;/浸泡、預約分uchar s=1;/浸泡、預約秒uchar t=0;/電磁閥開關延時標記uchar flag=0x00;/狀態(tài)標記uchar zhs=1;/轉速標記uchar q=60;/轉速強度標記,pwm默認位60%uint freq=0;/儲存計數(shù)寄存器變量1uint cun=0;/儲存計數(shù)寄存器變量2uchar c=0;/計數(shù)間隔變量sfr16 dptr=0x82;/16位計數(shù)寄存器地址uint zl=0;/衣物質量變量-*-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ù)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)/預約設置函數(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ù)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)/轉速設置函數(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ù)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ù)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ù)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)/電機正轉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)/電機反轉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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年手機行業(yè)退貨三包服務規(guī)范合同樣本3篇
- 2025年物流運輸掛靠車輛運輸合同范本3篇
- 砌塊工程施工方案
- 2025年行政訴訟上訴狀編寫規(guī)范:全面指導版3篇
- 二零二五版科技園區(qū)研發(fā)樓租賃續(xù)約4篇
- 二零二五版門店合伙人風險管理與責任承擔合同4篇
- 2024年中級經(jīng)濟師考試題庫含答案(輕巧奪冠)
- 浮筏施工方案
- 2025年度養(yǎng)老產(chǎn)業(yè)項目貸款擔保合同范文3篇
- 2025年度個人網(wǎng)絡安全服務買賣合同(數(shù)據(jù)保護)4篇
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標準
- 建筑垃圾減排及資源化處置措施
- 2024年遼寧石化職業(yè)技術學院單招職業(yè)適應性測試題庫附答案
- 中西方校服文化差異研究
- 2024年一級建造師考試思維導圖-市政
- 高壓架空輸電線路反事故措施培訓課件
- 隱私計算技術與數(shù)據(jù)安全保護
- 人教版小學數(shù)學五年級上冊口算題卡
- 《子宮肉瘤》課件
- 小學防范詐騙知識講座
- 當保安夜班睡覺管理制度
評論
0/150
提交評論