設(shè)計(jì)基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)設(shè)計(jì)_第1頁(yè)
設(shè)計(jì)基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)設(shè)計(jì)_第2頁(yè)
設(shè)計(jì)基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)設(shè)計(jì)_第3頁(yè)
設(shè)計(jì)基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)設(shè)計(jì)_第4頁(yè)
設(shè)計(jì)基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢 業(yè) (設(shè) 計(jì)) 論 文題目: 基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)系部: 電氣工程與自動(dòng)化系 專業(yè): 自動(dòng)化技術(shù) 班級(jí): 電氣A0701班 姓名: 李月鵬 指導(dǎo)教師: 陳毅朋、張慧明 山 西 綜 合 職 業(yè) 技 術(shù) 學(xué) 院 摘 要微型計(jì)算機(jī)SCMC,簡(jiǎn)稱單片機(jī),又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,可進(jìn)行簡(jiǎn)單運(yùn)算和控制。雖然單片機(jī)只有一個(gè)芯片,但無(wú)論從組成還是從功能上看,它已具備了計(jì)算機(jī)系統(tǒng)的屬性,是一個(gè)簡(jiǎn)單的微型計(jì)算機(jī)。單片機(jī)以其體積小、功能全、價(jià)格優(yōu)等種種優(yōu)勢(shì)充斥著整個(gè)市場(chǎng)?,F(xiàn)在,單片機(jī)的使用領(lǐng)域

2、已十分廣泛,如智能儀表、實(shí)時(shí)工控、導(dǎo)航系統(tǒng)、家用電器等。單片機(jī)開(kāi)發(fā)出的各種產(chǎn)品遍布于我們?nèi)粘I钪械拿總€(gè)角落。為了加深對(duì)單片機(jī)智能型控制器的了解,經(jīng)過(guò)綜合分析,本次設(shè)計(jì)最終選取了由51單片機(jī)控制的智能型液位控制器作為研究項(xiàng)目,本文對(duì)單片機(jī)水塔水位控制系統(tǒng)進(jìn)行了整體設(shè)計(jì),完成了單片機(jī)水塔水位控制系統(tǒng)硬件接線圖和流程圖以及單片機(jī)內(nèi)部控制程序設(shè)計(jì),并完成了開(kāi)發(fā)板模擬仿真過(guò)程。通過(guò)此次設(shè)計(jì)過(guò)程,自己在分析問(wèn)題、解決問(wèn)題方面的能力得到了很大程度的提高。 MCS-51單片機(jī) 液壓傳感器 AD轉(zhuǎn)換 水塔水位檢控基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)山西綜合職業(yè)技術(shù)學(xué)院 李月鵬引言 水塔供水的主要問(wèn)題是塔內(nèi)水位

3、應(yīng)始終保持在一定范圍,避免“空塔”、“溢塔”現(xiàn)象發(fā)生。目前,控制水塔水位方法較多,其中較為常用的是由單片機(jī)控制實(shí)現(xiàn)自動(dòng)運(yùn)行,使水塔內(nèi)水位保持恒定,以保證連續(xù)正常地供水。實(shí)際供水過(guò)程中要確保水位在允許的范圍內(nèi)浮動(dòng),應(yīng)采用水壓監(jiān)測(cè)來(lái)控制水位。首先通過(guò)壓力傳感器實(shí)時(shí)檢測(cè)水壓,測(cè)量水位變化,再變送成電壓信號(hào)傳回單片機(jī),由單片機(jī)執(zhí)行內(nèi)部控制程序指令,從而控制水泵電動(dòng)機(jī),保證水位在正常范圍內(nèi)變化。為此,這里給出以STC公司的STC89C52RC單片機(jī)為核心器件、以壓力傳感器為檢測(cè)原件、通過(guò)ADC0804芯片為信號(hào)轉(zhuǎn)換原件的水塔水位檢測(cè)控制系統(tǒng)仿真設(shè)計(jì),實(shí)現(xiàn)水位的自動(dòng)檢測(cè)控制、電機(jī)故障檢測(cè)和報(bào)警等功能,通過(guò)

