




版權(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ī)開發(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ì),并完成了開發(fā)板模擬仿真過(guò)程。通過(guò)此次設(shè)計(jì)過(guò)程,自己在分析問(wèn)題、解決問(wèn)題方面的能力得到了很大程度的提高。關(guān)鍵詞: MCS-51單片機(jī) 液壓傳感器 AD轉(zhuǎn)換 水塔水位檢控目 錄引言31、系統(tǒng)設(shè)計(jì)方案比較及論證32、系統(tǒng)原理框圖43、工作原理44、硬件設(shè)計(jì)44.
3、1 STC89C52RC單片機(jī)簡(jiǎn)介44.2 鎖存器(74HC573)簡(jiǎn)介54.3 ADC0804簡(jiǎn)介64.4 單片機(jī)與繼電器及蜂鳴器的接口電路74.5 井中缺水信號(hào)檢測(cè)電路84.6 壓力傳感器介紹94.7 LCD1602液晶顯示屏接線圖及其引腳功能圖104.8 開關(guān)電源部分105、軟件設(shè)計(jì)125.1 程序流程圖125.2 程序流程圖解析136、實(shí)驗(yàn)仿真結(jié)果137、結(jié)束語(yǔ)13致謝14附 錄15附錄1 PCB原理圖15附錄2 C程序16參考文獻(xiàn)26基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)山西綜合職業(yè)技術(shù)學(xué)院 李月鵬引言 水塔供水的主要問(wèn)題是塔內(nèi)水位應(yīng)始終保持在一定范
4、圍,避免“空塔”、“溢塔”現(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ò)在51單片機(jī)實(shí)驗(yàn)開
5、發(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ò)前置放大、AD轉(zhuǎn)換模塊變
6、換成數(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è)水塔的液位高度,并與開始預(yù)設(shè)定的上、下限值做比較,由單片機(jī)控制固態(tài)繼電器的開斷進(jìn)行液位的調(diào)整,最終達(dá)到液位的預(yù)設(shè)定值范圍內(nèi)。檢測(cè)值若高于上限設(shè)定值時(shí),要求報(bào)警,同時(shí)斷開
7、繼電器,使水泵停止上水;檢測(cè)值若低于下限設(shè)定值,要求報(bào)警,同時(shí)開啟繼電器,控制水泵開始上水?,F(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芯片為核心,由鍵盤、LCD1602液晶顯示、ADC0804模數(shù)轉(zhuǎn)換、液壓傳感器、開關(guān)電源、蜂鳴報(bào)警、電磁繼電器等部分組成。工作過(guò)程如下:水塔液位發(fā)生變化時(shí),引起水塔中液壓傳感器的輸出電壓值變化,即把壓力變化量轉(zhuǎn)化成電
8、壓信號(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ò)鍵盤能夠自由設(shè)置水位上下限值。該系統(tǒng)控制器的最大特點(diǎn)是可直觀地顯示水位占水塔容積的百分量,并可任意控制水位上下限高度。 4 硬件設(shè)計(jì)液位控制器的硬件主要包括由單片機(jī)、液壓傳感器(帶變送器)、鍵盤電路、液晶顯示電路、AD轉(zhuǎn)換器和輸出控制電路等。 4.1 STC89C52單片機(jī)簡(jiǎn)介 單片機(jī)采用的是由STC公司生產(chǎn)的雙列40腳STC89C52RC芯片。STC公司生產(chǎn)的STC89C52RC單片機(jī)
9、,是一款性價(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)自帶看門狗、雙數(shù)據(jù)指針等。目前STC公司的單片機(jī)在國(guó)內(nèi)市場(chǎng)上的占有率與日俱增。其中在這里我們把P0口連接LCD1602液晶顯示屏;P1口用于AD轉(zhuǎn)換; P2口用于控制電磁閥、蜂鳴報(bào)警和鍵盤輸入;P3口用于讀寫控制和中斷等。下圖
10、是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í)候,左右兩端就被斷開了,無(wú)論輸入端怎么變化,輸出端都不會(huì)變化,當(dāng)?shù)?1角由低電平變?yōu)楦唠娖降囊凰查g,輸入端的數(shù)據(jù)立刻被傳送到輸出端,并且在11角保持為高電平期間,輸出端數(shù)據(jù)始終的輸入端數(shù)據(jù)相同,如果此時(shí)我們?cè)俅伟训?1角設(shè)置為低電平,那么以
11、后當(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開始轉(zhuǎn)換。CS與WR同時(shí)有效時(shí)啟動(dòng)
12、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)沒有使用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 ADC0804與
13、單片機(jī)接線圖4.4 單片機(jī)與繼電器及蜂鳴器的接口電路簡(jiǎn)介 采用光電耦合器的開關(guān)量輸出電路如下圖所示。+5V電源為單片機(jī)電源,+24V電源為開關(guān)量輸出電源,兩個(gè)電源是隔離的。當(dāng)單片機(jī)輸出端口輸出高電平時(shí),經(jīng)與非門電路,A點(diǎn)為低電平,經(jīng)光耦器件使驅(qū)動(dòng)晶體管V導(dǎo)通,出口繼電器J得電吸合。當(dāng)輸出端輸出低電平時(shí),經(jīng)與非門電路,A點(diǎn)輸出高電平,經(jīng)光耦器件使V截止,J釋放。以此來(lái)控制水泵執(zhí)行運(yùn)行或停止工作。 圖5 單片機(jī)與繼電器接口電路原理圖說(shuō)明:P2.5口接的J,是為了判斷接觸器是否吸合,從而判知水泵是否得電,以此來(lái)檢測(cè)配合完成單片機(jī)內(nèi)部程序的運(yùn)行。也就是說(shuō)程序流程圖上的“判斷水泵的
14、前一個(gè)工作狀態(tài)”就是通過(guò)此處的接觸器常開觸點(diǎn)J的通斷來(lái)判斷的。 圖6 單片機(jī)與蜂鳴器接口電路原理圖4.5 井中缺水信號(hào)檢測(cè)電路 圖7 井中缺水信號(hào)檢測(cè)電路說(shuō)明:通過(guò)井中的兩電極是否導(dǎo)通來(lái)判斷井中是否缺水,當(dāng)井中水位過(guò)低、不足以淹沒兩檢測(cè)電極,則P2.0口會(huì)檢測(cè)到一個(gè)低電平輸入信號(hào),單片機(jī)可判知井中缺水,并作出相應(yīng)的動(dòng)作指令,如缺水報(bào)警、水泵停機(jī)等緊急動(dòng)作。4.6 壓力傳感器介紹經(jīng)過(guò)市場(chǎng)及網(wǎng)上實(shí)際調(diào)查發(fā)現(xiàn),目前的液壓傳感器價(jià)格普遍偏高,多為高規(guī)格工業(yè)用品。為實(shí)現(xiàn)低價(jià)位高功能,在此我們通過(guò)氣壓傳感器改制了一個(gè)液壓傳感器。同樣可以滿足實(shí)際要求。傳感器使用SY一9411LD型變送器,它內(nèi)部含有1個(gè)壓力
15、傳感器和相應(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)圖4.7 LCD1602液晶顯示屏接線圖及其引腳功能圖 圖9 LCD1
16、602與單片機(jī)的接線圖 圖10 LCD1602液晶屏的各引腳功能圖4.8 開關(guān)電源部分隨著全球?qū)δ茉磫?wèn)題的重視,電子產(chǎn)品的耗能問(wèn)題將愈來(lái)愈突出,如何降低其待機(jī)功耗,提高供電效率成為一個(gè)亟待解決的問(wèn)題。傳統(tǒng)的線性穩(wěn)壓電源雖然電路結(jié)構(gòu)簡(jiǎn)單、工作可靠,但它存在著效率低(只有40% 50%)、體積大、銅鐵消耗量大,工作溫度高及調(diào)整范圍小等缺點(diǎn)。為了提高效率,人們研制出了開關(guān)式穩(wěn)壓電源,它的效率可達(dá)85% 以上,穩(wěn)壓范圍寬,除此之外,還具有穩(wěn)壓精度高、不使用電源變壓器等特點(diǎn),是一種較理想的穩(wěn)壓電源。正因?yàn)槿绱耍_關(guān)式穩(wěn)壓電源已廣泛應(yīng)用于各種電子設(shè)備中,本著節(jié)能環(huán)保、電能高效利用的原則,本設(shè)計(jì)選用了開關(guān)電
17、源為整個(gè)模塊供電。下面是對(duì)開關(guān)電源基本原理的簡(jiǎn)單介紹。1 開關(guān)式穩(wěn)壓電源的基本工作原理 開關(guān)式穩(wěn)壓電源接控制方式分為調(diào)寬式和調(diào)頻式兩種,在實(shí)際的應(yīng)用中,調(diào)寬式使用較多,在目前開發(fā)和使用的開關(guān)電源集成電路中,絕大多數(shù)為脈寬調(diào)制型。因此下面就主要介紹調(diào)寬式開關(guān)穩(wěn)壓電源。調(diào)寬式開關(guān)穩(wěn)壓電源的基本原理可參見下圖。 圖11 調(diào)寬式開關(guān)穩(wěn)壓電源的基本原理對(duì)于單極性矩形脈沖來(lái)說(shuō),其直流平均電壓Uo取決于矩形脈沖的寬度,脈沖越寬,其直流平均電壓值就越高。直流平均電壓。可由公式計(jì)算,即Uo=Um×T1/T,式中Um為矩
18、形脈沖最大電壓值;T為矩形脈沖周期;T1為矩形脈沖寬度。從上式可以看出,當(dāng)Um 與T 不變時(shí),直流平均電壓Uo 將與脈沖寬度T1 成正比。這樣,只要我們?cè)O(shè)法使脈沖寬度隨穩(wěn)壓電源輸出電壓的增高而變窄,就可以達(dá)到穩(wěn)定電壓的目的。2 開關(guān)式穩(wěn)壓電源的原理電路 開關(guān)式穩(wěn)壓電源的基本電路框圖如圖二所示。交流電壓經(jīng)整流電路及濾波電路整流濾波后,變成含有一定脈動(dòng)成份的直流電壓,該電壓進(jìn)人高頻變換器被轉(zhuǎn)換成所需電壓值的方波,最后再將這個(gè)方波電壓經(jīng)整流濾波變?yōu)樗枰闹绷麟妷骸?#160; 控制電路為一脈沖寬度調(diào)制器,它主要由取
19、樣器、比較器、振蕩器、脈寬調(diào)制及基準(zhǔn)電壓等電路構(gòu)成。這部分電路目前已集成化,制成了各種開關(guān)電源用集成電路??刂齐娐酚脕?lái)調(diào)整高頻開關(guān)元件的開關(guān)時(shí)間比例,以達(dá)到穩(wěn)定輸出電壓的目的。
20、160; 圖12 開關(guān)電源基本電路框圖 5. 軟件設(shè)計(jì)5.1 程序流程圖 圖13 程序流程圖5.2 程序流程圖解析1 正常工作時(shí):(1)假設(shè)初始時(shí)水塔中無(wú)水,經(jīng)過(guò)開始、初始化程序后首先判斷是否有按鍵鍵入,如果有的話執(zhí)行按鍵調(diào)試子程序,通過(guò)按鍵可以設(shè)定上限位,下限位值。設(shè)定完成后再執(zhí)行AD轉(zhuǎn)換,接下來(lái)是判斷一下液晶屏上是否有報(bào)警指示輸出,如果有的話就不執(zhí)行顯示水塔液位這一子程序,直接判斷是否首次啟動(dòng)AD轉(zhuǎn)換;
21、否則在液晶屏上顯示通過(guò)AD轉(zhuǎn)換得來(lái)的水塔水位值。下一步再判斷AD轉(zhuǎn)換是否是首次啟動(dòng),是首次啟動(dòng)就直接判斷測(cè)量值是否小于預(yù)設(shè)的上限位AD值,如果此時(shí)小于上限位,再判斷是否小于下限位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í)行斷開繼電器這一指令,讓水泵停機(jī)。到此,上水工作完成。繼續(xù)循環(huán)檢測(cè),用戶用水
22、會(huì)使水塔水位低于上限值,這時(shí)再執(zhí)行判斷之前水泵是否在上水狀態(tài),如果判得之前水泵沒在上水狀態(tài)則繼續(xù)執(zhí)行循環(huán)判斷,如此一來(lái)就保證了低于水位下限時(shí)水泵開始上水,并一直上水達(dá)到上限位為止。再保持水塔水位用到低于下限位時(shí)開始打水。2 出現(xiàn)故障時(shí):(1)當(dāng)井中水位傳感器檢測(cè)到井中缺水時(shí)會(huì)調(diào)用報(bào)警子程序,在液晶屏上顯示“井中缺水”字樣,并響起蜂鳴器,同時(shí)斷開控制水泵的繼電器。再執(zhí)行一個(gè)長(zhǎng)延時(shí)子程序,等待井中積攢下足夠的水后再執(zhí)行上水工作。(2)當(dāng)判斷AD值始終保持不變次數(shù)達(dá)到十次時(shí),則需要再判斷控制水泵的繼電器是否一直吸合,如果滿足這兩個(gè)條件則可判知水泵可能出現(xiàn)故障,這時(shí)就需要液晶顯示“水泵故障”,同時(shí)蜂鳴
23、報(bào)警,并立即斷開控制水泵的繼電器。6 實(shí)驗(yàn)仿真結(jié)果 根據(jù)所設(shè)計(jì)系統(tǒng)的軟件流程圖,編寫相應(yīng)的程序在kill軟件環(huán)境下實(shí)現(xiàn)仿真,并且還通過(guò)51單片機(jī)實(shí)驗(yàn)開發(fā)板進(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)開發(fā)板模擬實(shí)驗(yàn),基本實(shí)現(xiàn)了水位模擬檢測(cè)、電機(jī)故障模擬檢測(cè)、處理和報(bào)警等功能。進(jìn)一步優(yōu)化了系統(tǒng)軟硬件整體功能,可實(shí)
24、時(shí)實(shí)現(xiàn)水塔自動(dòng)控制,因此,該系統(tǒng)在水塔自動(dòng)控制領(lǐng)域有著廣闊的應(yīng)用前景。致 謝經(jīng)過(guò)半個(gè)多月的匆忙準(zhǔn)備,我們組所選的“基于51單片機(jī)控制的水塔自動(dòng)供水系統(tǒng)”終于小有所成。在這期間非常感謝我的導(dǎo)師陳毅鵬老師和張慧明老師,還有所有培育過(guò)我的老師們!是他們悉心指導(dǎo)、耐心教誨下才讓我逐漸發(fā)現(xiàn)知識(shí)的“廬山真面目”,并從中體驗(yàn)到了學(xué)習(xí)研究過(guò)程中所帶來(lái)的巨大樂(lè)趣。這些天我還體悟到一個(gè)道理:任何一件偉大的事情都是由若干個(gè)細(xì)節(jié)堆砌而成的,要想取得最后的成功,那就必須把握好中間過(guò)程的每一個(gè)細(xì)節(jié)。同時(shí)在這里我也要感謝我的隊(duì)友們,是大家的共同努力才贏得了這次小小的勝利,團(tuán)隊(duì)的力量是偉大的,三人行必有我?guī)熝伞B仿湫捱h(yuǎn)兮
25、,吾將上下而求索!在今后的工作學(xué)習(xí)中我會(huì)深深的記住并運(yùn)用此次獲得的經(jīng)驗(yàn)教訓(xùn),相信以后的日子里在該行業(yè)領(lǐng)域我會(huì)有更大的收獲。附 錄附錄1 PCB原理圖附錄2 C程序#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned 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_R
26、W = 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;unsigned char data deep_alarm2 = 0x0a,0xff;unsigned char data display5 = 0x00,0x00,0x00,0x00
27、,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; /小喇叭#define delayNOP(); _nop_();_nop_();_nop_();_nop_();unsigned char deep,deep_comp,timecount,count,
28、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; while(ms-) for(y = 0; y<250; y+) _nop_(); _nop_(); _nop_(); _nop_(); /檢查L(zhǎng)CD忙狀態(tài) /*lcd_busy
29、為1時(shí),忙,等待。lcd-busy為0時(shí),閑,可寫指令與數(shù)據(jù)*/*/bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /*/*寫指令數(shù)據(jù)到LCD */ /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 /*/void lcd_wcmd(uchar cmd) delay1(10); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _no
30、p_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/*寫顯示數(shù)據(jù)到LCD /*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 /*/void lcd_wdat(uchar dat) delay1(10); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/* LCD初始化設(shè)定 /*/void lcd_init() delay1(15); lcd_wcmd(0x01);
31、 /清除LCD的顯示內(nèi)容 lcd_wcmd(0x38); /16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) delay1(5); lcd_wcmd(0x38); delay1(5); lcd_wcmd(0x38); delay1(5); lcd_wcmd(0x0c); /顯示開,關(guān)光標(biāo) delay1(5); lcd_wcmd(0x06); /移動(dòng)光標(biāo) delay1(5); lcd_wcmd(0x01); /清除LCD的顯示內(nèi)容 delay1(5);/*/* 設(shè)定顯示位置 /*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80); /數(shù)據(jù)指針=80+地址變量/*/*us
32、級(jí)延時(shí)函數(shù) /*/void Delay(unsigned int num) while( -num );/*/* 讀取深度 /*/ Read_deep(void) uchar a,sl; TR0=0; /關(guān)中斷,防止讀數(shù)錯(cuò)誤 wela=1; P0=0; /選通ADCS LCD_RW=0;/AD寫入(隨便寫個(gè)什么都行, LCD_RW=1; P0=0xff; /關(guān)閉ADCS Delay(10); wela=0; /關(guān)閉有AD片選信號(hào)鎖存器的鎖/存端以防止在操作數(shù)碼管時(shí)使AD的片選發(fā)生變化 for(a=20;a>0;a-) ; /需要注意的是ADC0804在寫和/讀之間的時(shí)間間隔要足夠長(zhǎng)否則無(wú)
33、法讀出數(shù)據(jù) for(a=20;a>0;a-); /這里把顯示部分放這里的原 wela=1; /重新打開有AD片選信號(hào)鎖存器 P1=0xff; /讀取P1口之前先給其寫全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; /開中斷/*/* 數(shù)據(jù)轉(zhuǎn)換與深度顯示 /*/ Disp_Temperature() display4=deep_data0&0x0f; display0=(display4*10/16)+0
34、x30; 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; ; ; lcd_pos(0x07); lcd_wdat(d
35、isplay3); /百位數(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;y<100;y+) Delay(70); BEEP=!BEEP; /BEEP取反 ; BEEP=1; /關(guān)閉蜂鳴器Delay(25000);/*/* ad0804 正常顯示菜單 /*/void Natural_Menu
36、() uchar m; lcd_init(); /初始化LCD lcd_pos(0); /設(shè)置顯示位置為第一行的第1個(gè) for(m=0;m<16;m+); lcd_wdat(cdis2m); /顯示字符 lcd_pos(0x40); /設(shè)置顯示位置為第二行第1個(gè)字 for(m=0;m<16;m+); lcd_wdat(cdis3m); /顯示字符 Read_deep(); Disp_deep_alarm(0x43,0); /顯示deeph值 Disp_deep_alarm(0x4b,1); /顯示deepl值 Disp_Temperature(); /顯示實(shí)時(shí)深度值/*/ 顯示報(bào)警
37、深度/*/void Disp_deep_alarm(uchar addr,uchar num) /0=TH,1=TL display12=deep_alarmnum/100+0x30; display10=deep_alarmnum%100; display11=display10/10+0x30; display10=display10%10+0x30; lcd_pos(addr); lcd_wdat(display12); /百位數(shù)顯示 lcd_wdat(display11); /十位數(shù)顯示 lcd_wdat(display10); /個(gè)位數(shù)顯示 /*/ Time0中斷函數(shù)/*/void
38、Time0(void) interrupt 1 using 0 TH0=0x4c; /50ms定時(shí) TL0=0x00; timecount+; if(timecount>9) 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); /清屏 ;/*/ 深度比較函數(shù)/*/void deep_compare() if(deep_comp >= deep_alar
39、m0) /比較 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) beep(); count=deep_alarm1; else lcd_pos(0x4e); lcd_wd
40、at(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; TH0=0x4c; TL0=0x00; /50ms定時(shí)EA=1; ET0=1; TR0=1;P0=0;
41、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)代控制理論.第二版.北京:機(jī)械工業(yè)出版社,2004年(3)朱曉青主編.過(guò)程檢測(cè)控制技術(shù)與應(yīng)用.北京:冶金工業(yè)出版社,2
42、002年(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重慶電力高等專科學(xué)校學(xué)報(bào),2000,(9):20-23g an employment tribunal claiEmployment tribunals sort out disagreements between employers and
43、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 unfairly.For more information about dismissal and unfair dismis
44、sal, 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 reduce 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 li
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 共同承包甲方合同范例
- 醫(yī)藥物流收購(gòu)合同范例
- 培養(yǎng)學(xué)生審美素養(yǎng)的幼兒園教研計(jì)劃
- 兒童心理學(xué)家的咨詢項(xiàng)目與研究計(jì)劃
- 2025年自我保護(hù)中班標(biāo)準(zhǔn)教案
- 班級(jí)交流平臺(tái)建設(shè)計(jì)劃
- 品牌體驗(yàn)經(jīng)濟(jì)的興起與趨勢(shì)計(jì)劃
- 《貴州盛聯(lián)新能源投資有限公司赫章縣松林坡鄉(xiāng)騰達(dá)煤礦〔兼并重組(調(diào)整)〕礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》專家組評(píng)審意見
- 縫紉機(jī)操作知識(shí)培訓(xùn)課件
- 營(yíng)銷人員心理素質(zhì)專業(yè)培訓(xùn)教程優(yōu)化方案
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- 安徽省“江淮十校”2025屆高三第三次模擬考試數(shù)學(xué)試卷含解析
- 物聯(lián)網(wǎng)安全漏洞挖掘與修復(fù)-洞察分析
- 2025上半年江蘇連云港市事業(yè)單位招聘歷年管理單位筆試遴選500模擬題附帶答案詳解
- 房產(chǎn)中介店長(zhǎng)招聘合同模板
- 2024年考研數(shù)學(xué)三試題及答案
- 【MOOC】寫作與表達(dá)-常熟理工學(xué)院 中國(guó)大學(xué)慕課MOOC答案
- 2025年政府預(yù)算支出經(jīng)濟(jì)分類科目說(shuō)明表
- 2024解析:第十章 浮沉條件及應(yīng)用-基礎(chǔ)練(原卷版)
- 《婦女保健講座》課件
- 計(jì)算與人工智能概論(湖南大學(xué))知到智慧樹章節(jié)答案
評(píng)論
0/150
提交評(píng)論