基于單片機(jī)的雙容水箱液位控制器設(shè)計(jì)_第1頁
基于單片機(jī)的雙容水箱液位控制器設(shè)計(jì)_第2頁
基于單片機(jī)的雙容水箱液位控制器設(shè)計(jì)_第3頁
基于單片機(jī)的雙容水箱液位控制器設(shè)計(jì)_第4頁
基于單片機(jī)的雙容水箱液位控制器設(shè)計(jì)_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說明書〔畢業(yè)論文〕摘要液位作為工業(yè)生產(chǎn)過程中的主要的被控參數(shù)之一,被廣泛應(yīng)用于冶金、建材、化工、食品、石油等工業(yè)中,工藝過程中液位的控制效果直接影響著所生產(chǎn)出的產(chǎn)品質(zhì)量?,F(xiàn)代工業(yè)中的液位控制系統(tǒng)規(guī)模日趨復(fù)雜化、大型化,液位控制已逐漸成為目前過控領(lǐng)域的一個(gè)研究熱點(diǎn)?;趩纹瑱C(jī)的液位控制器具有性能穩(wěn)定、可靠,控制精度高,造價(jià)低,設(shè)置方便,操作方便等優(yōu)點(diǎn)。本設(shè)計(jì)利用單片機(jī)實(shí)現(xiàn)對(duì)雙容水箱液位的控制,該系統(tǒng)是以上下兩個(gè)串聯(lián)的水箱為研究對(duì)象,把下水箱的液位作為被控參數(shù),通過壓力變送器測量水箱的液位,并把測量結(jié)果送到以單片機(jī)為核心的控制器作為反響信號(hào),控制器再根據(jù)預(yù)先設(shè)置的增量型PID控制算法進(jìn)行運(yùn)算,發(fā)出控制命令控制執(zhí)行機(jī)構(gòu)之一的調(diào)節(jié)閥開度大小,從而改變進(jìn)入上水箱中水的流量大小,實(shí)現(xiàn)水箱液位的自動(dòng)控制,整個(gè)控制過程中,水泵電機(jī)保持勻速供水。關(guān)鍵詞:單片機(jī)STC89C52,液位控制,增量式PID控制算法,LED顯示AbstractThelevelischargedwithoneoftheparametersoftheindustrialproductionprocess,themostimportant,widelyusedinmetallurgy,buildingmaterials,chemicals,food,petroleumandotherindustries,thelevelofcontrolintheprocessdirectlyinfluencestheproductionofproductsquality.LevelControlSystemscaleofmodernindustryarebecomingincreasinglycomplex,large-scale,levelcontrolhasgraduallybecometheProcessControlfieldofahotresearchtopic.Basedonsinglechipwaterlevelcontrollerhasmanyadvantages,suchasstableperformance,reliable,highcontrolprecision,lowcost,easysetup,easyoperation.Thedesignusesinglechipachievedual-tankwaterlevelcontrolsystemisbasedonthetwoupperandlowerwatertanksinseriesforthestudy,thefollowingtankleveliscontrolledparameters,thepressuretransmittertomeasurethelevelofthewatertank,andthemeasurementsgavemicrocontrollerasthecorecontrollerasthefeedbacksignal,thecontrollerbasedonincrementalPIDcontrolalgorithmispre-setcomputing,issuecontrolcommandstocontroltheactuatorvalveopeningsize,thuschangingintotheflowofwateronthetanksize.tankliquidlevelautomaticcontrol.Keywords:singlechipSTC89C52,liquidlevelcontrol,incrementalPIDcontrolalgorithm,LEDdisplay摘要 IAbstractII第一章引言 研究背景 國內(nèi)液位控制的開展現(xiàn)狀 PID調(diào)節(jié)器簡介設(shè)計(jì)思路 設(shè)計(jì)意義 第二章硬件組成 系統(tǒng)硬件組成概述 數(shù)據(jù)采集電路 壓力變送器 I/V轉(zhuǎn)換電路A/D轉(zhuǎn)換器STC89C52RC單片機(jī)D/A轉(zhuǎn)換器DAC0832引腳功能DAC0832工作方式DAC0832工作時(shí)序V/I轉(zhuǎn)換電路執(zhí)行機(jī)構(gòu) 控制閥 水泵電機(jī) 掉電存儲(chǔ)器 LED顯示LED顯示器的結(jié)構(gòu)移位存放器 第三章硬件設(shè)計(jì) STC89C52單片機(jī)模塊電路晶振電路 復(fù)位電路最小系統(tǒng) LED顯示模塊A/D轉(zhuǎn)換電路D/A轉(zhuǎn)換電路V/I轉(zhuǎn)換電路鍵盤電路 串口通信電路 第四章軟件設(shè)計(jì) 主程序流程圖 A/D轉(zhuǎn)換子程序鍵盤控制子程序 PID控制子程序LED顯示子程序Keil軟件Keil軟件簡介Keil軟件編程流程及程序下載第五章系統(tǒng)的調(diào)試及說明 硬件設(shè)計(jì)調(diào)試 軟件設(shè)計(jì)調(diào)試 鍵盤和顯示軟件設(shè)計(jì) 輸入信號(hào)的測量 PID控制量計(jì)算及數(shù)據(jù)處理軟硬件聯(lián)合調(diào)試 總結(jié) 參考文獻(xiàn) 附錄A本設(shè)計(jì)原理圖附錄B主程序致謝 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說明書〔畢業(yè)論文〕第一章引言研究背景液位是工業(yè)生產(chǎn)過程中的主要被控參數(shù)之一,廣泛應(yīng)用于冶金、化工、建材、食品、石油等工業(yè)中,工藝過程中液位的控制效果直接影響著所生產(chǎn)出的產(chǎn)品質(zhì)量。現(xiàn)代工業(yè)中的液位控制系統(tǒng)規(guī)模日趨復(fù)雜化、大型化,液位控制已逐漸成為目前過控領(lǐng)域的一個(gè)研究熱點(diǎn)。國內(nèi)液位控制的開展現(xiàn)狀德州學(xué)院機(jī)電工程系的金秀慧做了基于MCGS的液位監(jiān)控系統(tǒng)設(shè)計(jì),它是一種基于AT89C51單片機(jī)的遠(yuǎn)程液位數(shù)據(jù)采集監(jiān)控系統(tǒng),采用單片機(jī)作為控制核心,上位機(jī)采用MCGS編寫的監(jiān)控軟件,整個(gè)監(jiān)控系統(tǒng)可以完成液位信號(hào)的采集與轉(zhuǎn)換、數(shù)據(jù)傳送和顯示、控制等功能[2]。北方工業(yè)大學(xué)理學(xué)院的安艷偉做了基于單片機(jī)的分布式液位控制系統(tǒng)設(shè)計(jì),設(shè)計(jì)了一種基于51單片機(jī)為核心的多機(jī)分布式液位控制系統(tǒng),由數(shù)據(jù)采集模塊,處理模塊和多機(jī)通信平臺(tái)組成,既滿足了測量精度的要求,同時(shí)具有較高的可靠性,本錢低,控制靈活。隨著傳感技術(shù)的不斷提高,分布式監(jiān)控系統(tǒng)應(yīng)用日趨廣泛,一個(gè)高質(zhì)量、合理化的多機(jī)串行通信平臺(tái)就顯得尤為重要[19]。南京郵電大學(xué)的牛標(biāo)和張代遠(yuǎn)所做的可監(jiān)控智能液位控制器系統(tǒng)設(shè)計(jì)中列舉了液位控制系統(tǒng)可以采取的硬件方案以及他們各自的優(yōu)缺點(diǎn),采用FPGA作為控制器可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可應(yīng)用EDA軟件仿真、調(diào)試,易于進(jìn)行功能擴(kuò)展⑸。FPGA采用并行輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。但是由于其集成度高,使其本錢偏高,同時(shí)由于芯片的引腳較多,實(shí)物硬件電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作[5]。根據(jù)哈爾濱工業(yè)大學(xué)的李小平所做的《液位控制系統(tǒng)建模及其控制算法的研究》對(duì)幾種控制算法進(jìn)行了研究,其中包括PID控制算法、大林算法、Smith預(yù)估控制算法、模糊控制算法等,并通過編程說明了其可行性和優(yōu)越性:PID控制器是迄今為止應(yīng)用最廣泛的反響形式,它具有結(jié)構(gòu)簡單、容易實(shí)現(xiàn)、控制效果好等特點(diǎn),且原理簡明,參數(shù)物理意義明確,理論分析體系完整;大林控制算法的最大的特點(diǎn)是,將期望的閉環(huán)響應(yīng)設(shè)計(jì)成一階慣性環(huán)節(jié)加純延遲,然后反過來得到能滿足這種閉環(huán)響應(yīng)的控制器[12。它是克服純滯后的有效方法,一階系統(tǒng)很快到達(dá)穩(wěn)定,波動(dòng)較少;Smith預(yù)估控制算法是一種簡單而有效的控制方法,但只適用于單輸入單輸出系統(tǒng),它的最大優(yōu)點(diǎn)是將時(shí)滯環(huán)節(jié)移到了閉環(huán)之外,是控制品質(zhì)大大提高,它的最大缺點(diǎn)是太過依賴精確的數(shù)學(xué)模型,對(duì)于外部擾動(dòng)非常敏感,魯棒性較差;模糊控制是一種新型控制方法,在冶金、化工、電力和家電等工業(yè)部門都有成功應(yīng)用,它避開了復(fù)雜的數(shù)學(xué)模型,控制系統(tǒng)的魯棒性強(qiáng),通常能得到比擬好的性能指標(biāo),適用于水位這樣的滯后非線性系統(tǒng)[12]。PID調(diào)節(jié)器簡介傳統(tǒng)的調(diào)節(jié)器多為模擬調(diào)節(jié)器,這種調(diào)節(jié)器多用氣動(dòng)或電動(dòng)單元組合儀表來完成。隨著單片機(jī)在控制領(lǐng)域中的廣泛應(yīng)用,利用計(jì)算機(jī)軟件設(shè)計(jì)控制算法,具有更大的可靠性、靈活性以及更好的控制效果。因此,以單片機(jī)為中心、采用數(shù)字算法的數(shù)字調(diào)節(jié)器正不斷代替著模擬調(diào)節(jié)器。在控制過程中,應(yīng)用最廣泛的調(diào)節(jié)器控制規(guī)律為比例〔P〕、積分〔I〕、微分〔D〕控制,簡稱PID控制,又稱PID調(diào)節(jié)。在單回路反響控制系統(tǒng)中,由被控對(duì)象、變送器、控制器、和控制閥四個(gè)根本環(huán)節(jié)構(gòu)成??刂破鞯膮?shù)對(duì)控制系統(tǒng)的控制效果產(chǎn)生很大影響:控制系統(tǒng)的動(dòng)態(tài)誤差、靜態(tài)誤差、穩(wěn)定性都是通過對(duì)控制器的參數(shù)調(diào)節(jié)進(jìn)行控制的。自從PID控制器問世到現(xiàn)在已有近70年的歷史,它以穩(wěn)定性好、結(jié)構(gòu)簡單、調(diào)整方便、工作可靠為優(yōu)點(diǎn)成為工業(yè)控制領(lǐng)域的主要技術(shù)之一。當(dāng)被控對(duì)象的參數(shù)和結(jié)構(gòu)不能完全掌握,或者得不到準(zhǔn)確的數(shù)學(xué)模型時(shí),系統(tǒng)控制器的參數(shù)和結(jié)構(gòu)必須依靠現(xiàn)場調(diào)試和經(jīng)驗(yàn)來確定,這時(shí)采用PID控制最為方便。即當(dāng)我們不能完全了解系統(tǒng)的被控對(duì)象或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時(shí),最適合采用PID控制技術(shù)。設(shè)計(jì)思路本設(shè)計(jì)利用單片機(jī)實(shí)現(xiàn)對(duì)雙容水箱液位的控制,該系統(tǒng)是以上下兩個(gè)串聯(lián)的水箱為研究對(duì)象,把下水箱的液位作為被控參數(shù),通過壓力變送器測量水箱的液位,并把測量結(jié)果送到以單片機(jī)為核心的控制器作為反響信號(hào),控制器再根據(jù)預(yù)先設(shè)置的增量型PID控制算法進(jìn)行運(yùn)算,發(fā)出控制命令控制執(zhí)行機(jī)構(gòu)之一的調(diào)節(jié)閥開度大小,從而改變進(jìn)入上水箱中水的流量大小,實(shí)現(xiàn)水箱液位的自動(dòng)控制,整個(gè)控制過程中,水泵電機(jī)保持勻速供水。系統(tǒng)工藝如圖1.1所示:圖1.1系統(tǒng)工藝圖設(shè)計(jì)意義本設(shè)計(jì)之所以選擇用單片機(jī)進(jìn)行控制是由于其具有體積小、功能強(qiáng)、可靠性能高、造價(jià)比低和開發(fā)周期短等優(yōu)點(diǎn)。而單片機(jī)控制系統(tǒng)以其性能穩(wěn)定、可靠,控制精度高,造價(jià)低,設(shè)置方便,操作方便等優(yōu)點(diǎn),被應(yīng)用到液位控制系統(tǒng)中來,增強(qiáng)了系統(tǒng)的可視性,使得人機(jī)交互的能力進(jìn)一步提高。雙容水箱本身存在慣性大、擾動(dòng)多等問題,本設(shè)計(jì)利用積分別離和帶死區(qū)的增量型PID控制可以成功的克服這些問題。這些問題的有效克服使得液位控制系統(tǒng)在工業(yè)上具有很大的研究價(jià)值。第二章硬件組成系統(tǒng)硬件組成概述本設(shè)計(jì)的硬件結(jié)構(gòu)如圖2.1所示。圖2.1系統(tǒng)硬件結(jié)構(gòu)框圖數(shù)據(jù)采集電路數(shù)據(jù)采集電路的功能主要是采集容器中的實(shí)時(shí)液位高度,并且把這個(gè)采集到的模擬信號(hào)轉(zhuǎn)換成單片機(jī)可識(shí)別的數(shù)字信號(hào)送入單片機(jī)。壓力變送器壓力變送器測量的是壓力信號(hào),根據(jù)液位參數(shù)與壓力參數(shù)的關(guān)系即式〔2.1〕得到液位信號(hào),從而將液位測量的數(shù)據(jù)轉(zhuǎn)換為壓力測量的數(shù)據(jù)。PDEgh 〔2.D環(huán)境溫度—10℃?+60℃介質(zhì)溫度—20℃?+70℃電壓輸出型輸出阻抗至250Q〔DC24V環(huán)境溫度—10℃?+60℃介質(zhì)溫度—20℃?+70℃電壓輸出型輸出阻抗至250Q〔DC24V供電時(shí)〕:0?5VDC供電電壓DC24V(12V?32V)負(fù)載能力電流輸出型^500:4?20mADC表2.1JYB-KO-HAG壓力變送器技術(shù)參數(shù)JYB-KO-HAG壓力變送器用途:航空航天領(lǐng)域,工業(yè)現(xiàn)場過程壓力控制,儀器醫(yī)療食品等行業(yè),石油化工行業(yè),航海及造船行業(yè),水電、水利、發(fā)電廠等行業(yè)。JYB-KO-HAG壓力變送器具有以下的特點(diǎn):抗過載、抗沖擊、抗干擾等能力強(qiáng);溫度補(bǔ)償激光調(diào)阻,使用溫域?qū)?;防浪涌電壓,反向極性保護(hù);抗腐蝕性能好,可以測量多種介質(zhì);過流過壓保護(hù)電路;進(jìn)口陶瓷芯片或擴(kuò)散硅,適用于不同場合的壓力測量;穩(wěn)定性高,實(shí)用性廣;安裝簡便,小巧精致等。JYB-KO-HAG型擴(kuò)散硅壓力傳感器的測量精度:A級(jí)〔士0.2%F.S〕,B級(jí)〔±〕.5%F.S〕。量程是:0-60MPa內(nèi)任量程,最小量程為5kPa。JYB-KO-HAG型陶瓷壓力傳感器的測量精度:A級(jí)〔土0.%F.S〕,B級(jí)〔士1%F.S〕。量程是:0-10MPa內(nèi)任量程,最小量程為30kPa。.Z/V轉(zhuǎn)換電路測量所得的液位模擬信號(hào)經(jīng)過壓力變送器輸出4-20mA直流信號(hào)后,再經(jīng)250。電阻轉(zhuǎn)換成直流1-5V標(biāo)準(zhǔn)電壓信號(hào),送入4口轉(zhuǎn)換器。A/D轉(zhuǎn)換器在工業(yè)控制過程中,被測參數(shù)〔如流量、溫度、液位、壓力、速度等〕都是連續(xù)變化的量,稱為模擬量。而單片機(jī)只能處理數(shù)字量,所以在數(shù)據(jù)進(jìn)入單片機(jī)之前,必須把模擬量轉(zhuǎn)換成為單片機(jī)可識(shí)別的數(shù)字量,能夠到達(dá)這一目的的器件,稱之為模數(shù)轉(zhuǎn)換器,即A/D轉(zhuǎn)換器。A/D轉(zhuǎn)換器有很多種,依據(jù)位數(shù)來區(qū)分,有16位、12位、10位、8位等。其位數(shù)越高,分辨率也就越高。通常使用的A/D轉(zhuǎn)換器是將一個(gè)輸入模擬信號(hào)轉(zhuǎn)換為一個(gè)輸出的數(shù)字信號(hào),本設(shè)計(jì)所用的AQ轉(zhuǎn)換器是ADC0832,它可實(shí)現(xiàn)0-5V模擬電壓信號(hào)的8位數(shù)字量轉(zhuǎn)換。本設(shè)計(jì)采用ADC0832模數(shù)轉(zhuǎn)換器與I/V轉(zhuǎn)換電路相連接,對(duì)輸入的1-5V電壓信號(hào)進(jìn)行采樣。現(xiàn)場傳來的4-20mA電流信號(hào)經(jīng)過適當(dāng)?shù)妮斎朕D(zhuǎn)換電路轉(zhuǎn)換為單片機(jī)可接受的1-5V電壓信號(hào)后直接接至單片機(jī)讀寫引腳上。同時(shí)對(duì)轉(zhuǎn)換后的數(shù)字量進(jìn)行數(shù)字濾波、標(biāo)度變換等數(shù)據(jù)處理,增加數(shù)據(jù)的可信度、提高其抗干擾能力和穩(wěn)定性。ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種雙通道、8位分辨率的AD轉(zhuǎn)換芯片。由于它的兼容性、性價(jià)比高,體積小而深受企業(yè)及單片機(jī)愛好者歡送,因此到目前為止它已經(jīng)有很高的普及率了。ADC0832具有以下特點(diǎn):雙通道人/D轉(zhuǎn)換;8位分辨率;5V電源供電時(shí)輸入電壓在0-5V之間;輸入輸出電平與TTL/CMOS相兼容;一般功耗僅為15mW;8P、14P-DIP〔雙列直插〕、PICC多種封裝;商用級(jí)芯片溫寬為0℃到+70℃,而工業(yè)級(jí)芯片溫寬那么為00℃到+85℃;工作頻率為250KHz,轉(zhuǎn)換時(shí)間為32口S。芯片引腳如圖2.2所示。芯片接口說明:CS:低電平芯片使能,片選使能。CH1:模擬輸入通道1〔或作為IN+或IN-使用〕。CH0:模擬輸入通道0〔作為IN+或IN-使用〕。GND:地〔芯片參與0電位〕。DO:轉(zhuǎn)換數(shù)據(jù)輸出,數(shù)據(jù)信號(hào)輸出。DI:選擇通道控制,數(shù)據(jù)信號(hào)輸入。VCC/REF:電源輸入端及參考電壓輸入端〔復(fù)用〕。CLK:芯片時(shí)鐘輸入端。CHOCH1CSDO>CLKD工MtEF圖2.2ADC0832引腳ADC0832為8位分辨率的A/D轉(zhuǎn)換芯片,其最高可達(dá)256級(jí)分辨率,可以適應(yīng)一般的模數(shù)轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用〔VCC/REF〕,使得芯片的模擬電壓輸入在0-5丫之間。芯片據(jù)有雙數(shù)據(jù)輸出,其可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,芯片轉(zhuǎn)換時(shí)間僅為32uS,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使處理器控制和多器件掛接變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易實(shí)現(xiàn)通道功能的選擇。正常情況下,單片機(jī)與ADC0832的接口應(yīng)為4條數(shù)據(jù)線〔CS、CLK、DO、DI〕。其中,由于DI端與DO端在通信時(shí)與單片機(jī)的接口是雙向的并且未同時(shí)有效,所以電路設(shè)計(jì)時(shí)可以將DI和DO并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832沒有開始工作時(shí),它的CS使能端應(yīng)為高電平,此時(shí)芯片禁用,DO/DI和CLK的電平可任意。當(dāng)要進(jìn)行AD轉(zhuǎn)換時(shí),需先將CS使能端置低電平并保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CLK輸入時(shí)鐘脈沖,DO/DI端那么使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第一個(gè)時(shí)鐘脈沖下沉之前DI端必須置高電平,表示起始信號(hào)。在第二、三個(gè)脈沖下沉前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能,其功能見表2.2。如表2.2所示,當(dāng)2位數(shù)據(jù)為“1、1”時(shí),只對(duì)CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“1、0”時(shí),只對(duì)CH0進(jìn)行單通道轉(zhuǎn)換。如表2.3所示,當(dāng)2位數(shù)據(jù)為“0、0”時(shí),CH1作為負(fù)輸入端及-進(jìn)行輸入,將CH0作為正輸入端及+。當(dāng)2位數(shù)據(jù)為“0、1”時(shí),CH0作為負(fù)輸

