




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、前 言目前中國洗衣機(jī)市場正進(jìn)入更新?lián)Q代期,市場潛力巨大,人們對于洗衣機(jī)的要求也越來越高,目前的洗衣機(jī)主要有強(qiáng)弱洗滌功能、進(jìn)排水系統(tǒng)故障自動診斷功能、暫停等七大功能,在許多方面還不能達(dá)到人們的需求。這就要求設(shè)計者們有更高的專業(yè)和技術(shù)水平,能夠提出更多好的建議和新的課題,將人們的需要變成現(xiàn)實,設(shè)計出更節(jié)能、功能更全面、更人性化的全自動洗衣機(jī)。目前的洗衣機(jī)都沒有實現(xiàn)全方面的兼容,大多洗衣的廠家都注重各自品牌的洗衣機(jī)的特長,突出一兩個與別的洗衣機(jī)不同的個性化的功能,洗衣機(jī)的各項功能是由單片機(jī)控制實現(xiàn)的,單片機(jī)的體積小,控制功能靈活,因此,設(shè)計出基于單片機(jī)的全自動洗衣機(jī)控制電路系統(tǒng)具有很強(qiáng)的實用性。本設(shè)
2、計采用stc 89c2051為控制核心,為保證洗衣機(jī)及人身安全,設(shè)計了蜂鳴報警電路.因本設(shè)計輸入按鍵較少,所以采用直接輸入方式,使電路簡單化。為方便理解與熟悉本,本文還介紹了與全自動洗衣機(jī)有關(guān)的一些常見的電子元器件的基本功能。本設(shè)計只設(shè)計了全自動洗衣機(jī)的基本功能,其他的一些功能可在原有的基礎(chǔ)上擴(kuò)展升級,使全自動洗衣機(jī)能更加智能化,更加完善。1洗衣機(jī)的功能及設(shè)計1.1洗衣機(jī)功能要求 洗衣機(jī)的主要工作程序是:洗滌脫水漂洗脫水漂洗脫水。上述工作程序中,包含三個過程,洗滌過程、漂洗過程、脫水過程。 (1)洗滌過程:放好待洗物,啟動開關(guān),進(jìn)水閥通電,向洗衣機(jī)供水,當(dāng)供水達(dá)到預(yù)定水位時,水位開關(guān)接通,進(jìn)水
3、閥斷電關(guān)閉,停止供水。洗滌電動機(jī)接通電源,帶動波輪(或桶)旋轉(zhuǎn),產(chǎn)生各種形式的水流攪動衣物進(jìn)行洗滌。通過電動不停的正轉(zhuǎn)、停、反轉(zhuǎn)、反復(fù)循環(huán),形成洗滌水對洗滌物產(chǎn)生強(qiáng)烈的翻滾作用。同時,衣物之間、衣物與四周桶壁之間產(chǎn)生互相摩擦和撞擊力,以次達(dá)到洗滌衣物的目的。 (2)漂洗過程:漂洗的目的在于清除衣物上的洗滌液,因此,漂洗過程與洗滌過程的電器動作是完全相同的。 (3)脫水過程:洗滌或漂洗后,需要對衣物進(jìn)行脫水以便晾干,節(jié)省水資源,所以脫水是洗衣過程中必不可少的環(huán)節(jié)。洗滌或漂洗過程結(jié)束后,電動機(jī)停止轉(zhuǎn)動,排水閥通電,打開排水閥門排水。當(dāng)水位低到一定程度時,滿足安全條件,脫水電動機(jī)接通,電機(jī)帶動脫水桶
4、高速旋轉(zhuǎn),利用離心力把衣服上的水從桶壁的小眼里甩出。全部洗衣工作完成后,由蜂鳴器發(fā)出音響,表示衣物已洗干凈。1.2洗衣機(jī)硬件電路設(shè)計1.2.1 洗衣機(jī)總體設(shè)計框圖 橢圓型表示指示燈:從上到下依次為強(qiáng)洗、弱洗、洗滌次數(shù)、洗衣定時、脫水定時、洗衣剩余時間、脫水剩余時間。電動機(jī)正轉(zhuǎn)為強(qiáng)洗,正反交替轉(zhuǎn)動設(shè)定為弱洗,初始設(shè)定的狀態(tài)為強(qiáng)洗,若要選擇弱洗模式需按下增加按鍵,再次按下選擇按鍵,則表示洗滌次數(shù)的指示燈被點亮,選擇增加或減少按鍵對時間進(jìn)行加減。然后對脫水時間設(shè)定,最后按下啟動鍵,洗衣機(jī)開始工作。數(shù)碼管2(顯示時間)數(shù)碼管1(顯示時間)出水進(jìn)水開始/暫停反轉(zhuǎn)正轉(zhuǎn)51單片機(jī)38譯碼器電動機(jī)蜂鳴器 選擇
5、 增加 減少 啟動 圖一 總體設(shè)計框圖1.2.2元器件介紹(1)stc51單片機(jī)stc89c51系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾/高速/低功耗的單片機(jī),是mcs-51系列單片機(jī)的派生產(chǎn)品;它們在指令系統(tǒng)中、硬件系統(tǒng)和片內(nèi)資源與標(biāo)準(zhǔn)的8052單片機(jī)完全兼容,dip-40封裝系列與8051為pin-to-pin兼容,指令代碼是與8051完全兼容的單片機(jī)。stc89c51單片機(jī)具有增強(qiáng)型12時鐘/機(jī)器周期、6時鐘機(jī)器/周期任意選擇,工作電壓為5.5v-3.4v(5v單片機(jī))/3.8v-2.0v(5v單片機(jī));工作頻率范圍:0-40mhz,相當(dāng)于普通8051的0-80mhz。實際頻率可達(dá)48
6、mhz。用戶應(yīng)用程序空間為4k/8k/13k/16k/20k/32k/64k字節(jié) ;片上集成1280字節(jié)/512字節(jié)ram;有32/36個通用i/o口,p1/p2/p3/p4是準(zhǔn)雙向口;集成isp(在系統(tǒng)可編程)/ipa(在應(yīng)用可編程),無需專用的編程器/仿真器,可通過串行口(p3.0/p3.1)直接下載用戶程序,8k程序3秒就可以完成一片,具備eeprom功能,工作溫度范圍在0-750,共有3個16位定時器/計數(shù)器,其中定時器t0還可以當(dāng)成2個8位定時器使用;封裝形式有dip-40,plcc-44,pqfp-44等。本文選取的是dip-40引腳的。(2)74ls3874ls138 為3 線8
7、 線譯碼器,共有 54/74s138和 54/74ls138 兩種線路結(jié)構(gòu)型式,其中74ls138工作原理:當(dāng)一個選通端為高電平,另兩個選通端和為低電平時,可將地址端(a、b、c)的二進(jìn)制編碼在一個對應(yīng)的輸出端以低電平譯出。 表一74ls138真值表輸 入輸 出s1 s2 s3a2 a1 a0y0 y1 y2 y3 y4 y5 y6 y70 × ×× 1 ×× × 11 0 01 0 01 0 01 0 01 0 01 0 01 0 01 0 0× × ××× ××
8、××0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 10 1 1 1 1 1 1 11 0 1 1 1 1 1 11 1 0 1 1 1 1 11 1 1 0 1 1 1 11 1 1 1 0 1 1 11 1 1 1 1 0 1 11 1 1 1 1 1 0 11 1 1 1 1 1 1 0 (3)晶振晶振全稱為晶體振蕩器,其作用在于產(chǎn)生原始的時鐘頻率,這個頻率經(jīng)過頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。以聲卡為例,要實現(xiàn)對模擬信號44.
9、1khz或48khz的采樣,頻率發(fā)生器就必須提供一個44.1khz或48khz的時鐘頻率。如果需要對這兩種音頻同時支持的話,聲卡就需要有兩顆晶振。但是娛樂級聲卡為了降低成本,通常都采用src將輸出的采樣頻率固定在48khz,但是src會對音質(zhì)帶來損害,而且現(xiàn)在的娛樂級聲卡都沒有很好地解決這個問題。 晶振一般叫做晶體諧振器,是一種機(jī)電器件,是用電損耗很小的石英晶體經(jīng)精密切割磨削并鍍上電極焊上引線做成。這種晶體有一個很重要的特性,如果給它通電,它就會產(chǎn)生機(jī)械振蕩,反之,如果給它機(jī)械力,它又會產(chǎn)生電,這種特性叫機(jī)電效應(yīng)。他們有一個很重要的特點,其振蕩頻率與他們的形狀,材料,切割方向等密切相關(guān)。由于石
10、英晶體化學(xué)性能非常穩(wěn)定,熱膨脹系數(shù)非常小,其振蕩頻率也非常穩(wěn)定,由于控制幾何尺寸可以做到很精密,因此,其諧振頻率也很準(zhǔn)確。根據(jù)石英晶體的機(jī)電效應(yīng),我們可以把它等效為一個電磁振蕩回路,即諧振回路。他們的機(jī)電效應(yīng)是機(jī)-電-機(jī)-電.的不斷轉(zhuǎn)換,由電感和電容組成的諧振回路是電場-磁場的不斷轉(zhuǎn)換。在電路中的應(yīng)用實際上是把它當(dāng)作一個高q值的電磁諧振回路。由于石英晶體的損耗非常小,即q值非常高,做振蕩器用時,可以產(chǎn)生非常穩(wěn)定的振蕩,作濾波器用,可以獲得非常穩(wěn)定和陡削的帶通或帶阻曲線。圖二 stc89c51單片機(jī)元件圖圖三 晶振實物圖(4)蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于
11、計算機(jī)、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。 ;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“h”或“ha”(舊標(biāo)準(zhǔn)用“fm”、“l(fā)b”、“jd”等)表示。蜂鳴器的結(jié)構(gòu)原理1壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.515v直流工作電壓),多諧振蕩器起振,輸出1.52.5khz的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。 壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍
12、上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。2電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。圖四 蜂鳴器實物圖(5)數(shù)碼管數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起
13、形成公共陽極(com)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。主要參數(shù)(1)8字高度 8字上沿與下沿的距離。比外型高度小。通常用英寸來表示。范圍一般為0.25-20英寸。(2)長*寬*高長數(shù)碼管正放時,水平方向的長度;寬數(shù)碼管正放時,垂直方向上的長度;高數(shù)碼管
14、的厚度。(3)時鐘點四位數(shù)碼管中,第二位8與第三位8字中間的二個點。一般用于顯示時鐘中的秒。圖五 數(shù)碼管原理圖(6)led燈led結(jié)構(gòu)以及發(fā)光原理led(light emitting diode),發(fā)光二極管,是一種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。led的心臟是一個半導(dǎo)體的晶片 發(fā)光二極管晶片的一端附在一個支架上,一端是負(fù)極,另一端連接電源的正極,使整個晶片被環(huán)氧樹脂封裝起來。半導(dǎo)體晶片由兩部分組成,一部分是p型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是n型半導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來的時候,它們之間就形成一個p-n結(jié)。當(dāng)電流通過導(dǎo)線作用于這個晶片的時候,電子就會被
15、推向p區(qū),在p區(qū)里電子跟空穴復(fù)合,然后就會以光子的形式發(fā)出能量,這就是led發(fā)光的原理。而光的波長也就是光的顏色,是由形成p-n結(jié)的材料決定的。最初led用作儀器儀表的指示光源,后來各種光色的led在交通信號燈和大面積顯示屏中得到了廣泛應(yīng)用,產(chǎn)生了很好的經(jīng)濟(jì)效益和社會效益。對于一般照明而言,人們更需要白色的光源。(7)直流電動機(jī)將直流電能轉(zhuǎn)換為機(jī)械能的轉(zhuǎn)動裝置。電動機(jī)定子提供磁場,直流電源向轉(zhuǎn)子的繞組提供電流,換向器使轉(zhuǎn)子電流與磁場產(chǎn)生的轉(zhuǎn)矩保持方向不變(8)uln2003uln2003 是高耐壓、大電流達(dá)林頓陳列,由七個硅npn 達(dá)林頓管組成。一、電路的特點uln2003 的每一對達(dá)林頓都串
16、聯(lián)一個2.7k 的基極電阻,在5v 的工作電壓下它能與ttl 和cmos 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。uln2003 工作電壓高,工作電流大,灌電流可達(dá)500ma,并且能夠在關(guān)態(tài)時承受50v 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。 uln2003 采用dip16 或sop16 塑料封裝。uln2003內(nèi)部還集成了一個消線圈反電動勢的二極管,可用來驅(qū)動繼電器。它是雙列16腳封裝,npn晶體管矩陣,最大驅(qū)動電壓=50v,電流=500ma,輸入電壓=5v,適用于ttl coms,由達(dá)林頓管組成驅(qū)動電路。 uln是集成達(dá)林頓管ic,內(nèi)部還集成了一個消線圈反電動勢的二
17、極管,它的輸出端允許通過電流為200ma,飽和壓降vce 約1v左右,耐壓bvceo 約為36v。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動繼電器或固體繼電器,也可直接驅(qū)動低壓燈泡。通常單片機(jī)驅(qū)動uln2003時,上拉2k的電阻較為合適,同時,com引腳應(yīng)該懸空或接電源。uln2003是一個非門電路,包含7個單元,單獨每個單元驅(qū)動電流最大可達(dá)350ma,9腳可以懸空。比如1腳輸入,16腳輸出,你的負(fù)載接在vcc與16腳之間,不用9腳。二、作用uln2003是大電流驅(qū)動陣列,多用于單片機(jī)、智能儀表、plc、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動繼電器等負(fù)載
18、。輸入5vttl電平,輸出可達(dá)500ma/50v。uln2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。1.2.3硬件電路的主要模塊 根據(jù)洗衣機(jī)的基本功能,硬件電路設(shè)計需要考慮:水流強(qiáng)度的問題、洗滌、漂洗、脫水時間設(shè)定長短的問題、工作時間或剩余時間的顯示、工作過程中的暫停、啟動、復(fù)位、洗完后的報警等問題。采用5l系列單片機(jī)作為控制核心,主要包括功能設(shè)置及控制電路、洗衣機(jī)狀態(tài)顯示及輸出控制電路。主要組成部件有:單片機(jī)、74lsl38譯碼器、uln2003、指示燈、數(shù)碼管、電動機(jī)、蜂鳴器以及按鍵等。(1
19、)功能設(shè)置及控制電路暫停鍵k0,接p33,用外部中斷1實現(xiàn)工作過程的暫停,根據(jù)人的需要可以進(jìn)行手工洗滌;水位開關(guān)k1,接p1o,水位到位時,k1閉合。在進(jìn)水期間,系統(tǒng)不斷檢測k1,當(dāng)檢測到k1閉合就停止進(jìn)水;按鍵k2,接p16,作為工作過程中的啟動鍵;按鍵k3是洗衣強(qiáng)度選擇鍵,接p34,每按一次代表一種強(qiáng)度。分別是標(biāo)準(zhǔn)、弱洗、強(qiáng)洗和自編,由4個指示燈進(jìn)行顯示;按鍵k4,接p35,對洗衣時間進(jìn)行設(shè)置,并用數(shù)碼管ledl和led2顯示:按鍵k5,接p36,對漂洗、脫水次數(shù)進(jìn)行設(shè)置,并用數(shù)碼管ledi顯示;壓電蜂鳴器接p17,作為洗衣時間到以及故障發(fā)生的報警器。圖六 控制電路(2)洗衣機(jī)狀態(tài)顯示 7
20、4lsl38譯碼器為38譯碼器,選用它可以解決i0口線數(shù)量不足問題。從控制要求可知,洗衣機(jī)的工作模式以及工作程序必須有7中不同的顯示加以區(qū)別。74lsl38譯碼器的輸入端c、b、a分別接p13、p14、p15,輸出端分別與7個發(fā)光二極管do-d6的陰極相連,發(fā)光二極管陽極接電源。輸出端yo控制d0“弱洗”指示燈:y1控制d1“標(biāo)準(zhǔn)洗”指示燈,y2控制d2“強(qiáng)洗”指示燈,y3控制d3“自編”指示燈,y4控制d4“洗衣”指示燈,y5控制d5“漂洗”指示燈,y6控制d6“脫水”指示燈圖七 狀態(tài)顯示圖(3)輸出控制電路輸出控制電路由觸發(fā)器電路和相應(yīng)的雙向晶閘管組成。控制電機(jī)正反轉(zhuǎn)以及進(jìn)水閥和排水閥的開
21、啟和關(guān)閉。通過觸發(fā)器電路和相應(yīng)的雙向晶閘管,電動機(jī)的正轉(zhuǎn)和反轉(zhuǎn)用單片機(jī)p11和p12進(jìn)行控制;進(jìn)水電磁閥和排水電磁閥用單片機(jī)的p30和p31進(jìn)行控制(4)整體設(shè)計圖把上述電路圖整合在一起如圖所示圖七 整體設(shè)計圖1.3洗衣機(jī)軟件系統(tǒng)設(shè)計1.3.1主程序設(shè)計根據(jù)硬件設(shè)計要求,控制主程序流程圖如圖所示。洗衣機(jī)通電之后,單片機(jī)上電,首先進(jìn)行程序的初始化,包括定時器o、外部中斷o、外部中斷l(xiāng)的初始化,以及各參數(shù)初值的設(shè)定。默認(rèn)洗衣強(qiáng)度為“標(biāo)準(zhǔn)洗”,漂洗次數(shù)3次。然后掃描k2、k3、k4、k5鍵的狀態(tài),確定洗衣強(qiáng)度r2、洗衣時間r3和漂洗次數(shù)r4。洗衣機(jī)處于待命狀態(tài),控制指示燈顯示洗衣強(qiáng)度,液晶顯示預(yù)設(shè)洗
22、衣時間。當(dāng)發(fā)現(xiàn)啟動鍵k2按下,洗衣機(jī)從待命狀態(tài)進(jìn)入工作狀態(tài)。完成進(jìn)水洗滌脫水漂洗的循環(huán)過程。當(dāng)洗衣結(jié)束時,控制蜂鳴器發(fā)聲。開始結(jié)束報警?脫水、漂洗程序洗滌程序進(jìn)水程序啟動?初始化查詢洗衣強(qiáng)度r2的值查詢洗衣時間r3的值查詢漂洗次數(shù)r4的值圖八 主程序流程圖<1>進(jìn)水程序設(shè)計 當(dāng)p30=1時,打開進(jìn)水電磁閥開始進(jìn)水。當(dāng)水位到達(dá)要求時,p10=0,即水位開關(guān)k1閉合,關(guān)閉進(jìn)水電磁閥,p30=0,迸水結(jié)束; <2>洗滌過程程序設(shè)計 電機(jī)正反轉(zhuǎn)均為10s,根據(jù)r2的值確定洗衣強(qiáng)度、洗衣時間r3以及電動機(jī)的間歇時間。洗衣開始電機(jī)正轉(zhuǎn)10s電機(jī)停轉(zhuǎn)延時1s進(jìn)入漂洗脫水程序電機(jī)反轉(zhuǎn)1
23、0s剩余時間=0r2=0?圖九 洗滌過程流程圖<3>脫水、漂洗過程程序設(shè)計 脫水前先打開排水閥排水1min。然后啟動電動機(jī)脫水1min,并保持排水閥開啟,然后停止脫水。接著判斷漂洗次數(shù)即r4的值,若r4為0則洗衣結(jié)束,開蜂鳴器提醒洗衣結(jié)束,系統(tǒng)返回初始待命狀態(tài);若r4不為0,則再次執(zhí)行進(jìn)水操作,進(jìn)入下一循環(huán)。程序如下圖所示:關(guān)脫水,關(guān)脫水閥漂洗脫水開始開排水閘開電動機(jī)脫水繼續(xù)漂洗關(guān)蜂鳴器開蜂鳴器報警r4=0?圖十 脫水、漂洗程序流程圖 1.3.2內(nèi)部定時中斷設(shè)計 工作過程中所需的各種計時均有定時器0定時中斷服務(wù)64程序提供。單片機(jī)晶振頻率12mllz,定時器0選擇工作方式1,設(shè)置時
24、間常數(shù),每01s中斷次。中斷處理程序流程圖如下圖所示。中斷入口顯示子程序計數(shù)清零秒值加1秒值清0分值減1是否到1s是否到1民、中斷返回圖十一 內(nèi)部定時中斷流程圖1.3.3外部中斷設(shè)計 為了防止外部電壓過高或過低對洗衣機(jī)的電器及控制硬件產(chǎn)生破壞,用外部中斷0進(jìn)行保護(hù)。當(dāng)電壓過高或過低時,引起外部中斷0,洗衣機(jī)停止一切動作,進(jìn)入保護(hù)狀態(tài)。用外部中斷1來實現(xiàn)洗衣過程停止工作。在洗衣過程中,當(dāng)暫停鍵k0按下時,引起外部中斷1,轉(zhuǎn)入中斷1處理程序。中斷l(xiāng)處理程序?qū)⑹瓜匆聶C(jī)停止工作,并將停止前的狀態(tài)存儲起來。當(dāng)按下啟動鍵k2時,洗衣機(jī)又恢復(fù)工作。程序設(shè)計流程圖中斷入口相關(guān)寄存器進(jìn)棧暫停否?相關(guān)寄存器出棧置
25、外部中斷控制字中斷返回圖十二 外部中斷流程圖1.3.4源程序#include <reg51.h>/各個引腳功能定義sbit key_move_stop = p20; /啟動、暫停按鍵sbit key_wash_dehydration = p21; /洗滌、脫水按鍵sbit key_water_detection = p32; /水位檢測按鍵 外部中斷0sbit key_cap_open = p33; /機(jī)蓋裝置按鍵 外部中斷1sbit led1 = p00; /啟動指示燈sbit led2 = p01; /暫停指示燈sbit led3 = p02; /洗滌指示燈sbit led4
26、= p03; /脫水指示燈sbit led5 = p04; /進(jìn)水閥指示燈sbit led6 = p05; /排水閥指示燈sbit led7 = p06; /水位滿指示燈sbit led8 = p07; /機(jī)蓋松指示燈sbit led9 = p27; /報警指示燈sbit ls138a = p22; /數(shù)碼管片選sbit ls138b = p23;sbit ls138c = p24;sbit beep = p26; /蜂鳴器報警sbit pwm = p25; /直流電動機(jī)/共陰數(shù)碼管 0-9 - unsigned int code disp_tab = 0x3f,0x06,0x5b,0x4f,
27、0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;unsigned int i=0,lednumval=0; /數(shù)碼管計時 0-9 選擇unsigned int lednum = 0;/定時器0 數(shù)碼管計時速率調(diào)控變量unsigned int ledout3; /數(shù)碼管計時存儲區(qū)unsigned char key_s,key_v; /按鍵掃描變量static unsigned int m = 0; /啟動、暫停鍵計數(shù)變量static unsigned int movenum = 0; /暫停功能變量/*/unsigned char scan_key() /啟動/暫停鍵;洗滌
28、/脫水鍵掃描unsigned char key_s;key_s = 0x00;key_s |= key_wash_dehydration;key_s <<= 1;key_s |= key_move_stop;return key_s; /*/void delay( unsigned int a) /數(shù)碼掃描延時子程序 unsigned char b; for(; a > 0; a-) for(b = 200; b > 0; b-);/*/void delayms( unsigned char ms)/按鍵消抖延時子程序 unsigned char k;while(ms-
29、)for(k = 0; k < 120; k+);/*/void beep()unsigned int n = 0;beep = 1;led9 = 1;for(; n<6;n+) beep = 0;led9 = 0; delayms(3000); beep = 1;led9 = 1; delayms(1000); /*/void led_display_zero() /數(shù)碼管清零并直流電動機(jī)停止 蜂鳴器響三下 beep();pwm = 1;while(1) unsigned int i = 0; unsigned int lednumval = 0; pwm = 1; if(key
30、_wash_dehydration =0)/洗滌后脫水按下鍵跳出 led3 =1;led4 =0;led6 =0;break; ledout0=disp_tablednumval%1000/100|0x80; /百位帶小數(shù)點 ledout1=disp_tablednumval%100/10; /十位 ledout2=disp_tablednumval%10; /個位 for( i=0; i<3; i+) p1= ledouti; switch(i) case 0:ls138a=1; ls138b=0; ls138c=0; break; case 1:ls138a=0; ls138b=1;
31、 ls138c=0; break; case 2:ls138a=0; ls138b=0; ls138c=1; break;default:break; delay(10); p1 = 0x00; /*/void led_display_over() /數(shù)碼管清零并直流電動機(jī)停止 蜂鳴器響三下 beep();pwm = 1;while(1) unsigned int i = 0; unsigned int led = 0; led1 = 1; /啟動指示燈 led2 = 1; /暫停指示燈 led3 = 1; /洗滌指示燈 led4 = 1; /脫水指示燈 led5 = 1; /進(jìn)水閥指示燈 l
32、ed6 = 1; /排水閥指示燈 led7 = 1; /水位滿指示燈 led8 = 1; /機(jī)蓋松指示燈 led9 = 1; /出水閥指示燈 if(key_move_stop =0)/脫水后按下鍵跳出 led1 = 0; /啟動指示燈 led2 = 1; /暫停指示燈 led3 = 1; /洗滌指示燈 led4 = 1; /脫水指示燈 led5 = 0; /進(jìn)水閥指示燈 led6 = 1; /排水閥指示燈 led7 = 1; /水位滿指示燈 led8 = 1; /機(jī)蓋松指示燈 led9 = 1; /報警指示燈 break; ledout0=disp_tabled%1000/100|0x80;
33、/百位帶小數(shù)點 ledout1=disp_tabled%100/10; /十位 ledout2=disp_tabled%10; /個位 for( i=0; i<3; i+) p1= ledouti; switch(i) case 0:ls138a=1; ls138b=0; ls138c=0; break; case 1:ls138a=0; ls138b=1; ls138c=0; break; case 2:ls138a=0; ls138b=0; ls138c=1; break;default:break; delay(10); p1 = 0x00; /*/void cap_open()
34、/數(shù)碼管清零并直流電動機(jī)停止 蜂鳴器響三下 beep(); /需要復(fù)位跳出pwm = 1;while(1) unsigned int i = 0; unsigned int lednum = 0; ledout0=disp_tablednum%1000/100|0x80; /百位帶小數(shù)點 ledout1=disp_tablednum%100/10; /十位 ledout2=disp_tablednum%10; /個位 for( i=0; i<3; i+) p1= ledouti; switch(i) case 0:ls138a=1; ls138b=0; ls138c=0; break;
35、case 1:ls138a=0; ls138b=1; ls138c=0; break; case 2:ls138a=0; ls138b=0; ls138c=1; break;default:break; delay(10); p1 = 0x00; /*/void led_display_move() /數(shù)碼管計時并直流電動機(jī)運(yùn)轉(zhuǎn)while(1) pwm = 0; if(lednumval = 101) /計時到100時自動清零并蜂鳴器響三下 lednumval = 0; tr0 = 0; break; if(key_move_stop =0) movenum+;if(movenum%2=1)
36、led1 = 1; /啟動指示燈 led2 = 0; /暫停指示燈 tr0 = 0; /關(guān)閉定時器0 else led1 = 0;led2 = 1;tr0 = 1; /開啟定時器0 while(key_move_stop =0); /等待按鍵釋放 ledout0=disp_tablednumval%1000/100|0x80; /百位帶小數(shù)點 ledout1=disp_tablednumval%100/10; /十位 ledout2=disp_tablednumval%10; /個位 for( i=0; i<3; i+) p1 = ledouti; switch(i) case 0:ls
37、138a=1; ls138b=0; ls138c=0; break; case 1:ls138a=0; ls138b=1; ls138c=0; break; case 2:ls138a=0; ls138b=0; ls138c=1; break; default:break; delay(10);p1 = 0x00; /*/void move_stop_led()m+;if(m = 1) ex0=1; /外部中斷0允許中斷 水位檢測 led1 = 0; /啟動指示燈 led2 = 1; /暫停指示燈 led3 = 1; /洗滌指示燈 led4 = 1; /脫水指示燈 led5 = 0; /進(jìn)水閥
38、指示燈 led6 = 1; /排水閥指示燈 led7 = 1; /水位滿指示燈 led8 = 1; /機(jī)蓋松指示燈 led9 = 1; /報警指示燈else if(m>1)&&(m%2=1) led1 = 0; /啟動指示燈 led2 = 1; /暫停指示燈else led1 = 1; /啟動指示燈led2 = 0; /暫停指示燈 tr0 = 0; /停止定時器工作 /*/void wash_dehydration_led()static unsigned int j = 0;j+;if(j%2 = 1) /啟動并洗滌 led1 = 0; /啟動指示燈 led2 = 1;
39、 /暫停指示燈 led3 = 0; /洗滌指示燈 led4 = 1; /脫水指示燈 led5 = 1; /進(jìn)水閥指示燈 led6 = 1; /排水閥指示燈 led7 = 1; /水位滿指示燈 led8 = 1; /機(jī)蓋松指示燈 led9 = 1; /報警指示燈led_display_move();led_display_zero(); else /啟動并脫水led1 = 0; /啟動指示燈 led2 = 1; /暫停指示燈 led3 = 1; /洗滌指示燈 led4 = 0; /脫水指示燈 led5 = 1; /進(jìn)水閥指示燈 led6 = 0; /排水閥指示燈 led7 = 1; /水位滿指示
40、燈 led8 = 1; /機(jī)蓋松指示燈待添加的隱藏文字內(nèi)容2 led9 = 1; /報警指示燈led_display_move();led_display_over();/*/void proc_key(unsigned char key_v)if(key_v & 0x01) = 0)move_stop_led(); else if(key_v & 0x02) = 0) if(m%2=1) tr0 = 1; /定時器0開始工作 wash_dehydration_led(); /*/main() it0 = 1; /外部中斷0 水位檢測 跳沿觸發(fā)方式ex0=0; /不允許外部中斷
41、0中斷it1 = 1; /外部中斷1 機(jī)蓋打開 跳沿觸發(fā)方式ex1 = 1; /允許外部中斷1中斷tmod = 0x01; /定時器0 定時模式 方式1et0 = 1; /允許定時器0中斷tr0 = 0; /停止定時器工作th0 = 0xdb;tl0 = 0xf0; /10msea=1; p0 = 0xff;key_v = 0x03;ls138a=0; ls138b=0; ls138c=0; while(1) key_s = scan_key();if(key_s != key_v)delayms(10);key_s = scan_key(); /啟動/暫停鍵 洗滌/脫水鍵掃描if(key_s
42、 != key_v)key_v = key_s;proc_key(key_v); delayms(30); void counter0(void) interrupt 0 ex0=0; led7 = 0; /水位滿 led5 = 1; /進(jìn)水閥指示燈 ex0=1;void time0(void) interrupt 1lednum+;tr0 = 0;th0 = 0xdb; /10mstl0 = 0xf0;if(lednum = 50) lednum = 0; lednumval+;tr0 = 1;void counter1(void) interrupt 2 ex1 = 0; led1 = 1
43、; /啟動指示燈led2 = 1; /暫停指示燈led3 = 1; /洗滌指示燈 led4 = 1; /脫水指示燈 led5 = 1; /進(jìn)水閥指示燈 led6 = 1; /排水閥指示燈 led7 = 1; /水位滿指示燈 led8 = 1; /機(jī)蓋松指示燈 cap_open(); 結(jié) 論 本設(shè)計采用常用的atmel單片機(jī)at89c51為控制核心,輔以電機(jī)、數(shù)碼管等其他元器件,通過軟,硬件的配合設(shè)計,很好的實現(xiàn)了洗衣機(jī)的控制功能。本系統(tǒng)結(jié)構(gòu)簡單,控制功能強(qiáng)大,自動化程度高等特點。(1)系統(tǒng)軟硬件設(shè)計采用模塊化的設(shè)計方法,各模塊功能相對獨立,最后把它們整合在一起,大大的縮短了系統(tǒng)的設(shè)計周期。(2
44、)為保證洗衣機(jī)及人身安全,設(shè)計了蜂鳴器報警電路。(3)本設(shè)計還考慮半自動的設(shè)計,用戶可以根據(jù)自己的需求自由選擇洗衣機(jī)的工作方式,這一點是通過按鍵實現(xiàn)的。本文設(shè)計的時候只考慮了洗衣機(jī)的實用功能,其他的功能可以在他上面進(jìn)行擴(kuò)展,使洗衣機(jī)功能更能強(qiáng)大。參考文獻(xiàn):1 黃智偉基于ni multisim的電子電路計算機(jī)仿真設(shè)計與分析m北京:電子工業(yè)出版社,20082 朱啟標(biāo),丁杰.eda實驗指導(dǎo)書m南昌大學(xué)教務(wù)處,20093 克強(qiáng)用at89c2051單片機(jī)制作洗衣機(jī)控制電路j電子世界,2001,(3):39424李金平,沈明山,姜余祥.電子系統(tǒng)設(shè)計m北京:電子工業(yè)出版社,2007 附件原理圖pcb圖emp
45、loyment tribunals sort out disagreements between employers and employees.you may need to make a claim to an employment tribunal if:· you don't agree with the disciplinary action your employer has taken against you· your employer dismisses you and you think that you have been dismissed
46、unfairly.for more information about dismissal and unfair dismissal, see dismissal.you can make a claim to an employment tribunal, even if you haven't appealed against the disciplinary action your employer has taken against you. however, if you win your case, the tribunal may reduc
47、e any compensation awarded to you as a result of your failure to appeal.remember that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. if your application is received after this time limit, the tribunal will not usually accept i.if you are worried about how the time limits apply to you, take advice from one of the organisations listed under further help.employment tribunals are less formal than some other courts, but it is still a legal pro
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江廣廈建設(shè)職業(yè)技術(shù)大學(xué)《中國城市建設(shè)史》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄂爾多斯應(yīng)用技術(shù)學(xué)院《管理會計實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 炎黃職業(yè)技術(shù)學(xué)院《計算機(jī)繪圖及BM應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 煙臺職業(yè)學(xué)院《足球理論與實踐Ⅲ》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年吉林省建筑安全員《B證》考試題庫
- 浙江機(jī)電職業(yè)技術(shù)學(xué)院《BIM技術(shù)原理及其應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州師范學(xué)院《微機(jī)原理與接口技術(shù)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年安徽省建筑安全員知識題庫附答案
- 四川三河職業(yè)學(xué)院《建筑與環(huán)境設(shè)計方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 邢臺應(yīng)用技術(shù)職業(yè)學(xué)院《體育教學(xué)訓(xùn)練理論與方法實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 砥礪前行決心譜寫華章
- 2025年開學(xué)教導(dǎo)處發(fā)言稿(5篇)
- 機(jī)電設(shè)備安裝旁站監(jiān)理方案
- 2025年度民政局離婚協(xié)議書范本模板官方修訂2篇
- 《百達(dá)翡麗名表介紹》課件
- 《集裝箱標(biāo)識辨識》課件
- 2024年臨床輸血管理委員會年終的工作總結(jié)
- 2025版《VOCs廢氣處理設(shè)施安全檢查表》(全)
- 整形醫(yī)院客戶管理培訓(xùn)
- 七年級語文下冊全冊完整課件(部編版)
- (投資管理)對外投資合作國別(地區(qū))指南
評論
0/150
提交評論