4、在51單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)板上實(shí)際仿真,實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)具有良好的檢測(cè)和控制功能,實(shí)用性很強(qiáng)。1 系統(tǒng)設(shè)計(jì)方案比較及論證 對(duì)于液位進(jìn)行控制的方式有很多,而應(yīng)用較多的主要有2種,一種是通過(guò)簡(jiǎn)單的機(jī)械控制裝置來(lái)實(shí)現(xiàn),而另一種是由復(fù)雜的控制器來(lái)控制。兩種方式的實(shí)現(xiàn)簡(jiǎn)介如下: (1)簡(jiǎn)單的機(jī)械式控制方式。其常用形式有浮標(biāo)式、電極式等,這種控制形式的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,成本低廉。存在問(wèn)題是精度不高,不能進(jìn)行數(shù)值顯示,另外很容易引起誤動(dòng)作,且只能單獨(dú)控制,與計(jì)算機(jī)進(jìn)行通信較難實(shí)現(xiàn)。 (2)復(fù)雜控制器控制方式。這種控制方式是通過(guò)安裝在水塔出口管道上的壓力傳感器來(lái)把出口水壓變成標(biāo)準(zhǔn)工業(yè)電信號(hào)的模擬信號(hào),再經(jīng)過(guò)前置放

5、大、AD轉(zhuǎn)換模塊變換成數(shù)字信號(hào)傳送到單片機(jī)中,而后經(jīng)單片機(jī)運(yùn)算和給定參量的比較,進(jìn)行PID運(yùn)算,得出調(diào)節(jié)參量;最后經(jīng)由DA變換給調(diào)壓、變頻調(diào)速裝置輸入給定端,控制其輸出電壓變化,來(lái)調(diào)節(jié)電機(jī)轉(zhuǎn)速,以達(dá)到控制水箱液位的目的。 針對(duì)上述2種控制方式,以及設(shè)計(jì)需達(dá)到的性能要求,這里選取第二種控制方式,同時(shí)考慮到成本問(wèn)題需要把PID控制去掉。最終形成的方案是,利用單片機(jī)為控制核心,設(shè)計(jì)一個(gè)對(duì)水塔水位能進(jìn)行自動(dòng)監(jiān)控的工控系統(tǒng)。根據(jù)監(jiān)控對(duì)象的特征,要求實(shí)時(shí)檢測(cè)水塔的液位高度,并與開(kāi)始預(yù)設(shè)定的上、下限值做比較,由單片機(jī)控制固態(tài)繼電器的開(kāi)斷進(jìn)行液位的調(diào)整,最終達(dá)到液位的預(yù)設(shè)定值范圍內(nèi)。檢測(cè)值若高于上限設(shè)定值時(shí),

6、要求報(bào)警,同時(shí)斷開(kāi)繼電器,使水泵停止上水;檢測(cè)值若低于下限設(shè)定值,要求報(bào)警,同時(shí)開(kāi)啟繼電器,控制水泵開(kāi)始上水。現(xiàn)場(chǎng)在LCD1602液晶屏上實(shí)時(shí)顯示測(cè)量值,從而實(shí)現(xiàn)對(duì)水箱液位的自動(dòng)監(jiān)控。 在功能上,本設(shè)計(jì)還預(yù)留了兩個(gè)調(diào)參按鍵,通過(guò)這兩個(gè)按鍵可以自由設(shè)定水塔內(nèi)水位的上下限值,以此來(lái)實(shí)現(xiàn)人工可控功能。2 系統(tǒng)原理框圖 圖1 系統(tǒng)原理框圖3 工作原理基于51單片機(jī)實(shí)現(xiàn)液位控制的控制器是以STC89C52RC芯片為核心,由鍵盤(pán)、LCD1602液晶顯示、ADC0804模數(shù)轉(zhuǎn)換、液壓傳感器、開(kāi)關(guān)電源、蜂鳴報(bào)警、電磁繼電器等部分組成。工作過(guò)程如下:水塔液位發(fā)生變化時(shí),引起水塔中液壓傳感器的輸出電壓值變化,即把

7、壓力變化量轉(zhuǎn)化成電壓信號(hào);該信號(hào)經(jīng)過(guò)運(yùn)算放大電路放大后變成幅度為05 V標(biāo)準(zhǔn)信號(hào),送入AD轉(zhuǎn)換器,AD轉(zhuǎn)換器把模擬信號(hào)量變成數(shù)字信號(hào)量,再由單片機(jī)進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,并進(jìn)行處理,根據(jù)設(shè)定要求控制輸出,同時(shí)由液晶屏顯示液位高度。通過(guò)鍵盤(pán)能夠自由設(shè)置水位上下限值。該系統(tǒng)控制器的最大特點(diǎn)是可直觀地顯示水位占水塔容積的百分量,并可任意控制水位上下限高度。 4 硬件設(shè)計(jì)液位控制器的硬件主要包括由單片機(jī)、液壓傳感器(帶變送器)、鍵盤(pán)電路、液晶顯示電路、AD轉(zhuǎn)換器和輸出控制電路等。 4.1 STC89C52單片機(jī)簡(jiǎn)介 單片機(jī)采用的是由STC公司生產(chǎn)的雙列40腳STC89C52RC芯片。STC公司生產(chǎn)的STC8