入端我-進(jìn)行輸入,將CH1作為正輸入端及+。作為單通道模擬信號(hào)輸入時(shí),8位分辨率時(shí)的電壓精度為19.53mV,ADC0832的輸入電壓是0-5V。如果作為由IN-與IN+輸入時(shí),可以將電壓值設(shè)定在一個(gè)較大的范圍之內(nèi),從而提高轉(zhuǎn)換寬度。值得注意的是,在進(jìn)行IN-與IN+的輸入時(shí),如果IN+的電壓小于IN-的電壓那么轉(zhuǎn)換后的數(shù)據(jù)結(jié)果始終為00H。表2.3多路尋址:ADC0832差分多路方式多路尋址通道表2.3多路尋址:ADC0832差分多路方式多路尋址通道SGL/DIFODD/SIGN0100+01+CLOCK(CLK)?-15ET-WPADDRESSMUX表2.2多路尋址:ADC0832單端多路方式多路尋址通道SGL/DIFODD/SIGN0110+11+圖2.3ADC0832時(shí)序圖ADC0832時(shí)序如圖2.3所示,當(dāng)CS由高變低時(shí),ADC0832選通。在時(shí)鐘信號(hào)是上升沿時(shí),DI端的數(shù)據(jù)移入ADC0832內(nèi)部的多路地址移位存放器。在第一個(gè)時(shí)鐘脈沖期間,DI為高電平,表示啟動(dòng)位,緊接著輸入兩位配置位。當(dāng)輸入啟動(dòng)位和配置位后,選

通輸入模擬控制通道,轉(zhuǎn)換開始。轉(zhuǎn)換開始后,經(jīng)過一個(gè)時(shí)鐘周期延接著在第一個(gè)時(shí)鐘周期的延遲,以到達(dá)使選定通道穩(wěn)定的目的。到第3個(gè)時(shí)鐘脈沖的下降沿之后DI端的輸入電平就失去了輸入作用,此后DO/DI端那么開始依靠數(shù)據(jù)輸出端DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個(gè)時(shí)鐘脈沖下降開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位data7,隨著每一個(gè)時(shí)鐘脈沖下沉,DO端輸出下一位數(shù)據(jù),直到第11個(gè)脈沖時(shí)輸出最低位數(shù)據(jù)data0,一個(gè)字節(jié)的數(shù)據(jù)輸出結(jié)束。反過來從此位開始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)字節(jié)的下降沿輸出data。,隨后依次輸出8位數(shù)據(jù),到第19個(gè)脈沖時(shí)數(shù)據(jù)輸出結(jié)束。這也標(biāo)志著一次AD轉(zhuǎn)換結(jié)束了。最后將CS置高電平使芯片禁用,然后直接將轉(zhuǎn)換過的數(shù)據(jù)進(jìn)行處理就可以了。假設(shè)要再進(jìn)行一次AD轉(zhuǎn)換,片選信號(hào)CS必須再次從高向低跳變,然后后面再輸入啟動(dòng)位和配置位。STC89C52RC單片機(jī)STC系列單片機(jī)芯片是由STMicroelectronics公司生產(chǎn),并有宏晶公司做為大陸代理商。STMicroelectronics(意法半導(dǎo)體公司)是1987年6月位于意大利的SGS微電子公司和位于法國的湯姆遜微電子公司合并后產(chǎn)生的。1998年5月,公司由原來的SGS湯姆遜(SGSTHOMSON)微電子公司改名為意法半導(dǎo)體公司(STMicroelectronics),簡稱ST公司。STC89C52是一種帶8K字節(jié)閃爍可擦除可編程只讀存儲(chǔ)器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的高性能、低電壓的微處理器,俗稱單片機(jī)。單片機(jī)引腳電路如圖2.4所示,實(shí)物如以下圖2.5所示:P33P32P32P37LPLPLPLPLE&nnMTP3?P3630卻裁罰雙2536P33P32P32P37LPLPLPLPLE&nnMTP3?P3630卻裁罰雙253627LCIDLttji:l3HD5電D7PPPPPPPP二一&