8、9C52RC單片機(jī),是一款性價(jià)比非常高的單片機(jī),普通用戶可完全將其當(dāng)作一般的51單片機(jī)來(lái)使用,高級(jí)用戶可使用其擴(kuò)展功能。 STC公司的單片機(jī)內(nèi)部資源比起來(lái)ATMEL公司的單片機(jī)要豐富的多,它內(nèi)部有1280字節(jié)的SRAM、8-64K字節(jié)的內(nèi)部程序存儲(chǔ)器、2-8K字節(jié)的ISP引導(dǎo)碼、除P0-P3口外還多出了P4口(PLCC封裝)、片內(nèi)自帶8路8位AD(AD系列),片內(nèi)自帶EEPROM、單片機(jī)內(nèi)自帶看門(mén)狗、雙數(shù)據(jù)指針等。目前STC公司的單片機(jī)在國(guó)內(nèi)市場(chǎng)上的占有率與日俱增。其中在這里我們把P0口連接LCD1602液晶顯示屏;P1口用于AD轉(zhuǎn)換; P2口用于控制電磁閥、蜂鳴報(bào)警和鍵盤(pán)輸入;P3口用于讀寫(xiě)

9、控制和中斷等。下圖是STC89C52RC單片機(jī)管腳圖。 圖2 STC89C52RC單片機(jī)管腳圖4.2 鎖存器(74HC573)簡(jiǎn)介 鎖存器,顧名思義,就是把輸入端的數(shù)據(jù)鎖存(或送出)到輸出端,如下圖所示,第11角(鎖存端)為高電平的時(shí)候,右邊D0-D7的輸入與左邊Q0-Q7的輸出是直通的,就是說(shuō),輸入端是什么電平,輸出端就是什么電平,可以把它當(dāng)作不存在。當(dāng)?shù)?1角為低電平的時(shí)候,左右兩端就被斷開(kāi)了,無(wú)論輸入端怎么變化,輸出端都不會(huì)變化,當(dāng)?shù)?1角由低電平變?yōu)楦唠娖降囊凰查g,輸入端的數(shù)據(jù)立刻被傳送到輸出端,并且在11角保持為高電平期間,輸出端數(shù)據(jù)始終的輸入端數(shù)據(jù)相同,如果此時(shí)我們?cè)俅伟训?1角設(shè)

10、置為低電平,那么以后當(dāng)輸入端無(wú)論再怎么變化,輸出端都不會(huì)變化而是保持剛才第11角在下降沿(由高電平到低電平跳變)之間時(shí)輸入端的值,這樣就達(dá)到了鎖存數(shù)據(jù)的目的,這也就是所謂的總線設(shè)計(jì)思路,一個(gè)8位的數(shù)據(jù)線加一個(gè)鎖存器后就可以擴(kuò)接多個(gè)元件,當(dāng)選通哪個(gè)元件的片選信號(hào),就送數(shù)據(jù)給那個(gè)元件。 圖3 74HC573管腳圖4.3 ADC0804簡(jiǎn)介 ADC0804是8位全MOS中速A/D 轉(zhuǎn)換器,它是逐次逼近式A/D 轉(zhuǎn)換器,片內(nèi)有三態(tài)數(shù)據(jù)輸出鎖存器,可以和單片機(jī)直接接口。單通道輸入,轉(zhuǎn)換時(shí)間大約為100us。ADC0804 轉(zhuǎn)換時(shí)序是:當(dāng)CS0 許可進(jìn)行A/D 轉(zhuǎn)換。WR由低到高時(shí),A/D開(kāi)始轉(zhuǎn)換。CS與

11、WR同時(shí)有效時(shí)啟動(dòng)A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束產(chǎn)生INTR 信號(hào)(低電平有效),可供查詢或者中斷信號(hào)。在CS和RD 的控制下可以讀取數(shù)據(jù)結(jié)果。在使用時(shí)可選擇中斷、查詢和延時(shí)等待3種方式編制AD轉(zhuǎn)換程序。本實(shí)驗(yàn)沒(méi)有使用INTR信號(hào),而是采用了延時(shí)等待的方式,以便把中斷口留給LCD1602液晶顯示屏接線使用。AD轉(zhuǎn)換電路在控制器中起主導(dǎo)作用,用它來(lái)將液壓傳感器輸出的模擬電壓信號(hào)轉(zhuǎn)換成單片機(jī)能處理的數(shù)字量。下圖是AD轉(zhuǎn)換部分原理圖,在接線時(shí)先要經(jīng)過(guò)運(yùn)算放大器和分壓電路把傳感器輸出的電流信號(hào)轉(zhuǎn)換成電壓信號(hào),然后輸入到AD轉(zhuǎn)換器。由于實(shí)際條件較為有限,在此暫時(shí)由電位器來(lái)代替模擬液壓傳感器傳回的電壓信號(hào)量。 圖4