盟一黑圖2.4單片機(jī)引腳電路圖2.5單片機(jī)STC89C52實(shí)物圖STC89C52RC可以代替AT89C51,速度更快,功能更強(qiáng),價(jià)格更低,壽命更長。STC89C52RC的內(nèi)核與AT51系列單片機(jī)一樣,即引腳排列與外形相同。管腳說明如下:GND:地線。VCC:電源輸入端,接+5V電源。P0口:8位漏級(jí)開路雙向I/O口,名稱為P0.0—P0.7。每個(gè)引腳可吸收8個(gè)TTL門電流。P0能夠當(dāng)做外部程序數(shù)據(jù)存儲(chǔ)器使用,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程過程中,P0口被當(dāng)作原碼輸入口,在FIASH進(jìn)行校驗(yàn)時(shí),P0口輸出原碼,此時(shí)的P0外部必須被拉高。P1口:帶內(nèi)部上拉電阻的8位雙向I/O口,名稱為P1.0—P1.7。P1口緩沖器能接收輸出4個(gè)TTL門電流。P1口管腳寫入“1”時(shí),其管腳被內(nèi)部上拉電阻拉至高電平時(shí),可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉電阻的原因。在FLASH校驗(yàn)和編程時(shí),P1口被用作第八位地址接收端。P2口:帶內(nèi)部上拉電阻的8位雙向I/O口,名稱為P2.0—P2.7。P2口緩沖器可接收輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉至高電平時(shí),可用為輸入。P2口的管腳被外部拉至低電平時(shí),將輸出電流。這是由于內(nèi)部上拉電阻的原因。P2口當(dāng)做16位地址外部數(shù)據(jù)存儲(chǔ)器或作外部程序存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位在寫入地址“1”時(shí),利用內(nèi)部上拉電阻優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH校驗(yàn)和編程時(shí)接收高八位控制信號(hào)和地址信號(hào)。P3口:帶內(nèi)部上拉電阻的雙向I/O口,名稱為P3.0—P3.7??山邮蛰敵?個(gè)TTL門電流。當(dāng)P3口被寫入“1”后,它們被內(nèi)部上拉電阻拉至高電平,并用作輸入。作為輸入,由于外部電阻下拉至低電平,P3口將輸出電流,這是由于上拉電阻的原因。在校驗(yàn)和編程時(shí),P3口可接收某些控制信號(hào)。具體的P3口功能,如表2.4所示。ALE/PROG:地址鎖存允許信號(hào)。當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平引腳替代功能說明P3.0RXD串行數(shù)據(jù)接收端P3.1TXD串行數(shù)據(jù)發(fā)送端P3.2INT0外部中斷0申請(qǐng)端P3.3INT1外部中斷1申請(qǐng)端P3.4T0定時(shí)器0外部事件計(jì)數(shù)輸入端P3.5T1定時(shí)器1外部事件計(jì)數(shù)輸入端P3.6WR引腳替代功能說明P3.0RXD串行數(shù)據(jù)接收端P3.1TXD串行數(shù)據(jù)發(fā)送端P3.2INT0外部中斷0申請(qǐng)端P3.3INT1外部中斷1申請(qǐng)端P3.4T0定時(shí)器0外部事件計(jì)數(shù)輸入端P3.5T1定時(shí)器1外部事件計(jì)數(shù)輸入端P3.6WR外部RAM寫選通端P3.7RD外部RAM讀選通端表2.4P3口的特殊功能EA/VPP:程序存儲(chǔ)器的內(nèi)外部選通引腳。接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平那么從內(nèi)部程序存儲(chǔ)器讀指令。當(dāng)EA接低電平時(shí),那么在此期間為外部程序存儲(chǔ)器〔0000H—FFFFH〕讀指令,注意當(dāng)加密方式“1”時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端接高電平時(shí),此期間為內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP〕。RST:復(fù)位輸入端。引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平時(shí),將使單片機(jī)復(fù)位。PSEN:外部程序存儲(chǔ)器的讀選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將消失。XTAL1:內(nèi)部時(shí)鐘工作電路的輸入及反向振蕩器的輸入。XTAL2:反向振蕩器的輸出。D/A轉(zhuǎn)換器本設(shè)計(jì)采用的D/A轉(zhuǎn)換器是DAC0832。它是采用CMOS工藝制成的直流輸出型8位數(shù)/模轉(zhuǎn)換器。它由模擬開關(guān)、倒T型R-2R電阻網(wǎng)絡(luò)、參考電壓VREF和運(yùn)算放大器四大局部組成。輸入的數(shù)字量與輸出的模擬量成正比,這就實(shí)現(xiàn)了從數(shù)字量轉(zhuǎn)換成模擬量的目的。一個(gè)8位D/A轉(zhuǎn)換器有一個(gè)模擬輸出端和8個(gè)輸入端〔其中每個(gè)輸入端是8位二進(jìn)制數(shù)的一位〕。輸入端有256個(gè)不同的二進(jìn)制組態(tài),輸出那么為256個(gè)電壓之一,即輸出電壓不是整個(gè)電壓范圍內(nèi)任意值,而只能是256個(gè)可能值。DAC0832引腳功能DAC0832的引腳如圖2.6所示。1磁VCCWRIILEAGNDWR2DI3XFERDI2 D14Dll D15DIG D16Vref D17RfbIouL2DGNDloutl2021931841751667MS1391210n圖2.6DAC0832引腳引腳說明:DI0—DI7:轉(zhuǎn)換數(shù)據(jù)輸入。CS:片選信號(hào)〔輸入〕,低電平有效。ILE:數(shù)據(jù)鎖存允許信號(hào)端〔輸入〕,高電平有效。WR1:第1寫信號(hào)〔輸入〕,低電平有效。WR1和ILE兩個(gè)信號(hào)控制輸入存放器的控制方式:當(dāng)ILE=1和WR1=1時(shí),為輸入存放器鎖存方式;當(dāng)ILE=1和WR1=0時(shí),為輸入存放器直通方式。WR2:第2寫信號(hào)〔輸入〕,低電平有效。XFER:數(shù)據(jù)傳送控制信號(hào)〔輸入〕,低電平有效。XFER和WR2兩個(gè)信號(hào)控制DAC存放器工作方式:當(dāng)WR2=1和XFER=0時(shí),為DAC存放器鎖存方式;當(dāng)WR2=0和XFER=0時(shí),為DAC存放器直通方式。IOUT1:DAC電流輸出級(jí)1。IOUT2:DAC電流輸出級(jí)2°〔IOUT1+IOUT2為常數(shù)〕Rfb:反響電阻端。DAC0832是電流輸出型,為了取得電壓輸出,需在電壓輸出端接運(yùn)算放大器,Rfb即為集成在片內(nèi)的外接運(yùn)放的反響電阻。Vref:基準(zhǔn)電壓〔-10到+10V〕。Vcc:是源電壓〔+5到+15V〕。DGND:數(shù)字地,可與AGND接在一起使用。AGND:模擬地。DAC0832工作方式DAC0832內(nèi)部主要有3個(gè)存放器,即8位D/A存放器、8位輸入存放器、8位D/A轉(zhuǎn)換器,對(duì)應(yīng)3個(gè)存放器的控制DAC0832有3個(gè)工作方式。單緩沖方式:兩個(gè)存放器中的一個(gè)存放器始終處于直通狀態(tài),即WR1=0或WR2=0,另一個(gè)存放器始終處于受控狀態(tài)。直通方式:WR1=WR2=0時(shí),數(shù)據(jù)可以從輸入端口10—DI7經(jīng)兩個(gè)存放器直接進(jìn)入口/A轉(zhuǎn)換器。雙緩沖方式:兩個(gè)存放器均處于受控狀態(tài)。這種工作方式適合于多模擬信號(hào)同時(shí)輸出的應(yīng)用場合。DAC0832工作時(shí)序DAC0832工作時(shí)序如圖2.7所示。圖2.7DAC0832工作時(shí)序圖WR1=0、CS=0、ILE=1,使輸入數(shù)據(jù)鎖存到輸入存放器。XFER=0、WR2=0,數(shù)據(jù)傳送到DAC存放器并開始轉(zhuǎn)換。V/I轉(zhuǎn)換電路V/I轉(zhuǎn)換是將輸入的電壓信號(hào)轉(zhuǎn)換成需要的電流信號(hào),轉(zhuǎn)換后的電流相當(dāng)于一個(gè)輸出可調(diào)的恒流源,其輸出電流應(yīng)能夠保持穩(wěn)定而不會(huì)隨負(fù)載的變化而變化。本設(shè)計(jì)采用的是三個(gè)運(yùn)放實(shí)現(xiàn)電壓到電流的轉(zhuǎn)換。執(zhí)行機(jī)構(gòu)控制閥該設(shè)計(jì)采用的控制閥ML7420A6033是一個(gè)能夠通過提供其電流大小來控制通過其中的液體流量的裝置。假設(shè)單片機(jī)分析得出的即時(shí)液體高度比設(shè)定值低許多時(shí),就會(huì)輸出一個(gè)比擬大的電流,來控制流量閥的開度使其在單位時(shí)間內(nèi)通過更多的液體,以便液體高度盡快地恢復(fù)到設(shè)定的初始液位值上。反之,開啟排水閥進(jìn)行調(diào)整。技術(shù)參數(shù)如表2.5所示。表2.5控制閥ML7420A6033技術(shù)參數(shù)執(zhí)行器類型閥門提供電壓24Vac±15%控制信號(hào)調(diào)節(jié)型手動(dòng)操作是反響2-10Vdc頻率50/60Hz介質(zhì)溫度℃〕最大值150℃2.6.2水泵電機(jī)當(dāng)水箱水位下降到設(shè)定水位時(shí),水泵電機(jī)可自動(dòng)啟動(dòng)運(yùn)轉(zhuǎn)工作,給水箱補(bǔ)水;當(dāng)水箱水位上漲到設(shè)定的高度時(shí),水泵電機(jī)能自動(dòng)停止供水。本設(shè)計(jì)中水泵電機(jī)的轉(zhuǎn)速始終保持勻速轉(zhuǎn)動(dòng)。掉電存儲(chǔ)器本設(shè)計(jì)采用的掉電存儲(chǔ)設(shè)備是AT24C08。引腳如圖2.8所示。2341G1-TD2341G1-TDVCCNC1CENC2CLKNC3DATU4SVCC7GND6P2dA5P21A— 24CC8圖2.8掉電存儲(chǔ)電路原理圖AT24C08屬于AT24C0X系歹T設(shè)備,該系列具有以下特點(diǎn):與400KHz12c總線兼容;低功耗CMOS技術(shù);1.8至U6.0伏工作電壓范圍;溫度范圍商業(yè)級(jí)工業(yè)級(jí)和汽車級(jí);寫保護(hù)功能當(dāng)WP為高電平時(shí)進(jìn)入寫保護(hù)狀態(tài);自定時(shí)擦寫周期;1,000,00編程/擦除周期;可保存數(shù)據(jù)100年;寫緩沖器;8腳DIPSOIC或TSSOP封裝。AT24C08是一個(gè)8K位串行CMOSE2PROM,內(nèi)部含有1024個(gè)8位字節(jié)CATALYSTN司的先進(jìn)CMOS技術(shù),實(shí)質(zhì)上減少了器件的功耗,AT24C08有一個(gè)16字節(jié)寫緩沖器,該器件通過12c總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。使用AT24C08時(shí)最多可接兩個(gè)器件。假設(shè)只有一個(gè)AT24C08被總線尋址,A2管腳可連接到Vss或懸空。且僅使用地址管腳A0、A1、A2管腳未用,可以懸空或連接到Vss。AT24C08集成電路采用8腳雙列直插式封裝,其集成電路的引腳功能及數(shù)據(jù)見表2.6所列匕AT24C08的極限參數(shù):各管腳承受電壓-2.0Vcc+2.0V;封裝功率損耗Ta為251.0W;焊接溫度〔10秒〕300℃;工作溫度工業(yè)級(jí)-55℃到+125℃;輸出短路電流100mA商業(yè)級(jí)0℃到+75℃;貯存溫度-65℃到+150℃;Vcc管腳承受電壓-2.0V到+7.0V。表2.6AT24C08集成電路引腳功能及數(shù)據(jù)引腳功能電壓〔V〕電阻〔KQ〕紅筆測量黑筆測量1地址A00002地址A00003地址A00004地GND0005數(shù)據(jù)SDA6時(shí)鐘SCL7寫保護(hù)WP8電源Vcc51.4-21.4-2LED顯示LED顯示器的結(jié)構(gòu)數(shù)碼管由7個(gè)發(fā)光二極管〔LED〕構(gòu)成一個(gè)“日”字形,它門可以共陽極,也可以共陰極。它的工作原理是通過解碼電路得到的數(shù)碼導(dǎo)通相應(yīng)的發(fā)光二極而形成相應(yīng)的字。一般的半導(dǎo)體數(shù)碼管是由7個(gè)條狀的發(fā)光二極管〔LED〕排列而形成的,可實(shí)現(xiàn)少量字符及數(shù)字“0?9”的顯示。除此之外,為了實(shí)現(xiàn)小數(shù)點(diǎn)的顯示,增加了1個(gè)點(diǎn)狀的發(fā)光二極管,所以數(shù)碼管由8個(gè)發(fā)光二極管〔LED〕構(gòu)成,這些發(fā)光二極管被分別命名為“a,b,c,d,e,fgdp”。其引腳如圖2.9所示。圖2.9數(shù)碼管引腳圖圖圖2.9數(shù)碼管引腳圖圖數(shù)碼管按各自發(fā)光二極管〔LED〕電極的連接方式可分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。共陽極數(shù)碼管指將所有發(fā)光二極管的陽極連接在一起形成公共陽極〔COM〕的數(shù)碼管。共陽極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共陽極〔COM〕接+5V,當(dāng)某一字段的發(fā)光二極管的陰極為高時(shí),相應(yīng)字段不亮,反之,當(dāng)某一字段的發(fā)光二極管的陰極為低時(shí),相應(yīng)字段點(diǎn)亮。共陽極數(shù)碼管內(nèi)部連接如圖2.10所示。W3C圖2.10共陽極數(shù)碼管內(nèi)部連接圖共陰極數(shù)碼管指將所有發(fā)光二極管的陰極連接在一起形成公共陰極〔COM〕的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共陰極〔COM〕接地線GND上,當(dāng)某一字段的發(fā)光二極管的陽極為低時(shí),相應(yīng)字段不亮,反之,當(dāng)某一字段的發(fā)光二極管的陽極為高時(shí),相應(yīng)字段點(diǎn)亮。共陰數(shù)碼管內(nèi)部連接如圖2.11所示。圖2.11共陰極數(shù)碼管內(nèi)部連接圖應(yīng)字段點(diǎn)亮。共陰數(shù)碼管內(nèi)部連接如圖2.11所示。圖2.11共陰極數(shù)碼管內(nèi)部連接圖假設(shè)要數(shù)碼管能正常顯示,必須用驅(qū)動(dòng)電路驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,以便能夠顯示出我們需要的數(shù)字,故根據(jù)數(shù)碼管驅(qū)動(dòng)方式的不同,可以分為動(dòng)態(tài)方式和靜態(tài)方式兩種。靜態(tài)顯示驅(qū)動(dòng)〔也稱直流驅(qū)動(dòng)〕:指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)顯示具有顯示亮度高和編程簡單的優(yōu)點(diǎn)。其缺點(diǎn)為占用I/O端口過多〔如驅(qū)動(dòng)5個(gè)數(shù)碼管的靜態(tài)顯示那么需40根I/O端口來驅(qū)動(dòng),然而一個(gè)51單片機(jī)可用的I/O端口只有32個(gè)〕;實(shí)際應(yīng)用中必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),這就增加了硬件電路的復(fù)雜性。動(dòng)態(tài)顯示驅(qū)動(dòng):它是單片機(jī)中應(yīng)用最廣泛的一種顯示方式之一。動(dòng)態(tài)顯示驅(qū)動(dòng)是指將所有數(shù)碼管的8個(gè)發(fā)光二極管 的同名端連接在一起,然后為每個(gè)數(shù)碼管的公共極〔COM〕增加一個(gè)位選通控制電路,位選通控制電路是由各自獨(dú)立的I/O線控制的,當(dāng)單片機(jī)輸出的是字形碼時(shí),所有的數(shù)碼管都接收到相同的字形碼,但要想知道究竟是哪個(gè)數(shù)碼管會(huì)顯示出字,那么取決于單片機(jī)對(duì)位選通電路的控制,故只需將要顯示字形的對(duì)應(yīng)數(shù)碼管的選通控制翻開,該位就顯示出字形,假設(shè)數(shù)碼管沒有被選通,那么該數(shù)碼管不會(huì)亮。輪流分時(shí)控制各個(gè)數(shù)碼管的公共〔COM〕端,就可以使各個(gè)數(shù)碼管在控制下輪流顯示,這就是動(dòng)態(tài)顯示驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1ms—2ms,由于發(fā)光二極管的余輝效應(yīng)及人的視覺暫留現(xiàn)象,即使實(shí)際上各位數(shù)碼管并不是同時(shí)被點(diǎn)亮,但是只要掃描的速度足夠快,那么它給人的感覺就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍的感覺,動(dòng)態(tài)顯示的效果和靜態(tài)顯示一樣。用LED顯示器顯示十六進(jìn)制數(shù)的字型代碼如表2.7所示:表2.7LED顯示十六進(jìn)制數(shù)的字型代碼字形共陽極代碼共陰極代碼字形共陽極代碼共陰極代碼0C0H3FH1F9H06H2A4H5BH3B0H4FH499H66H592H6DH682H7DH7F8H07H880H7FH990H6FHA88H77HB83H7CHCC6H39HDA1H5EHE86H79HF8EH71H滅FFH00H2.8.2移位存放器本設(shè)計(jì)采用的74LS164是8位移位存放器,其引腳如圖2.121A VCCB QTQO Q6Qi Q56 必Q3 MRGND CP14213312-1115106g不g圖2.1274LS164引腳圖引腳功能:Clock:時(shí)鐘輸入端。Clear:同步去除輸入端〔低電平有效〕。A、B:為串行數(shù)據(jù)輸入端。QA—QH為輸出端。內(nèi)部邏輯如圖2.13所示。圖2.1374LS164內(nèi)部邏輯圖74LS164工作范圍:輸入電壓5.5V。電源電壓7V。儲(chǔ)存溫度-65℃—150℃。工作環(huán)境溫度0℃—70℃。當(dāng)去除端〔Clear〕為低電平時(shí),輸出端〔QA—QH〕都為低電平,串行數(shù)據(jù)輸入端〔A,B〕可控制數(shù)據(jù)。當(dāng)輸入端C,B〕任意一個(gè)為低電平時(shí),在時(shí)鐘端〔Clock〕脈沖上升沿作用下Q0為低電平,禁止新的數(shù)據(jù)輸入。當(dāng)輸入端C,B〕有一個(gè)為高電平時(shí),

另一個(gè)輸出端就允許輸入數(shù)據(jù),并在Clock上升沿作用下決定Q0的狀態(tài)。74LS164的時(shí)序如圖2.14所示。圖2.14時(shí)序圖第三章硬件設(shè)計(jì)3.1STC89C52單片機(jī)模塊電路3.1.1晶振電路YLji30P山1ji30P11.0592MGND圖3.1晶振電路單片機(jī)晶振電路的作用是為單片機(jī)提供工作頻率,使單片機(jī)能夠完成一定的功能。單片機(jī)的晶振電路分為外部時(shí)鐘信號(hào)和片內(nèi)振蕩電路。當(dāng)使用片內(nèi)振蕩電路時(shí),X1〔J1〕、X2〔J2〕與晶體振蕩器〔簡稱晶振〕及電容C1、C2如圖3.1所示的方式連接構(gòu)成晶振電路。在該電路中,電容C1、C2、晶振以及片內(nèi)與非門〔起反響放大作用的元件,類似于電容三點(diǎn)式振蕩電路中的三極管〕構(gòu)成了電容三點(diǎn)式振蕩器。振蕩電容C1和C2的取值范圍與晶振的頻率及種類有關(guān)。為了減少寄生電容對(duì)振蕩頻率的影響,在印制板上電容C1和C2應(yīng)盡可能靠近單片機(jī)芯片的X1和x2引腳,必要時(shí)可以采用溫度系數(shù)較小的NPO電容。當(dāng)采用外部時(shí)鐘信號(hào)時(shí),外部時(shí)鐘信號(hào)需從X1引腳輸入,x2引腳懸空,原因是單片機(jī)的片內(nèi)時(shí)鐘信號(hào)取自作為反響放大元件的二輸入與非門的一個(gè)輸入端。晶振的電容值,是根據(jù)晶振的頻率計(jì)算出來的,在晶振中含有電阻,由單片機(jī)的頻率值,加上式〔3.1〕可以推導(dǎo)出晶振的上拉電容值在20—40P根本都可以,一般取電容值為30P。TORC 〔3.1〕3.1.2復(fù)位電路為了確保單片機(jī)系統(tǒng)電路可以穩(wěn)定可靠的工作,復(fù)位電路是必不可少的一局部,復(fù)位電路的主要功能是上電復(fù)位。在本設(shè)計(jì)中,RET引腳為復(fù)位輸入端,STC89C52RC采用高電平復(fù)位方式。為了保證CPU內(nèi)部各單元電路可靠復(fù)位,RET引腳復(fù)位脈沖高電平維持時(shí)間必須大于等于2個(gè)機(jī)器周期〔即24個(gè)振蕩周期〕。只要RET引腳保持高電平狀態(tài),那么每隔24個(gè)振蕩周期將重復(fù)一次復(fù)位操作,直到RET引腳變?yōu)榈碗娖?。?fù)位電路如圖3.2所示。電路方面采用的是由RC分立元件構(gòu)成的外部復(fù)位電路。工作原理:按下按鍵K0,RET端為低電平,此時(shí)電容通過電阻R1充電,一定時(shí)間后,電容兩端電壓增大,RET端近似為高電平,單片機(jī)復(fù)位,松開按鍵后,電容通過電阻R2放電,放電一段時(shí)間后,RET端又近似為低電平,復(fù)位結(jié)束,復(fù)位時(shí)間小于等于T?!?.2〕圖3.2復(fù)位電路T(〔3.2〕圖3.2復(fù)位電路T(RDR)*C1 2 1033.1.3最小系統(tǒng)單片機(jī)最小系統(tǒng)很簡單,就是能使單片機(jī)工作的最少的器件構(gòu)成的系統(tǒng)。最小系統(tǒng)雖然簡單,但是卻是大多數(shù)控制系統(tǒng)所必不可少的關(guān)鍵局部。對(duì)于MCS-51單片機(jī),其內(nèi)部已經(jīng)包含了一定數(shù)量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,在外部只要增加時(shí)鐘電路和復(fù)位電路即可構(gòu)成單片機(jī)最小系統(tǒng)。STC89C52RC的最小系統(tǒng)如圖3.3所示。30PRP451K16U:KET9nmP20INTOJ21P22T1P2330PRP451K16U:KET9nmP20INTOJ21P22T1P23TOP24P25直?正P26T27HLsaRZSETRKDTKDrFuJLLT而PSEHSTCB9C52R.DL口F3OmALE-JOo1Q34567ooo-uoooOPPPPPPPPRP35.1K圖3.3單片機(jī)最小系統(tǒng)單片機(jī)系統(tǒng)中的各個(gè)局部是在一個(gè)統(tǒng)一的時(shí)鐘脈沖控制下有序地進(jìn)行工作,因此時(shí)鐘電路是單片機(jī)系統(tǒng)最根本、最重要的電路。MCS-51單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端,如果引腳XTAL1和XTAL2兩端跨接上晶體振蕩器〔晶振〕或陶瓷振蕩器就構(gòu)成了穩(wěn)定的自激振蕩電路,該振蕩電路的輸出可直接送入內(nèi)部時(shí)序電路。大規(guī)模集成電路在上電時(shí)一般都需要進(jìn)行一次復(fù)位操作,以便使芯片內(nèi)的一些部件處于一個(gè)確定的初始狀態(tài),復(fù)位是一種很重要的操作。器件本身一般不具有自動(dòng)上電復(fù)位能力,需要借助外部復(fù)位電路提供的復(fù)位信號(hào)才能進(jìn)行復(fù)位操作。LED顯示模塊在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示?;贚ED的優(yōu)點(diǎn)在本次設(shè)計(jì)中采用了數(shù)碼管的靜態(tài)顯示。所謂靜態(tài)顯示,就是每一個(gè)數(shù)碼管顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開銷小。能供應(yīng)單獨(dú)鎖存的I/O接口電路很多,常用的串并轉(zhuǎn)換電路74LS164。完整的顯示電路圖如圖3.4所示。UILETilLED.CLK9"hl3 LIA LIA1?DPV力, RI , E4 LIB LIE 2bcf■aLED_DATj'l」5 L1C L1C3uL£>6 LID LID4d白ef12LOLIE LIE SJ51DLLL1F LJF 5L2L1G L1G713L1H L1H3如74LSL6ADPY_7-SEG_DPLED2LED_i"LKU29CLR QX>CLK QBQCA QDE QEQF◎GQH3 L2A L2A 1idfye4 L2B L3B2b二J5 L3C L2C3L3ND5 L2D L2D4deaf二LOL2E L2E5J——?_I 510LLL2F L3FE12LM L2G713L2H L2H3dj74LSL64DPY_7-£EGLED3r_DPLED.CLKD35CLR QA¥CLK QEq。A QDB QEQFQGQH3 L3A L3A 1.DPV]口_ S3一一E4 L3B L3E 2br£-a15 L3C L3C3k血£ L3D L3D4d電IEfI%LOL3E L3E5d19t ■-1LLL3F L3F6L2L3G L3G7L3L3H L3H8DFT_7-SEQ_DPLEE:4LED_CLKUU9CLR QA>CLK QBQCJL QDB QEQFwQH3 L4A LdA1& CFTb *□flLip10. 9 ,g4 L4B L4B 25 L4C L* 36 L4D LWD4dcef1LOL4E L4E5—I 510LL L4F L” 占12L4G UG?13L4H UH874LSL^DPY_7-SEG_DP圖3.4LED顯示模塊74LS164是串行輸入并行輸出的移位存放器。它具有兩個(gè)串行輸入端〔人和B〕和8位并行輸出端〔Qa—Qh〕。CLR為異步清零端,當(dāng)其為低電平時(shí),可使74LS164清零