12、 ADC0804與單片機(jī)接線圖4.4 單片機(jī)與繼電器及蜂鳴器的接口電路簡(jiǎn)介采用光電耦合器的開(kāi)關(guān)量輸出電路如下圖所示。+5V電源為單片機(jī)電源,+24V電源為開(kāi)關(guān)量輸出電源,兩個(gè)電源是隔離的。當(dāng)單片機(jī)輸出端口輸出高電平時(shí),經(jīng)與非門(mén)電路,A點(diǎn)為低電平,經(jīng)光耦器件使驅(qū)動(dòng)晶體管V導(dǎo)通,出口繼電器J得電吸合。當(dāng)輸出端輸出低電平時(shí),經(jīng)與非門(mén)電路,A點(diǎn)輸出高電平,經(jīng)光耦器件使V截止,J釋放。以此來(lái)控制水泵執(zhí)行運(yùn)行或停止工作。4.5 井中缺水信號(hào)檢測(cè)電路 經(jīng)過(guò)市場(chǎng)及網(wǎng)上實(shí)際調(diào)查發(fā)現(xiàn),目前的液壓傳感器價(jià)格普遍偏高,多為高規(guī)格工業(yè)用品。為實(shí)現(xiàn)低價(jià)位高功能,在此我們通過(guò)氣壓傳感器改制了一個(gè)液壓傳感器。同樣可以滿足實(shí)際

13、要求。傳感器使用SY一9411LD型變送器,它內(nèi)部含有1個(gè)壓力傳感器和相應(yīng)的放大電路。該壓力傳感器是美國(guó)SM公司生產(chǎn)的5552型OEM壓阻式壓力傳感器,其有全溫度補(bǔ)償及標(biāo)定(O70),傳感器經(jīng)過(guò)特殊加工處理,用堅(jiān)固的耐高溫塑料外殼封裝。其引腳分布如圖3所示。1腳為信號(hào)輸出(一);2腳為信號(hào)輸出(一);3腳為激勵(lì)電壓;4腳為地;5腳為信號(hào)輸出(+);6腳為信號(hào)輸出(+)。 在水塔底部安裝1根直徑為5 mm的軟管,一端安裝在水塔底部;另一端與傳感器連接。水塔水位高度發(fā)生變化時(shí),引起軟管內(nèi)氣壓變化,然后傳感器把氣壓轉(zhuǎn)換成電壓信號(hào),輸送到AD轉(zhuǎn)換器。 圖8 SY-9411L-D型變送器引腳結(jié)構(gòu)圖 圖9

14、 LCD1602與單片機(jī)的接線圖 圖10 LCD1602液晶屏的各引腳功能圖5. 軟件設(shè)計(jì)5.1 程序流程圖 圖13 程序流程圖5.2 程序流程圖解析1 正常工作時(shí):(1)假設(shè)初始時(shí)水塔中無(wú)水,經(jīng)過(guò)開(kāi)始、初始化程序后首先判斷是否有按鍵鍵入,如果有的話執(zhí)行按鍵調(diào)試子程序,通過(guò)按鍵可以設(shè)定上限位,下限位值。設(shè)定完成后再執(zhí)行AD轉(zhuǎn)換,接下來(lái)是判斷一下液晶屏上是否有報(bào)警指示輸出,如果有的話就不執(zhí)行顯示水塔液位這一子程序,直接判斷是否首次啟動(dòng)AD轉(zhuǎn)換;否則在液晶屏上顯示通過(guò)AD轉(zhuǎn)換得來(lái)的水塔水位值。下一步再判斷AD轉(zhuǎn)換是否是首次啟動(dòng),是首次啟動(dòng)就直接判斷測(cè)量值是否小于預(yù)設(shè)的上限位AD值,如果此時(shí)小于上限