〔復(fù)位〕。因本設(shè)計(jì)不需要復(fù)位,所以將其接+5V。CLK為時(shí)鐘脈沖接收端,用以控制移位存放器的移位節(jié)奏。如圖3.4所示,移位存放器74LS164通過單片機(jī)的P10和P11口獲得數(shù)據(jù)和脈沖,然后再把數(shù)據(jù)送給數(shù)碼管,顯示對(duì)應(yīng)的數(shù)據(jù)。A/D轉(zhuǎn)換電路正常情況下,單片機(jī)與ADC0832的接口應(yīng)為4條數(shù)據(jù)線〔CS、CLK、DO、DI〕。其中,由于DI端與DO端在通信時(shí)與單片機(jī)的接口是雙向的且并未同時(shí)有效,所以電路設(shè)計(jì)時(shí)可以將DI和DO并聯(lián)在一根數(shù)據(jù)線上使用。ADC0832和單片機(jī)相連電路如圖3.5所示。CH] 3P33A]P35A75TOC8CHOCHO匚Hl____csDO)CLKD]VEEFU2ADC0832PLO ]Piri prinPL1 CH] 3P33A]P35A75TOC8CHOCHO匚Hl____csDO)CLKD]VEEFU2ADC0832PLO ]Piri prinPL1 2P)L PQLp:,2 3匚1I? priQp:,3 4ppgp:,4 5p)4 pQ4p:,5 苗Pj5 口05p:,6 7匚“E prifiP17 gP'r? pn?P33 13「產(chǎn)「口ti gnP32 13?LJHLU tJLP22P35 15P34 31L bTO P24P25EA 91五門/P P26P27JI 19XLJ2 13PET 9s-r^RTT pvnTXDP37RT"l ITTfDPT6 16加 PSEM妙5TC39C52RD25P2426P2527P2628P27]0P30]LP3130ALE29PSEH39POO3SPOL37Pfl23£P(guān)fl335PD434Tas33PDA32P072LP20£.02123P3224P23圖3.5A/D轉(zhuǎn)換電路3.4D/A轉(zhuǎn)換電路DAC0832經(jīng)過運(yùn)放uA741輸出0-5V電壓信號(hào)。電路如圖3.6所示。 產(chǎn) 1OKPZ2A5P21AGPMA7-5V 8P23AUI,vccwrTileAGNDWR2XFERDMDI5DI6DI7Im心DDDDVDGNDICbLitl口ACOHME圖3.6D/A轉(zhuǎn)換電路調(diào)幅分析:當(dāng)數(shù)字量為0FFH=255,參考電壓VREF=-5V時(shí),I □—255VREFI □—255VREF—outi 256(RDR)〔3.1〕U□□i OUT1□(RFBFB2卒5□/R)□□■——-^e^L5V2 256(3.2)V/I轉(zhuǎn)換電路圖3.7V/I圖3.7V/I轉(zhuǎn)換電路選擇該電路的理由是三個(gè)運(yùn)算放大電路共同作用,代替了三極管,使電路更簡單、方便,也減少焊接時(shí)的麻煩。設(shè)經(jīng)過第一個(gè)運(yùn)算放大器的輸出電壓為U1,經(jīng)過第二個(gè)運(yùn)算放大器的輸出電壓為U2,經(jīng)過第三個(gè)運(yùn)算放大器的輸出電壓為70,輸入電壓為Ui,輸出電流為10。由式〔3.3〕和式〔3.4〕可得U口.25QJ1U「007一□ 1RR24(3.3)(3.4)由式〔3.3〕和式〔3.4〕可得U口.25QJ1U「007一□ 1RR24(3.3)(3.4)由式〔3.5〕和式〔3.6〕可得RQJ iR2(3.5)U00 00U □R5(3.6)RQU二T 1R5U0U—0 2R10R10U01.25□-i 2R9D-^

R(3.7)(3.8)(3.9)10 9鍵盤電路如圖3.8所示鍵盤控制電路是由K1、K2、K3、0鍵接單片機(jī)的P1.4—P1.7口相連組成的,它完成PID參數(shù)值的設(shè)定和修改。按鍵功能如表3.1,按鍵設(shè)定值如表3.2所示。如PE〉Pill 1PH 2⑸ ITP3Q It:如PE〉Pill 1PH 2⑸ ITP3Q It:P0 3工口2 4P14 JP12' 6o]23456.71-ILIXIL1-1AIXppppppppnmP20□HQP2]TLraaTUp對(duì)P2J甌而P2dmnXI5aRESETRJELTZD逅ALBfWEP3EHSTC89C52RDR.P25.IKO]235qiiPCP3PCP3PI3P3POPIJ10PS11Ml配.江艮圖3.8鍵盤電路表3.1按鍵功能表按鍵功能K1修改PID參數(shù)K2加1鍵K3減1鍵K4確定并返回表3.2按鍵設(shè)定值K1鍵按下的次數(shù)n設(shè)定PID參數(shù)n=1修改比例系數(shù)Kpn=2修改積分常數(shù)Tin=3修改微分常數(shù)Td串口通信電路單片機(jī)與上位機(jī)的聯(lián)系是通過串口來實(shí)現(xiàn)的,兩者遵循一定的協(xié)議。在單片機(jī)與微機(jī)之間的距離在15米范圍內(nèi),采用九針串口中的三根引腳與單片機(jī)相連即可,一個(gè)是串行數(shù)據(jù)發(fā)送端TXD,一個(gè)是串行數(shù)據(jù)接收端RXD,另一個(gè)是地端GND。由于單片機(jī)和微機(jī)之間的電平不兼容,單片機(jī)串口使用的是正邏輯的TTL電平,而上位機(jī)的串口使用

的是負(fù)邏輯的EIA電平,這樣就存在TTL電平和EIA電平之間的轉(zhuǎn)換問題。為了使單片機(jī)和微機(jī)之間的電平相互兼容,使用電平轉(zhuǎn)換芯片RS232。RS-232電纜的兩端,一端為母頭〔DB9孔式〕,一端為公頭〔DB9針式〕。DB9定義引腳:1DCD載波檢測、2RXD接受數(shù)據(jù)、3TXD發(fā)出數(shù)據(jù)、4DTR數(shù)據(jù)終端準(zhǔn)備好、5SG信號(hào)地線、6DSR數(shù)據(jù)準(zhǔn)備好、7RTS請(qǐng)求發(fā)送、8CTS去除發(fā)送、9RI振鈴指示。外部設(shè)備與串行接口之間的數(shù)據(jù)傳送是按位進(jìn)行的。RS-232采用負(fù)邏輯,即一5到一15V代表“1”,+5到+15V代表“0”。必須經(jīng)過相應(yīng)的電平轉(zhuǎn)換,計(jì)算機(jī)才能通過串口通訊。計(jì)算機(jī)串口通訊接口采用DB9芯接插件,使用RS-232標(biāo)準(zhǔn)。第一局部是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供應(yīng)RS-232串口電平的需要。第二局部是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳〔R1IN〕、12腳〔R10UT〕、11腳〔T1IN〕、14腳〔T1OUT〕為第一數(shù)據(jù)通道。8腳〔R2IN〕、9腳〔R2OUT〕、10腳〔T2IN〕、7腳〔T2OUT〕為第二數(shù)據(jù)通道。第三局部是供電。15腳GND、16腳VCC〔+5v〕。完整的串口電路如圖3.9所示。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。101+V+01?VCCGND101+V+01?VCCGNDHoutC2+RIINV- T1DSTT2OUTT2INriinRjoirr。二ufRS2A2圖3.9串口通信電路第四章軟件設(shè)計(jì)本系統(tǒng)的軟件設(shè)計(jì)程序采用C51語言編寫實(shí)現(xiàn)并下載的,液位控制系統(tǒng)不僅能顯示液位高度,還要對(duì)液位變化進(jìn)行監(jiān)控,把實(shí)時(shí)液位同設(shè)定值比擬,并有效地運(yùn)用PID控制算法控制其PID參數(shù),以便于實(shí)現(xiàn)全自動(dòng)化的液位控制系統(tǒng)。主程序流程圖本設(shè)計(jì)的整個(gè)軟件設(shè)計(jì)程序采用的主要思想是模塊化設(shè)計(jì),它由四個(gè)子程序模塊組成,即A/D轉(zhuǎn)換子程序,LED靜態(tài)顯示子程序,PID控制子程序和鍵盤控制子程序。在主程序中通過函數(shù)調(diào)用實(shí)現(xiàn)對(duì)各個(gè)模塊的連接。模塊化設(shè)計(jì)的優(yōu)點(diǎn)在于可實(shí)現(xiàn)程序的重復(fù)調(diào)用,并便于調(diào)試。主程序流程如圖4.1所示。開始亍初始化A/D轉(zhuǎn)換子程序jLED顯示子程序PID控制子程序鍵盤控制子程序I圖4.1主程序流程圖在主程序中將采集到的信號(hào)經(jīng)250Q的電阻轉(zhuǎn)換成1-5V的電壓信號(hào)再經(jīng)過ADC0832利用A/D轉(zhuǎn)換子程序把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再將轉(zhuǎn)換后的數(shù)字信號(hào)送至單片機(jī)的P3口輸入,結(jié)果輸出到單片機(jī)的P0口和P1口使其直接驅(qū)動(dòng)LED靜態(tài)顯示顯示當(dāng)前的液位值。單片機(jī)輸出的數(shù)字信號(hào)經(jīng)過DAC0832轉(zhuǎn)換成模擬信號(hào),再經(jīng)過V/I轉(zhuǎn)換電路把0-5V電壓信號(hào)轉(zhuǎn)換成為4-20mA電流信號(hào)輸出以實(shí)現(xiàn)對(duì)執(zhí)行機(jī)構(gòu)的控制。PID控制子程序出來的數(shù)據(jù)進(jìn)行變換后送到LED靜態(tài)顯示程序中進(jìn)行顯示。LED顯示主要的主要任務(wù)是經(jīng)過PID控制子程序控制后輸出的測量值和根據(jù)實(shí)際情況而進(jìn)行設(shè)定的設(shè)定值。同時(shí)PID控制中的比例系數(shù)Kp、積分時(shí)間Ti、微分時(shí)間Td由鍵盤控制子程序進(jìn)行設(shè)定。A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換的硬件連接是利用ADC0832與單片機(jī)STC89C52RC的P3口相連,軟件部分是利用A/D轉(zhuǎn)換子程序首先對(duì)采樣到的數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換,然后輸入通道控制字選擇AD轉(zhuǎn)換的控制通道,比擬正逆序輸出端D0的輸出值A(chǔ)1、A2是否相等,假設(shè)A1與A2相等那么轉(zhuǎn)換完成,將結(jié)果送到單片機(jī)緩沖單元存儲(chǔ);假設(shè)不相等那么重新開始轉(zhuǎn)換。AD轉(zhuǎn)換子程序流程如圖4.2所示。 -

子程序入口一..-

端口初始|化CS=0選通ADC0832DI=1開始AD轉(zhuǎn)換輸入通道控制字,選擇通道D7-D08位數(shù)據(jù)的正序DO端輸出A1D7-D08位數(shù)據(jù)的逆序DO端輸出 A2V一二一如牽「-一二二^A1和A2相等嗎?---^Y轉(zhuǎn)換結(jié)束,讀取轉(zhuǎn)換 ->果- 將結(jié)果送至緩存單元返回圖4.2A/D轉(zhuǎn)換子程序流程圖不同被測對(duì)象的參數(shù)具有不同的量綱和數(shù)值,儀器在檢測這些參數(shù)時(shí),采集的數(shù)據(jù)并不等于原來帶有量綱的參數(shù)值,它僅僅能代表被測參數(shù)值的相對(duì)大小,因而必須把它轉(zhuǎn)換成帶有量綱的對(duì)應(yīng)數(shù)值后才能顯示,稱為標(biāo)度變換。線性標(biāo)度變換的公式如下所示:_、NDN_AD〔ADA〕Nx二0DA 〔4.1〕xm0non0m0式〔4.1〕中,A0為測量下限值,Am為測量上限值,Ax為實(shí)際測量值〔工程值〕,N0為A0對(duì)應(yīng)的數(shù)字量,Nm為Am對(duì)應(yīng)的數(shù)字量,Nx為實(shí)際測量值A(chǔ)x對(duì)應(yīng)的數(shù)字量。對(duì)于該設(shè)計(jì),標(biāo)度變換程序流程圖如圖4.3所示。標(biāo)度變換主要是實(shí)現(xiàn)數(shù)字量到模擬電壓數(shù)據(jù)的轉(zhuǎn)換,最后送到數(shù)碼管來實(shí)現(xiàn)液位數(shù)據(jù)的顯示。標(biāo)度變換的軟件編程主要是依據(jù)標(biāo)度變換公式來實(shí)現(xiàn)的。圖4.3標(biāo)度變換程序鍵盤控制子程序單片機(jī)的鍵盤,是人機(jī)聯(lián)系的重要通道,操作者的許多指令都是通過鍵盤輸入到單片機(jī)中去。鍵盤管理程序的主要任務(wù)是根據(jù)獲取的按鍵編碼,轉(zhuǎn)入相應(yīng)的鍵效勞程序,以便完成相應(yīng)的功能。本設(shè)計(jì)采用獨(dú)立式鍵盤,一共有四個(gè)按鍵,其程序首先經(jīng)過鍵盤掃描,然后進(jìn)行10ms的延時(shí)給單片機(jī)反響的時(shí)間,以免出現(xiàn)誤動(dòng)作,然后再進(jìn)行鍵盤掃描。為了更好地實(shí)現(xiàn)本設(shè)計(jì)的水箱液位控制,需要調(diào)整不同的PID參數(shù)〔比例系數(shù)Kp、積分時(shí)間Ti、微分時(shí)間Td〕。按鍵功能如下:K1鍵一修改PID參數(shù)〔Kp、Ti、Td〕;K2鍵一加1鍵;K3鍵一減1鍵;k4鍵一確定鍵。按鍵設(shè)計(jì)的具體思路:K1鍵作為參數(shù)切換鍵,按下次數(shù)為n,當(dāng)n=1時(shí),修改參數(shù)Kp,按一次K2鍵〔K3鍵〕加一〔減1〕,假設(shè)按下K4鍵,那么參數(shù)、修改成功,假設(shè)沒有按下,那么返回重新檢測K1鍵按下的次數(shù)。當(dāng)n=2時(shí),修改參數(shù)Ti,按一次K2鍵〔K3鍵〕加一〔減1〕,假設(shè)按下K4鍵,那么參數(shù)Ti修改成功,假設(shè)沒有按下,那么返回重新檢測K1鍵按下的次數(shù)。當(dāng)n=3時(shí),修改Td參數(shù),按一次K2鍵〔K3鍵〕加一〔減1〕,假設(shè)按下K4鍵,那么參數(shù)Td修改成功,假設(shè)沒有按下,那么返回重新檢測K1鍵按下的次數(shù)。假設(shè)n>=4時(shí),那么返回液位顯示。其鍵盤子程序流程圖如圖4.4所示。子程序入口- -Y K1鍵是否按下?K3鍵是否按下?圖4.4鍵盤子程序流程圖一1一變量初始化子程序入口- -Y K1鍵是否按下?K3鍵是否按下?圖4.4鍵盤子程序流程圖一1一變量初始化n+1fnn=1?T* K2鍵是否按下?---------N,K3鍵是否按下?N*K3鍵是否按下?PID控制子程序標(biāo)準(zhǔn)的數(shù)字PID算法可分為增量型算法和位置型算法兩種。由于位置型算法占用大量的內(nèi)存,計(jì)算起來也比擬繁瑣,使用很不方便。因此,后來又出現(xiàn)了被廣泛應(yīng)用的增量型算法。但是無論對(duì)于增量型算法還是位置型算法都有一個(gè)共同特點(diǎn),即比例、積分和微分的作用是彼此相互獨(dú)立,互不相關(guān)的。這就有利于操作人員直觀的理解和檢查各個(gè)PID參數(shù)(Kp、Ti、Td)對(duì)控制效果的影響。增量型算法具有以下優(yōu)點(diǎn):(1)由于計(jì)算機(jī)只輸出增量,所以誤動(dòng)作的影響較小,必要的時(shí)候可以通過邏輯判斷的方法去掉,不會(huì)嚴(yán)重影響到系統(tǒng)的狀態(tài)。在應(yīng)用位置型控制算法時(shí),必須要首先使計(jì)算機(jī)的輸出值與閥門的原始開度相等,即P(k-1),才能確保手動(dòng)到自動(dòng)的無擾動(dòng)切換,這給程序的設(shè)計(jì)帶來許多不便。而增量型算法的設(shè)計(jì)相對(duì)位置型算法只與本次的偏差值有關(guān),與閥門原來的開度無關(guān),因而增量型算法更容易實(shí)現(xiàn)手動(dòng)到自動(dòng)的無擾動(dòng)切換。除此之外,在位置控制算式的應(yīng)用中,不僅要對(duì)E(j)進(jìn)行累計(jì)相加,而且無論計(jì)算機(jī)出現(xiàn)任何故障都會(huì)引起P(k)的大幅度變化,這對(duì)生產(chǎn)是十分不利的。由于不產(chǎn)生積分失控,所以比擬容易獲得較好的調(diào)節(jié)品質(zhì),故可靠性較高。PID控制子程序流程如圖4.5所示。PID控制子程序入口一…_設(shè)定PID參數(shù),計(jì)算系數(shù) Kp、Ti、Td設(shè)置初值E(K-1)=E(K-2)=0 、Ud(K-1)=Ud(K-2)=0輸入檢測到的反響量 Y輸入設(shè)定值 XY輸入設(shè)定值 XY計(jì)算偏差E計(jì)算偏差E(K)=X-Y計(jì)算偏差E(K)=Y-X△Up(K)=Kp[E(K)-E(K-1)]、△Ui(K)=Ti*E(K)Y△U(K)=0△Up(K)=Kp[E(K)-E(K-1)]、△Ui(K)=Ti*E(K)Y△U(K)=0△U(K尸△Up(K)+△Ud(K)△U(K)=△Up(K)+△Ui(K)+△Ud(K)△Ud(K)=1/(Kp+1){Ud(K-1)-Ud(K-2)+Kp*Td[E(K)-2E(K-1)+E(K-2)]}E(K)<=B?3NE(K)>A?YU(K)=U(K-1)+△U(K)U(K)>Pup?'NU(K)>Pdown?U(K)=PupU(K)=PdownU(K)=Pup為下一時(shí)刻做準(zhǔn)備E(K-1)-E(K-2),E(K) -E(K-1)Ud(k)一Ud(k-1),Ud(k-1) —Ud(k-2)U(K)-U(K-1)返回圖4.5PID控制子程序流程圖考慮到實(shí)際問題時(shí),一般會(huì)有干擾存在,選擇實(shí)際PID微分算式如下:TOC\o"1-5"\h\z□i(k)ddu(k)nru(k)nru(k) (42pid其中□u(k)DK[e(k)Ce(k0_)] (4.3)ppKT□U(k)D-^e(k) (4.4)iTi□i(k)Du(k)Qi(k口) (4.5)dddTu (k) D d——{u (k Q)CK K [e (k)Eb(kQ)]} (4.6)dKTDr d pdddu(k)Du(k「L)DU(k) (4.7)其中Ud〔k〕和Ud〔k-1〕分別是實(shí)際微分環(huán)節(jié)第k,k-1時(shí)刻的輸出。k為采樣序號(hào)〔k=0、1、2、……〕;K為調(diào)節(jié)器比例系數(shù);K為調(diào)節(jié)器積分系數(shù);K為調(diào)節(jié)器微分系數(shù);e〔k〕為第長次采樣時(shí)的偏差值;e〔k-1〕為第k-1采樣時(shí)的偏差值;u〔k〕為第k次采樣時(shí)調(diào)節(jié)器的輸出值;u〔k-1〕為第k-1次采樣時(shí)調(diào)節(jié)器的輸出值;Au〔k〕為第k次輸出的增量。相對(duì)于理想的增量型PID算式來說,實(shí)際微分PID控制算式具有可以有效限制高頻干擾的優(yōu)點(diǎn)。由于控制器輸出的變化過大和過于頻繁,現(xiàn)場希望當(dāng)被調(diào)參數(shù)在一定范圍內(nèi)變化時(shí),輸出不改變。為了防止這種現(xiàn)象就要考慮到帶死區(qū)的數(shù)字PID控制算法。帶死區(qū)的數(shù)字PID控制算法:人為的設(shè)置一個(gè)死區(qū)〔不靈敏區(qū)〕值B,偏差的絕對(duì)值大于B時(shí),那么進(jìn)行正常的PID控制輸出;當(dāng)偏差的絕對(duì)值小于等于B時(shí),其控制輸出維持在上次的輸出不變,即4Uk為00B值的設(shè)定要適當(dāng),過大的B值將會(huì)使系統(tǒng)產(chǎn)生很大的滯后,過小的B值將使控制動(dòng)作過于頻繁。控制系統(tǒng)中存在著動(dòng)態(tài)誤差,在一般情況下用積分作用進(jìn)行調(diào)節(jié),但是在動(dòng)態(tài)過程中〔如系統(tǒng)的開工、停工或大幅度提降時(shí)〕,過大的積分作用可能導(dǎo)致系統(tǒng)穩(wěn)定性的變壞,為了消除這種現(xiàn)象可以采用積分別離算法。具體方法是:在被控變量開始跟蹤的時(shí)候,取消積分的作用,直到被控變量接近給定值時(shí),才產(chǎn)生積分作用。積分別離控制算法的算式表示為:當(dāng)式〔4.8〕成立時(shí),為PD控制,Ti為0;當(dāng)式〔4.9〕成立時(shí),為PID控制。其中經(jīng)數(shù)字濾波后的測量值為MK,給定值為UK,允許的最大偏差值為A。EDUQM|DA 〔4.8〕K1KK1(4.9)EnuDM?da(4.9)KKK1此外,在自動(dòng)控制系統(tǒng)中,為了平安生產(chǎn)的要求,通常不希望調(diào)節(jié)閥“全開”或“全閉”因此設(shè)定一個(gè)上限位p和一個(gè)下限位p。換句話說,就是要求PID調(diào)節(jié)的輸出up down必須限制在一個(gè)特定的幅度范圍內(nèi),即〔4.10〕pmdp

down up〔4.10〕在具體系統(tǒng)中,不一定上限位和下限位都需要,可能只需要一個(gè)下限位或一個(gè)上限限位。4.5LED顯示子程序利用單片機(jī)內(nèi)部的串行接口,可以實(shí)現(xiàn)靜態(tài)的顯示處理。這樣不僅可以節(jié)省單片機(jī)的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴(kuò)展接口。程序流程如圖4.6所示。圖4.6LED圖4.6LED顯示子程序流程圖在這種設(shè)計(jì)中,串行口工作于方式0,數(shù)據(jù)的輸入輸出都通過RxD實(shí)現(xiàn),移位脈沖那么由TxD發(fā)出。每次傳送一個(gè)字節(jié)數(shù)據(jù)。每輸出一個(gè)字節(jié)數(shù)據(jù),單片機(jī)自動(dòng)使串行中斷請(qǐng)求標(biāo)志TI置。通過測試該狀態(tài),即可確定該字節(jié)是否發(fā)送完畢。由硬件電路圖可知,74LS164是串行輸入并行輸出的移位存放器。它具有兩個(gè)串行輸入端和8位并行輸出端〔QA—QH〕。當(dāng)顯示數(shù)據(jù)從RxD端輸出到移位存放器74LS164的輸入端AB時(shí),74LS164將串行數(shù)據(jù)轉(zhuǎn)換成8位輸出碼QA—Qh,然后加到共陽極LED顯示器上。究竟在哪一位上顯示,還要P1口的狀態(tài)而定。當(dāng)某一位為低電平時(shí),該位LED顯示,其他位不顯示。由于接口電路中顯示模型輸出地址和位選信號(hào)可一次選中,故只要一次輸出即可顯示一位。4.6Keil軟件Keil軟件簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編語言相比,C語言在功能上、結(jié)構(gòu)上、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境uVision將這些局部組和在一起。運(yùn)用Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果使用C語言編程,那么Keil就是必不可少的編程軟件,即使不適用C語言而僅使用匯編語言編程,Keil軟件的方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)讓整個(gè)軟件設(shè)計(jì)過程事半功倍。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,去Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體會(huì)高級(jí)語言的優(yōu)勢。Keil軟件編程流程及程序下載Keil軟件編程是在KeiluVision3界面上實(shí)現(xiàn)的。要實(shí)現(xiàn)軟件編程,需要按以下步驟進(jìn)行操作:〔1〕啟動(dòng)KeiluVision3從uVision3的Project菜單中選擇NewProject,這時(shí)將出現(xiàn)“產(chǎn)生新工程”對(duì)話框,在對(duì)話框輸入工程文件名,點(diǎn)擊保存,出現(xiàn)“選擇設(shè)備”對(duì)話框,在器件數(shù)據(jù)庫中選擇單片機(jī)STC89C52?!?〕新建一個(gè)源文件用菜單項(xiàng)選擇項(xiàng)File—New新建一個(gè)源文件,在翻開的編輯窗口輸入源代碼,并另存為*.c的文件。〔3〕選擇建立的工程點(diǎn)擊工程下方的*.c文件,用AddFilestoGroup…按鈕把文STARTUP.A51添加到項(xiàng)目中。參加文件如圖4.7所示?!?〕創(chuàng)立HEX文件輸入調(diào)試程序直至沒有錯(cuò)誤,創(chuàng)立一個(gè)HEX文件來進(jìn)行軟件模擬。如圖4.8所示。〔5〕下載程序到單片機(jī)下載程序使用軟件STC-ISPV391,啟動(dòng)軟件后選擇器件STC89C52RC。單片機(jī)選型如圖4.9所示。SelectNCUTypeM匚U丁手工心STC39C51KCSTC30C53KCSTZ09CE4M4-STCa9C555J:H-STCQ9CE8MJ4-STCa9C51GRDiSTC30LE5LECSTC09LE52ICSelectNCUTypeM匚U丁手工心STC39C51KCSTC30C53KCSTZ09CE4M4-STCa9C555J:H-STCQ9CE8MJ4-STCa9C51GRDiSTC30LE5LECSTC09LE52ICSTCa9LE53IESTZ09LES4RD4STCa9LE55ED-fr5TC日9LE58ED4STCfl9LE5LaRD+謝單片BUSIVKT R-anee0300 1FFP伴范圉內(nèi)未用區(qū)域埴式口當(dāng)中 翻開捏序文件擊行匚1,最高混特率最商諛恃率:96D0 ▼最低域特率:Z4DQ中的選項(xiàng)£c=IE。單倍速圖4.9下載時(shí)單片機(jī)選型選擇將要被下載的HEX機(jī)器碼文件。HEX文件是由單片機(jī)開發(fā)環(huán)境輸入、編輯代碼后編繹產(chǎn)生的,文件添加如圖4.10所示。設(shè)置串口和串口通信速度。燒錄過程中,如果出現(xiàn)失敗,可以考慮將串口通信速度降低再試,這是由于機(jī)器配置以及當(dāng)?shù)丨h(huán)境因素決定的,當(dāng)供電電源偏低〔用USB供電的一般都會(huì)偏低〕和環(huán)境干擾過大時(shí),必需選低一點(diǎn)的波特率〔即通信速率〕。下載成功與失敗,可以從信息區(qū)的提示看出。選擇并設(shè)置好串口后〔一般不需更改〕,進(jìn)入第四步,而這一步根本上不用更改,串口選擇及波特率選擇如圖4.11所示。圖4.10添加文件選擇時(shí)1H1圖4.10添加文件選擇時(shí)1H1Tin[函四的近也77也IlTirfiTi-filftCr.turnnrt.him皿“選擇串行口,最高波特率最高波特率;9600 皿“選擇串行口,最高波特率最高波特率;9600 ▼:最低波特率;2400 ▼中的選項(xiàng)圖4.11串口選擇及波特率選擇點(diǎn)擊“Download/下載”,就可以進(jìn)入燒錄狀態(tài),按下電源按鈕,就可將程序下載到單片機(jī)中,程序下載如圖4.12所示。圖4.12程序下載按鈕圖Step圖4.12程序下載按鈕圖Step寸步驟5:加wzilg”下載先點(diǎn)下載盤鈕再歸U上電復(fù)位-冷啟朗工Iwnl■口&!/下載 ReT口智niga力,重復(fù)訪藪內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說明書〔畢業(yè)論文〕第五章系統(tǒng)的調(diào)試及說明系統(tǒng)的調(diào)試包括硬件設(shè)計(jì)調(diào)試、軟件設(shè)計(jì)調(diào)試和軟硬件聯(lián)合的調(diào)試。硬件設(shè)計(jì)調(diào)試第一步:檢查電路。組裝好電路通電前,先對(duì)照protel電路原理圖檢查電路連接是否有誤。特別需要注意的是檢查電源是否接反,與地之間是否有短路現(xiàn)象,二極管方向是否正確,電解電容的極性有沒有接反,晶體管和集成電路的引腳有沒有漏接或連接錯(cuò)誤,不該連接的焊盤有沒有誤連接,最后檢查器件與焊盤之間的焊接是否牢固,等等。第二步:通電觀察。經(jīng)過第一步檢查無誤后給電路板通電,接通后不要急于觀察所要得到的設(shè)計(jì)結(jié)果,而是要先觀察電路是否存在異樣〔如:冒煙、放電的聲光、異常氣味、元器件發(fā)燙等〕,假設(shè)有異常發(fā)生,應(yīng)立即斷電,重新檢查電路,排除故障后再次通電。假設(shè)無異常,那么測量各個(gè)集成塊引腳電壓是否存在異常,確保電路已經(jīng)導(dǎo)通工作,沒有斷電的地方。第三步:靜態(tài)調(diào)試。在未接入輸入信號(hào)時(shí),測量各級(jí)直流工作電流和電壓是否有異常。對(duì)直流工作電流的檢測一般情況下可用兩種方式進(jìn)行,具體要看印刷電路板時(shí)是否留有測試孔。假設(shè)沒有留下測試孔,可串入電阻,測量電阻兩端的電壓值,然后根據(jù)電阻值的大小計(jì)算出電流值;假設(shè)之前留下了測試孔,可直接把電流表串入電路中測得電流。相比于電流測量而言,電壓測量更簡單方便,直接測量就可以得到。靜態(tài)調(diào)試一般應(yīng)用于集成電路和晶體管的場合下。第四步:動(dòng)態(tài)調(diào)試。第四步檢查無異常后,參加輸入信號(hào),觀察輸出信號(hào)是否與設(shè)計(jì)要求相符。調(diào)整電路中的交流通路元件〔如電容、電感等〕,使電路相關(guān)點(diǎn)的交流信號(hào)的幅度、波形、頻率等參數(shù)到達(dá)預(yù)期的設(shè)計(jì)要求。假設(shè)輸入信號(hào)為周期性變化信號(hào),可利用示波器觀測輸出的信號(hào)波形。當(dāng)采用分塊調(diào)試時(shí),除輸入級(jí)采用外加輸入信號(hào)外,其他各級(jí)的輸入信號(hào)應(yīng)采用前端輸出信號(hào)。對(duì)于模擬電路而言,觀測輸出波形是否符合要求。對(duì)于數(shù)字電路,那么需要觀測輸出信號(hào)波形、脈沖寬度、幅值、相位及動(dòng)態(tài)邏輯關(guān)系是否符合設(shè)計(jì)要求。在數(shù)字電路的調(diào)試中,常常希望讓電路狀態(tài)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論