15、位,再判斷是否小于下限位AD值,如果判得小于下限位則再判斷井中是否有水,接著如果判得井中有水就執(zhí)行上水工作。經(jīng)過(guò)一個(gè)延時(shí)程序后再執(zhí)行下一次循環(huán)。(2)有所不同的是在執(zhí)行到判得檢測(cè)值大于下限位時(shí)不執(zhí)行上述循環(huán),而是再判斷之前水泵的工作狀態(tài),如果之前水泵是上水狀態(tài)則轉(zhuǎn)到判斷井中是否有水,接著再執(zhí)行上水工作,否則繼續(xù)循環(huán)保持水泵停機(jī)狀態(tài)。(3)當(dāng)水塔中的水高出上限位,此時(shí)執(zhí)行斷開(kāi)繼電器這一指令,讓水泵停機(jī)。到此,上水工作完成。繼續(xù)循環(huán)檢測(cè),用戶用水會(huì)使水塔水位低于上限值,這時(shí)再執(zhí)行判斷之前水泵是否在上水狀態(tài),如果判得之前水泵沒(méi)在上水狀態(tài)則繼續(xù)執(zhí)行循環(huán)判斷,如此一來(lái)就保證了低于水位下限時(shí)水泵開(kāi)始上水,

16、并一直上水達(dá)到上限位為止。再保持水塔水位用到低于下限位時(shí)開(kāi)始打水。2 出現(xiàn)故障時(shí):(1)當(dāng)井中水位傳感器檢測(cè)到井中缺水時(shí)會(huì)調(diào)用報(bào)警子程序,在液晶屏上顯示“井中缺水”字樣,并響起蜂鳴器,同時(shí)斷開(kāi)控制水泵的繼電器。再執(zhí)行一個(gè)長(zhǎng)延時(shí)子程序,等待井中積攢下足夠的水后再執(zhí)行上水工作。(2)當(dāng)判斷AD值始終保持不變次數(shù)達(dá)到十次時(shí),則需要再判斷控制水泵的繼電器是否一直吸合,如果滿足這兩個(gè)條件則可判知水泵可能出現(xiàn)故障,這時(shí)就需要液晶顯示“水泵故障”,同時(shí)蜂鳴報(bào)警,并立即斷開(kāi)控制水泵的繼電器。6 實(shí)驗(yàn)仿真結(jié)果 根據(jù)所設(shè)計(jì)系統(tǒng)的軟件流程圖,編寫(xiě)相應(yīng)的程序在kill軟件環(huán)境下實(shí)現(xiàn)仿真,并且還通過(guò)51單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)板

17、進(jìn)行了模擬實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠?qū)崿F(xiàn)水位檢測(cè)、電機(jī)故障檢測(cè)、處理和報(bào)警等功能,具有良好的檢測(cè)控制功能,可移植性和擴(kuò)展性強(qiáng)。7 結(jié)束語(yǔ) 該系統(tǒng)設(shè)計(jì)是基于在單片機(jī)嵌入式系統(tǒng)基礎(chǔ)上而設(shè)計(jì)的,充分利用單片機(jī)強(qiáng)大控制功能,該檢測(cè)控制系統(tǒng)經(jīng)過(guò)軟件仿真實(shí)驗(yàn)和單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)板模擬實(shí)驗(yàn),基本實(shí)現(xiàn)了水位模擬檢測(cè)、電機(jī)故障模擬檢測(cè)、處理和報(bào)警等功能。進(jìn)一步優(yōu)化了系統(tǒng)軟硬件整體功能,可實(shí)時(shí)實(shí)現(xiàn)水塔自動(dòng)控制,因此,該系統(tǒng)在水塔自動(dòng)控制領(lǐng)域有著廣闊的應(yīng)用前景。附錄1 PCB原理圖附錄2 C程序#include #include #define uchar unsigned char#define uint uns

18、igned intsbit adrd=P37; /IO口定義sbit diola=P25;sbit dula=P26;sbit wela=P27; sbit BEEP=P23 ; /蜂鳴器驅(qū)動(dòng)線sbit LCD_RS = P35; sbit LCD_RW = P36;sbit LCD_EN = P34;bit presence,flag;uchar code cdis1 = PLEASE CHECK ;uchar code cdis2 = DEEP: ;uchar code cdis3 = TH: TL: ;unsigned char data deep_data2 = 0x00,0x00;u

19、nsigned char data deep_alarm2 = 0x0a,0xff;unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00; /深度值顯示unsigned char data display13 = 0x00,0x00,0x00; unsigned char code mytab18 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00;unsigned char code mytab28 = 0x01,0x1b,0x1d,0x19,0x1d,0x1b,0x01,0x00; /小喇叭#defin

20、e delayNOP(); _nop_();_nop_();_nop_();_nop_();unsigned char deep,deep_comp,timecount,count,compare_th,compare_tl;/數(shù)據(jù)存放位置void Disp_deep_alarm(uchar addr,uchar num);void Natural_Menu ();void spk(uchar addr);void set_deep_alarm();void deep_compare();void beep();/*/void delay1(int ms) unsigned char y; w

21、hile(ms-) for(y = 0; y0;a-) ; /需要注意的是ADC0804在寫(xiě)和/讀之間的時(shí)間間隔要足夠長(zhǎng)否則無(wú)法讀出數(shù)據(jù) for(a=20;a0;a-); /這里把顯示部分放這里的原 wela=1; /重新打開(kāi)有AD片選信號(hào)鎖存器 P1=0xff; /讀取P1口之前先給其寫(xiě)全1 P0=0; /選通ADCS adrd=0; /AD讀使能 sl=P1;/AD數(shù)據(jù)讀取賦給P1口 adrd=1; P0=0xff; /關(guān)閉ADCS LCD_RW=0; deep_data0 = sl ; /深度 TR0=1; /開(kāi)中斷/*/* 數(shù)據(jù)轉(zhuǎn)換與深度顯示 /*/ Disp_Temperature(

22、) display4=deep_data0&0x0f; display0=(display4*10/16)+0x30; display4=(deep_data0&0xf0)4)|(deep_data1&0x0f)4); display3=display4/100+0x30; display1=display4%100; display2=display1/10+0x30; display1=display1%10+0x30; if(display3=0x30) /高位為0,不顯示 display3=0x20; if(display2=0x30) /次高位為0,不顯示 display2=0x20

23、; ; ; lcd_pos(0x07); lcd_wdat(display3); /百位數(shù)顯示 lcd_wdat(display2); /十位數(shù)顯示 lcd_wdat(display1); /個(gè)位數(shù)顯示 lcd_wdat(.); lcd_wdat(display0); /小數(shù)位數(shù)顯示 lcd_wdat(%); /顯示%void beep() unsigned char y; for (y=0;y100;y+) Delay(70); BEEP=!BEEP; /BEEP取反 ; BEEP=1; /關(guān)閉蜂鳴器Delay(25000);/*/* ad0804 正常顯示菜單 /*/void Natura

24、l_Menu () uchar m; lcd_init(); /初始化LCD lcd_pos(0); /設(shè)置顯示位置為第一行的第1個(gè) for(m=0;m16;m+); lcd_wdat(cdis2m); /顯示字符 lcd_pos(0x40); /設(shè)置顯示位置為第二行第1個(gè)字 for(m=0;m9) timecount=0; flag=flag; ;/*/*小喇叭閃動(dòng) */*/void spk(uchar addr) if(flag) lcd_pos(addr); lcd_wdat(0x01); /小喇叭顯示 else lcd_pos(addr); lcd_wdat(0x20); /清屏 ;/

25、*/ 深度比較函數(shù)/*/void deep_compare() if(deep_comp = deep_alarm0) /比較 TH 值 compare_th=1; else compare_th=0; if(deep_comp deep_alarm1) /比較 TL 值 compare_tl=1; else compare_tl=0;if(compare_th) spk(0x46); /小喇叭閃動(dòng) beep(); count=deep_alarm0; else lcd_pos(0x46); lcd_wdat(0x20); if(compare_tl) spk(0x4e); /小喇叭閃動(dòng) be

26、ep(); count=deep_alarm1; else lcd_pos(0x4e); lcd_wdat(0x20); /*/ 深度報(bào)警值閃動(dòng)/*/void Set_tempalarm_Flash(uchar addr,uchar num) if(flag) deep_alarmnum=count; Disp_deep_alarm(addr,num); /顯示溫度報(bào)警值 else lcd_pos(addr); lcd_wdat(0x20); lcd_wdat(0x20); lcd_wdat(0x20); ;/*/* 主函數(shù) /*/void main() uchar m;TMOD=0x01;

27、TH0=0x4c; TL0=0x00; /50ms定時(shí)EA=1; ET0=1; TR0=1;P0=0;P2&=0x1F; Natural_Menu ();/正常顯示界面Delay(50000);while(1)Read_deep();/讀取當(dāng)前溫度Delay(50000);Disp_Temperature();/更新當(dāng)前溫度deep_compare();/深度上下限比較Set_tempalarm_Flash(); /end of while(1) /end of main()參考文獻(xiàn):(1)胡壽松主編.自動(dòng)控制原理.第四版.北京:科學(xué)出版社,2001年(2)劉豹主編.現(xiàn)代控制理論.第二版.北京

28、:機(jī)械工業(yè)出版社,2004年(3)朱曉青主編.過(guò)程檢測(cè)控制技術(shù)與應(yīng)用.北京:冶金工業(yè)出版社,2002年(4)李朝青編著.單片機(jī)原理及接口技術(shù).簡(jiǎn)明修訂版.北京:北京航天航空大學(xué)出版社,1998年(5)李廣弟單片機(jī)技術(shù)中央廣播電視大學(xué),2001年(6)何立民MCS一5l系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)配制和接口北京:北京航天大學(xué)出版社(7)曹文輝實(shí)用的自動(dòng)排水及水塔自動(dòng)控制電路J中國(guó)科技信息,2006,(6):5-6(8)趙利明,張廣輝水塔水位自動(dòng)控制系統(tǒng)J重慶電力高等??茖W(xué)校學(xué)報(bào),2000,(9):20-23目 錄 第1節(jié) 引 言31.1 智能電風(fēng)扇控制系統(tǒng)概述 31.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容 3第2節(jié)

29、 系統(tǒng)主要硬件電路設(shè)計(jì) 52.1 總體硬件設(shè)計(jì) 52.2 數(shù)字溫度傳感器模塊設(shè)計(jì) 5 溫度傳感器模塊的組成 5 2.2.2 DS18B20的溫度處理方法 62.3 電機(jī)調(diào)速與控制模塊設(shè)計(jì) 7 2.3.1 電機(jī)調(diào)速原理7 2.3.2 電機(jī)控制模塊硬件設(shè)計(jì)82.4 溫度顯示與控制模塊設(shè)計(jì) 9第3節(jié) 系統(tǒng)軟件設(shè)計(jì)103.1 數(shù)字溫度傳感器模塊程序設(shè)計(jì)103.2 電機(jī)調(diào)速與控制模塊程序流程15 程序設(shè)計(jì)原理 15 主要程序16第4節(jié) 結(jié)束語(yǔ)19 參考文獻(xiàn)20基于單片機(jī)的智能電風(fēng)扇控制系統(tǒng)第1節(jié) 引 言 電風(fēng)扇曾一度被認(rèn)為是空調(diào)產(chǎn)品沖擊下的淘汰品,其實(shí)并非如此,市場(chǎng)人士稱,家用電風(fēng)扇并沒(méi)有隨著空調(diào)的普及

30、而淡出市場(chǎng),近兩年反而出現(xiàn)了市場(chǎng)銷售復(fù)蘇的態(tài)勢(shì)。其主要原因:一是風(fēng)扇和空調(diào)的降溫效果不同空調(diào)有強(qiáng)大的制冷功能,可以快速有效地降低環(huán)境溫度,但電風(fēng)扇的風(fēng)更溫和,更加適合老人兒童和體質(zhì)較弱的人使用;二是電風(fēng)扇有價(jià)格優(yōu)勢(shì),價(jià)格低廉而且相對(duì)省電,安裝和使用都非常簡(jiǎn)單。盡管電風(fēng)扇有其市場(chǎng)優(yōu)勢(shì),但傳統(tǒng)電風(fēng)扇還是有許多地方應(yīng)當(dāng)進(jìn)行改良的,最突出的缺點(diǎn)是它不能根據(jù)溫度的變化適時(shí)調(diào)節(jié)風(fēng)力大小,對(duì)于夜間溫差大的地區(qū),人們?cè)谙囊故褂秒婏L(fēng)扇時(shí)可能遇到這樣的問(wèn)題:當(dāng)凌晨降溫的時(shí)候電風(fēng)扇依然在工作,可是人們因?yàn)槭焖鵁o(wú)法察覺(jué),既浪費(fèi)電資源又容易引起感冒,傳統(tǒng)的機(jī)械定時(shí)器雖然能夠控制電風(fēng)扇在工作一定后關(guān)閉,但定時(shí)范圍有限,

31、且無(wú)法對(duì)溫度變化靈活處理。鑒于以上方面的考慮,我們需要設(shè)計(jì)一種智能電風(fēng)扇控制系統(tǒng)來(lái)解決這些問(wèn)題。1.1 智能電風(fēng)扇控制系統(tǒng)概述 傳統(tǒng)電風(fēng)扇是220V交流電供電,電機(jī)轉(zhuǎn)速分為幾個(gè)檔位,通過(guò)人為調(diào)整電機(jī)轉(zhuǎn)速達(dá)到改變風(fēng)力大小的目的,亦即,每次風(fēng)力改變,必然有人參與操作,這樣勢(shì)必帶來(lái)諸多不便。本設(shè)計(jì)中的智能電風(fēng)扇控制系統(tǒng),是指將電風(fēng)扇的電機(jī)轉(zhuǎn)速作為被控制量,由單片機(jī)分析采集到的數(shù)字溫度信號(hào),再通過(guò)可控硅對(duì)風(fēng)扇電機(jī)進(jìn)行調(diào)速。從而達(dá)到無(wú)須人為控制便可自動(dòng)調(diào)整風(fēng)力大小的效果。1.2 設(shè)計(jì)任務(wù)和主要內(nèi)容本設(shè)計(jì)以MCS51單片機(jī)為核心,通過(guò)溫度傳感器對(duì)環(huán)境溫度進(jìn)行數(shù)據(jù)采集,從而建立一個(gè)控制系統(tǒng),使電風(fēng)扇隨溫度的

32、變化而自動(dòng)變換檔位,實(shí)現(xiàn)“溫度高,風(fēng)力大,溫度低,風(fēng)力弱”的性能。另外,通過(guò)鍵盤(pán)控制面板,用戶可以在一定范圍內(nèi)設(shè)置電風(fēng)扇的最低工作溫度,當(dāng)溫度低于所設(shè)置溫度時(shí),電風(fēng)扇將自動(dòng)關(guān)閉,當(dāng)高于此溫度時(shí)電風(fēng)扇又將重新啟動(dòng)。本設(shè)計(jì)主要內(nèi)容如下: 風(fēng)速設(shè)為從高到低5個(gè)檔位,可由用戶通過(guò)鍵盤(pán)手動(dòng)設(shè)定。 當(dāng)溫度每降低2則電風(fēng)扇風(fēng)速自動(dòng)下降一個(gè)檔位。 當(dāng)溫度每升高2則電風(fēng)扇風(fēng)速自動(dòng)上升一個(gè)檔位。 用戶可設(shè)定電風(fēng)扇最低工作溫度,當(dāng)?shù)陀谠摐囟葧r(shí),電風(fēng)扇自動(dòng)停轉(zhuǎn)。第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì) 2.1 總體硬件設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)框圖如圖2-1所示鍵盤(pán)輸入溫度顯示單片機(jī)系統(tǒng)電機(jī)控制模塊數(shù)字溫度傳感模塊圖2-1 系統(tǒng)原理框圖

33、對(duì)于單片機(jī)中央處理系統(tǒng)的方案設(shè)計(jì),根據(jù)要求,我們可以選用具有4KB片內(nèi)E2PROM的AT89C51單片機(jī)作為中央處理器。作為整個(gè)控制系統(tǒng)的核心,AT89C51內(nèi)部已包含了定時(shí)器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器等硬件,其硬件能符合整個(gè)控制系統(tǒng)的要求,不需要外接其他存儲(chǔ)器芯片和定時(shí)器件,方便地構(gòu)成一個(gè)最小系統(tǒng)。整個(gè)系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強(qiáng),性價(jià)比高。是比較合適的方案2.2 數(shù)字溫度傳感器模塊設(shè)計(jì) 溫度傳感器可以選用LM324A的運(yùn)算放大器,將其設(shè)計(jì)成比例控制調(diào)節(jié)器,輸出電壓與熱敏電阻的阻值成正比,但這種方案需要多次檢測(cè)后方可使采樣精確,過(guò)于煩瑣。所以我采用更為優(yōu)秀的DS18B20數(shù)字溫度傳感器,它可以直

34、接將模擬溫度信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),降低了電路的復(fù)雜程度,提高了電路的運(yùn)行質(zhì)量。 溫度傳感器模塊組成本模塊以DS18B20作為溫度傳感器,AT89C51作為處理器,配以溫度顯示作為溫度控制輸出單元。整個(gè)系統(tǒng)力求結(jié)構(gòu)簡(jiǎn)單,功能完善。電路圖如圖2-2所示。系統(tǒng)工作原理如下:DS18B20進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,將測(cè)量數(shù)據(jù)送入AT89C51的P3.7口,經(jīng)過(guò)單片機(jī)處理后顯示溫度值,并與設(shè)定溫度值的上下限值比較,若高于設(shè)定上限值或低于設(shè)定下限值則控制電機(jī)轉(zhuǎn)速進(jìn)行調(diào)整。圖2-2 DS18B20溫度計(jì)原理圖2.2.2 DS18B20的溫度處理方法DS18B20直接將測(cè)量溫度值轉(zhuǎn)化為數(shù)字量提交給單片機(jī),工作時(shí)必須嚴(yán)格遵守單總線器件的工作時(shí)序。溫度值/ 數(shù)字輸出(二進(jìn)制) 數(shù)字輸出(十六進(jìn)制) +85 0000 0101 0101 0000 0550H +25.625 0000 0001 1001 0001 0191H +10.125 0000 0000 1010 0010 00A2H+0.5 0000 0000 0000 1000 0008H 0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論