![基于單片機(jī)的水箱水位控制系統(tǒng)_第1頁(yè)](http://file4.renrendoc.com/view10/M01/14/12/wKhkGWVyXU2AQdI2AAK4gDjV1pM284.jpg)
![基于單片機(jī)的水箱水位控制系統(tǒng)_第2頁(yè)](http://file4.renrendoc.com/view10/M01/14/12/wKhkGWVyXU2AQdI2AAK4gDjV1pM2842.jpg)
![基于單片機(jī)的水箱水位控制系統(tǒng)_第3頁(yè)](http://file4.renrendoc.com/view10/M01/14/12/wKhkGWVyXU2AQdI2AAK4gDjV1pM2843.jpg)
![基于單片機(jī)的水箱水位控制系統(tǒng)_第4頁(yè)](http://file4.renrendoc.com/view10/M01/14/12/wKhkGWVyXU2AQdI2AAK4gDjV1pM2844.jpg)
![基于單片機(jī)的水箱水位控制系統(tǒng)_第5頁(yè)](http://file4.renrendoc.com/view10/M01/14/12/wKhkGWVyXU2AQdI2AAK4gDjV1pM2845.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)的水箱水位控制系統(tǒng)摘要大型水箱是很多公司生產(chǎn)過程中必不可少的部件,它的性能和工作質(zhì)量的優(yōu)良不僅僅對(duì)生產(chǎn)有著巨大的影響,而且也關(guān)系著生產(chǎn)的平安。在過去,大量的對(duì)水箱操作是由相應(yīng)的人員進(jìn)行操作的,這樣的人工方式帶來了很大的弊端,比方水位的控制,時(shí)刻監(jiān)控水箱的環(huán)境,夜間的監(jiān)控等等,操作員稍有疏忽,或者簡(jiǎn)易的監(jiān)那么器件損壞,將帶來無法彌補(bǔ)的損失,更嚴(yán)重的會(huì)危機(jī)到生產(chǎn)人員的人身平安等。所以,對(duì)水箱控制,如果能夠使用精密的而且完全會(huì)嚴(yán)格按照生產(chǎn)規(guī)定運(yùn)行的自動(dòng)化系統(tǒng),可以最大限度的防止事故的幾率,同時(shí)也能節(jié)省資源并能有效提高生產(chǎn)的效率。本單片機(jī)系統(tǒng)設(shè)計(jì)的目的是應(yīng)用單片機(jī)控制技術(shù),以8051單片機(jī)為核心控制水箱的水位,并實(shí)現(xiàn)了報(bào)警和手動(dòng)、自動(dòng)切換功能。該系統(tǒng)操作方便、性能良好,比擬符合電廠生產(chǎn)用水系統(tǒng)控制的需要。關(guān)鍵詞:?jiǎn)纹瑱C(jī)水位控制報(bào)警BasedonthesinglechipmicrocomputercontrolsystemofthewatertankAbstractLargewatertanksarealotofcompaniesessentialtotheproductionprocessofparts,itsperformanceandthequalityofworknotonlyonproductionofthefinehasenormousinfluence,butalsothesafetyofproduction.Inthepast,manyofthetanksareoperatedbythestafftooperate,sothatartificialmeansalotofdrawbacks,suchasthewaterlevelcontrol,watertanksatalltimestomonitortheenvironment,andsoonthenightofmonitoring,theoperatorslightlynegligence,ordamagetotheSummaryofthemonitoringdevicewillbringirreparabledamagewillbeevenmoreseriouscrisisinproduction,suchasthepersonalsafetyofstaff.Therefore,controlofwatertanks,iftheuseofsophisticatedandcantotallyberuninstrictaccordancewiththeprovisionsoftheautomatedproductionsystemthatcanmaximizethechancesofavoidingaccidents,butalsosaveresourcesandcaneffectivelyimprovetheefficiencyofproduction.Thepurposeofsingle-chipsystemdesignistheapplicationofsingle-chipcontroltechnology,to8051asthecoretocontrolthewaterlevelinwatertanks,andimplementationofthealarmandmanual,automaticswitchingfunction.Thesystemiseasytooperate,goodperformance,moreinlinewiththepowertocontroltheproductionofthenecessarywatersystem.Keywords:Single-chiplevelControlAlarm目錄1緒論11.1水箱控制系統(tǒng)研究背景及意義11.1.1水箱控制系統(tǒng)研究背景11.1.2水箱控制系統(tǒng)研究意義11.2水箱控制系統(tǒng)國(guó)內(nèi)外研究現(xiàn)狀21.3水箱水位控制系統(tǒng)研究開展方向32單片機(jī)水箱控制系統(tǒng)原理42.180C51單片機(jī)控制系統(tǒng)原理42.1.180C51單片機(jī)水箱控制系統(tǒng)工作原理42.1.280C51單片機(jī)控制局部結(jié)構(gòu)說明52.1.380C51引腳電路及其功能103系統(tǒng)硬件設(shè)計(jì)133.180C51單片機(jī)水箱控制系統(tǒng)硬件簡(jiǎn)介133.1.1數(shù)據(jù)采集及處理模塊133.1.2時(shí)序163.1.3光電隔離173.1.4給水泵電機(jī)主控回路介紹203.1.5二級(jí)管顯示電路設(shè)計(jì)213.280C51水箱控制系統(tǒng)主控硬件部署方案213.2.180C51單片機(jī)實(shí)現(xiàn)系統(tǒng)功能說明223.2.2相關(guān)器件223.2.3相關(guān)電路224系統(tǒng)軟件設(shè)計(jì)274.1程序概要設(shè)計(jì)274.2系統(tǒng)程序原理27系統(tǒng)主要程序及流程框圖274.2.2自動(dòng)模式子程序原理及流程框圖284.2.2手動(dòng)模式子程序原理及流程框圖305調(diào)試仿真356總結(jié)與展望40參考文獻(xiàn)41致謝431緒論1.1水箱水位控制系統(tǒng)研究背景及意義水箱水位控制系統(tǒng)研究背景在工農(nóng)業(yè)生產(chǎn)中,常常需要控制液體水位。隨著國(guó)家工業(yè)的迅速開展,水位控制技術(shù)被廣泛應(yīng)用到石油、化工、醫(yī)藥、食品等各行各業(yè)中。低溫液體〔液氧、液氮、液氬、液化天然氣及液體二氧化碳等〕得到廣泛的應(yīng)用,作為貯存低溫液體的容器要保證能承受其載荷;在發(fā)電廠、煉鋼廠中,保持正常的鍋爐汽包水位、除氧器水位、汽輪機(jī)凝氣器水位、高、低壓加熱器水位等,是設(shè)備平安運(yùn)行的保證;在教學(xué)與科學(xué)研究中,也經(jīng)常碰到需要進(jìn)行水位控制的實(shí)驗(yàn)裝置。水箱水位控制系統(tǒng)研究意義大型水箱是很多公司生產(chǎn)過程中必不可少的部件,它的性能和工作質(zhì)量的優(yōu)良不僅僅對(duì)生產(chǎn)有著巨大的影響,而且也關(guān)系著生產(chǎn)的平安。在過去,大量的對(duì)水箱操作是由相應(yīng)的人員進(jìn)行操作的,這樣的人工方式帶來了很大的弊端,比方水位的控制,時(shí)刻監(jiān)控水箱的環(huán)境,夜間的監(jiān)控等等,操作員稍有疏忽,或者簡(jiǎn)易的監(jiān)那么器件損壞,將帶來無法彌補(bǔ)的損失,更嚴(yán)重的會(huì)危機(jī)到生產(chǎn)人員的人身平安等。所以,對(duì)水箱控制,如果能夠使用精密的而且完全會(huì)嚴(yán)格按照生產(chǎn)規(guī)定運(yùn)行的自動(dòng)化系統(tǒng),可以最大限度的防止事故的幾率,同時(shí)也能節(jié)省資源并能有效提高生產(chǎn)效率。從水資源節(jié)約方面考慮,以往的人工控制在很多情況下,造成資源不必要的浪費(fèi),大局部原因是水箱內(nèi)部水位沒有及時(shí)的反應(yīng)信息到操作員,從而使控制上有一定的延遲,從而造成了水量過多或者沒能及時(shí)補(bǔ)水而導(dǎo)致資源的浪費(fèi)或生產(chǎn)出現(xiàn)異常。而對(duì)水箱水位的監(jiān)控以及自動(dòng)化的引入可以很好的改善補(bǔ)水過多和及時(shí)補(bǔ)水的情況,可以很好的節(jié)約資源有效的降低本錢。單片機(jī),一小塊芯片上集成了一個(gè)微型計(jì)算機(jī)的各個(gè)組成局部,它的誕生使眾多自動(dòng)化控制系統(tǒng)得以實(shí)現(xiàn)。80C51以它功能強(qiáng)大,設(shè)計(jì)簡(jiǎn)單,制造廉價(jià),支持指令集較多。所以應(yīng)用到眾多嵌入式系統(tǒng)開發(fā)中。因此,基于80C51單片機(jī)的水箱水位控制系統(tǒng)研究有著重要的意義。水位控制一般指對(duì)某一水位進(jìn)行控制調(diào)節(jié),使其到達(dá)所要求的控制精度。液體的水位自動(dòng)控制,是近年來新開發(fā)的一項(xiàng)新技術(shù),它是微型計(jì)算機(jī)軟件、硬件、自動(dòng)控制等幾項(xiàng)技術(shù)緊密結(jié)合的產(chǎn)物,工程作業(yè)采用的是微機(jī)控制和原有的儀表控制,危機(jī)控制有以下明顯優(yōu)勢(shì):1〕直觀而集中的顯示運(yùn)行參數(shù),能顯示水位狀態(tài)。2〕在運(yùn)行中可以隨時(shí)方便的修改各種各樣的運(yùn)行參數(shù)的控制值,并修改系統(tǒng)的控制參數(shù),可以方便的改變水位的上限、下限。3〕具有水體控制過程的自動(dòng)化處理以及監(jiān)控軟件良好的人機(jī)界面,操作人員在監(jiān)控計(jì)算機(jī)上能根據(jù)控制效果及時(shí)修改運(yùn)行參數(shù),這樣能有效地減少工人的疲勞和失誤,提高生產(chǎn)過程的實(shí)時(shí)性、平安性。綜合以上的種種優(yōu)點(diǎn)可以預(yù)見采用計(jì)算機(jī)控制系統(tǒng)是行業(yè)的大勢(shì)所趨。單片機(jī)在一塊芯片上集成了一片微型計(jì)算機(jī)所需的CPU、存儲(chǔ)器、輸入、輸出等部件。單片機(jī)自問世以來,性能不斷提高和完善,體積小、速度快、功耗低的特點(diǎn)使它的應(yīng)用領(lǐng)域日益廣泛。一般工業(yè)控制系統(tǒng)的工作環(huán)境差,干擾強(qiáng),利用單片機(jī)控制就能克服這些缺點(diǎn),因此單片機(jī)在控制領(lǐng)域得到廣泛的應(yīng)用,使用單片機(jī)控制水箱水位是很好的選擇。1.2水箱水位控制系統(tǒng)國(guó)內(nèi)外研究現(xiàn)狀目前,水箱控制系統(tǒng)已不僅僅局限于大型的電廠、煤炭、鋼鐵等大型企業(yè)領(lǐng)域,它以自身的自動(dòng)化控制系統(tǒng)的平安優(yōu)勢(shì),已經(jīng)慢慢深入到一些民用水箱產(chǎn)品。但是目前階段,它的本錢還很高。比方把一臺(tái)純手工家用水箱設(shè)計(jì)成自動(dòng)化控制的水箱,從硬件的設(shè)計(jì)和鋪設(shè),對(duì)于民用化產(chǎn)品實(shí)施的性價(jià)比擬高。因此大規(guī)模的使用仍受到經(jīng)濟(jì)上的限制。但是,從長(zhǎng)遠(yuǎn)來看,隨著自動(dòng)化技術(shù)的改良和硬件本錢的降低,以及人們對(duì)資源浪費(fèi)的重視。水箱控制系統(tǒng)仍然有大規(guī)模推廣的前景。我國(guó)仍然處于生產(chǎn)型開展中國(guó)家,所有幾乎在能源相關(guān)的所有領(lǐng)域中,水箱是比不可少的部件,即使是興旺國(guó)家也不例外。它性能的優(yōu)良與否關(guān)系直接關(guān)系到企業(yè)的生產(chǎn)平安和效益。隨著我國(guó)嵌入式技術(shù)的開展,我國(guó)控制系統(tǒng)技術(shù)已經(jīng)到達(dá)國(guó)際水平,但是在中小型企業(yè)以及民用產(chǎn)品,大量的水箱控制任然通過專職的人員進(jìn)行控制。隨著我國(guó)單片機(jī)開發(fā)技術(shù)的逐漸成熟,以及單片機(jī)生產(chǎn)本錢的下降,基于單片機(jī)的水箱控制系統(tǒng)應(yīng)用到中小型以及民用產(chǎn)品有著交大的開展空間[1]。而且越來越多的水箱生產(chǎn)廠商開始聘用單片機(jī)開發(fā)人員和電路設(shè)計(jì)人員,將控制系統(tǒng)成為水箱設(shè)計(jì)的一局部,以提高自身產(chǎn)品的平安性能和科技含量來提高產(chǎn)品在市場(chǎng)中的競(jìng)爭(zhēng)力。一些興旺國(guó)家在單片機(jī)新型系統(tǒng)研究、制造和應(yīng)用上,已經(jīng)積累了很多的經(jīng)驗(yàn),奠定了根底,進(jìn)入了國(guó)際市場(chǎng)。我國(guó)在新型測(cè)控裝置與系統(tǒng)研究、制造、應(yīng)用和經(jīng)驗(yàn)上,與其他興旺國(guó)家相比還存在差距,但是我國(guó)研究人員已經(jīng)克服很多困難,并在不斷摸索中前進(jìn),有望在相關(guān)領(lǐng)域趕上甚至超越興旺國(guó)家的技術(shù)水平,這是開展趨勢(shì)。1.3水箱水位控制系統(tǒng)研究開展方向縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。以前沒有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且本錢高,并且由于長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑?,我們只需要在單片機(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心局部只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,本錢也降低了,長(zhǎng)期使用也不會(huì)擔(dān)憂精度達(dá)不到了。所以,它的魔力不僅是在現(xiàn)在,在將來將會(huì)有更多的人來接受它、使用它。據(jù)統(tǒng)計(jì),我國(guó)的單片機(jī)年容量已達(dá)3億片,且每年以大約20%的速度增長(zhǎng),但相對(duì)于世界市場(chǎng)我國(guó)的占有率還不到1%[2]。特別是沿海地區(qū)的玩具廠等生產(chǎn)產(chǎn)品多數(shù)用到單片機(jī),并不斷地輻射向內(nèi)地。所以,學(xué)習(xí)單片機(jī)在我國(guó)是有著廣闊前景的。2單片機(jī)水箱控制系統(tǒng)原理2.180C51單片機(jī)控制系統(tǒng)原理本論文主要研究水箱水位控制器系統(tǒng)。實(shí)現(xiàn)了水位報(bào)警和手動(dòng)、自動(dòng)切換功能。操作方便、性能良好。水箱給水設(shè)備系統(tǒng)由兩臺(tái)給水泵機(jī)組、水箱和三只浮球開關(guān)組成,其系統(tǒng)結(jié)構(gòu)如圖2.1:圖2.1水箱給水系統(tǒng)結(jié)構(gòu)其中M1、M2為給水泵機(jī)組,LG、LD、LDD分別為水位高、水位低、水位低低浮球開關(guān),當(dāng)水位高〔大于90%〕時(shí),LG閉合,當(dāng)水位低〔小于75%〕時(shí),LD閉合,當(dāng)水位低低〔小于50%〕時(shí),LDD閉合。2.1.180C51單片機(jī)水箱控制系統(tǒng)工作原理當(dāng)水箱水位低時(shí),起動(dòng)M1、M2給水,水位上升到90%,停M1;當(dāng)水箱水位低低〔小于50%〕時(shí),同時(shí)起動(dòng)M1、M2;當(dāng)水位上升到50%以上75%以下時(shí),停M2,M1繼續(xù)運(yùn)行到水位上升到90%以上才停止工作。經(jīng)過數(shù)據(jù)統(tǒng)計(jì),得到以下數(shù)據(jù):水位從50%--75%,兩臺(tái)泵運(yùn)行需要約10分鐘;水位從75%--90%,一臺(tái)泵運(yùn)行需要約15分鐘。水箱的水位一般保持在75%--90%。報(bào)警控制如下:當(dāng)水位高于90%的時(shí)候,由傳感器經(jīng)變送器發(fā)送信號(hào),LG閉合,系統(tǒng)水位高報(bào)警。當(dāng)水位低于75%的時(shí)候,由傳感器經(jīng)變送器發(fā)送信號(hào),LD閉合,系統(tǒng)水位低報(bào)警。當(dāng)水位低于50%的時(shí)候,由傳感器經(jīng)變送器發(fā)送信號(hào),LDD閉合,系統(tǒng)水位低低報(bào)警。手動(dòng)/自動(dòng)模式轉(zhuǎn)換控制如下:全自動(dòng)模式下,系統(tǒng)自動(dòng)判斷水位的狀況,選擇不同的工作狀態(tài)。手動(dòng)的模式下,兩臺(tái)給水泵的運(yùn)行控制可由人工自己操作。其局部原理圖如圖2.2所示圖2.2水位控制電路原理圖開關(guān)K1,K2,K3,K4,K5,K6分別與單片機(jī)引腳P3.0,P3.1,P3.2,P3.3,P3.4,P3.5相連,他們的功能分別是:K1:DD自動(dòng)正轉(zhuǎn)加水M1M2;K2:手動(dòng)反轉(zhuǎn)抽水M1M2;K3:GG自動(dòng)停止M1M2;K4:手動(dòng)正轉(zhuǎn)加水M1M2;K5:手動(dòng)停止;K6:D自動(dòng)正轉(zhuǎn)加水M1.2.1.280C51單片機(jī)控制局部結(jié)構(gòu)說明MCS-51是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列的名稱。該公司繼1976年推出MCS-48系列8位單片機(jī)之后,又于1980年推出了MCS-51系列高檔8位單片機(jī)。屬于這一系列的單片機(jī)芯片有個(gè)單片機(jī)系統(tǒng)有以下幾局部組成:〔1〕一個(gè)8位的微處理器(CPU)?!?〕片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B/256B),用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果,最終結(jié)果以及欲顯示的數(shù)據(jù)等?!?〕片內(nèi)程序存儲(chǔ)器ROM/EPROM(4KB/8KB),用以存放程序,一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031,8032等?!?〕四個(gè)8位并行I/O接口P0~P3,每個(gè)口既可以用作輸入,也可以用作輸出?!?〕兩個(gè)定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)的控制。〔6〕五個(gè)中斷源的中斷控制系統(tǒng)?!?〕一個(gè)全雙工UART〔通用異步接收發(fā)送器〕的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信?!?〕片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHZ。以上各局部是通過內(nèi)部數(shù)據(jù)總線相連接的。其中,CPU是單片機(jī)的核心,是計(jì)算機(jī)的控制和指揮中心,有運(yùn)算器和控制器等部件組成。運(yùn)算器包括一個(gè)可進(jìn)行8位算術(shù)運(yùn)算和邏輯運(yùn)算的單元ALU,8位的暫存器1,暫存器2,8位的累加器ACC,存放器B和程序狀態(tài)存放器PSW等.累加器ACC經(jīng)常作為一個(gè)運(yùn)算數(shù)經(jīng)暫存器2進(jìn)入的輸入端,與另一個(gè)來自暫存器1的運(yùn)算數(shù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果又回送ACC。除此之外,ACC在8051內(nèi)部經(jīng)常作為數(shù)據(jù)傳送的中轉(zhuǎn)站。同一般微處理器一樣,它是最繁忙的一個(gè)存放器了。在指令中助記符A來表示??刂破靼ǔ绦蛴?jì)數(shù)器,指令存放,指令譯碼,振蕩器及定時(shí)電路等。程序計(jì)數(shù)器有兩個(gè)8位的計(jì)數(shù)器組成,共16位。它實(shí)際上是程序的字節(jié)地址計(jì)數(shù)器,PC中內(nèi)容是將要執(zhí)行的下一條指令地址。改變它的內(nèi)容就可改變程序執(zhí)行的方向。在8051單片機(jī)內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容,其頻率范圍是1.2MHZ~12MHZ.該脈沖信號(hào)就作為8051工作的根本節(jié)拍,即時(shí)間的最小單位。8051片內(nèi)有ROM〔程序存儲(chǔ)器,只能讀〕和RAM〔數(shù)據(jù)存儲(chǔ)器,可讀可寫〕兩類,它們有各自獨(dú)立的存儲(chǔ)地址空間,與一般微機(jī)的存儲(chǔ)器配置方式不相同。程序存儲(chǔ)器8051及8751的片內(nèi)程序存儲(chǔ)器容量為4KB,地址從0000H開始,用于存放程序和表格常數(shù)。數(shù)據(jù)存儲(chǔ)器8051及8751、8031片內(nèi)數(shù)據(jù)存儲(chǔ)器均為128B,地址偽007FH,用于存放運(yùn)算的中間結(jié)果,數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。在這128B的RAM中,有32個(gè)字節(jié)單元可指定為工作存放器,這同一般微處理器不同,8051的片內(nèi)RAM和工作存放器排在一個(gè)隊(duì)列里同一編址。另外MCS-51系列單片機(jī)與一般微機(jī)的存儲(chǔ)器配置方式很不相同。一般微機(jī)通常只有一個(gè)地址空間,ROM和RAM可以隨意安排在這一地址范圍內(nèi)不同空間,即ROM和RAM的地址同在一個(gè)隊(duì)列里分配不同的地址空間。訪問存儲(chǔ)器時(shí),一個(gè)地址對(duì)應(yīng)唯一的存儲(chǔ)器單元,可以是ROM,也可以是RAM,并用同類訪問指令。此種存儲(chǔ)器結(jié)構(gòu)稱為普林斯頓結(jié)構(gòu)。8051的存儲(chǔ)器在物理結(jié)構(gòu)上分為程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間,共有四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)和片外程序存儲(chǔ)空間以及片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器空間,這種程序器和數(shù)據(jù)存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的結(jié)構(gòu)形式,稱為哈佛結(jié)構(gòu)。但從用戶使用角度,8051存儲(chǔ)器地址空間分為三類[3]:〔1)片內(nèi),片外統(tǒng)一編址0000H~FFFFH〔用16位地址〕?!?)64KB片外數(shù)據(jù)存儲(chǔ)器地址空間,地址也從0000H~FFFFH〔用16位地址〕編址?!?)256B數(shù)據(jù)存儲(chǔ)器地址空間〔用8位地址〕。前述的三個(gè)存儲(chǔ)器空間地址是重疊的,為了區(qū)分起見在8051的指令系統(tǒng)設(shè)計(jì)了不同數(shù)據(jù)傳送指令符號(hào):CPU訪問片內(nèi),片外ROM指令用MOVC,訪問片外RAM指令用MOVX,訪問片內(nèi)RAM指令用MOV。8051單片機(jī)有四個(gè)8位并行I/O端口,稱P0,P1,P2和P3。每個(gè)端口都是8位準(zhǔn)雙向口,共占32只引腳。每一條I/O線都能獨(dú)立地用作輸入和輸出。每個(gè)端口都包括一個(gè)鎖存器〔即特殊功能存放器〕,一個(gè)輸出驅(qū)動(dòng)器和一輸入緩沖器。作輸出時(shí)數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以緩沖,但這四個(gè)通道的功能不完全相同。在無片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這四個(gè)端口都可以作為準(zhǔn)雙向通用I/O口使用。在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,P2口送出高8位地址;P0口為雙向總線,分時(shí)送出低8位地址和數(shù)據(jù)的輸入/輸出。8051單片機(jī)四個(gè)I/O端口的電路設(shè)計(jì)非常巧妙。熟悉I/O端口邏輯電路,不但有利于正確合理地使用端口,而且會(huì)對(duì)設(shè)計(jì)單片機(jī)外圍邏輯電路有所啟發(fā)。端口的負(fù)載能力和接口都有一定要求,由于P0口的輸出級(jí)與P1~P3口的輸出級(jí)在結(jié)構(gòu)上是不同的,因此,它門的負(fù)載能力和接口要求也各不相同。P0口與其他口不同,它的輸出級(jí)無上拉電阻。當(dāng)把它用作通用口使用時(shí),輸出級(jí)是開漏電路,故用其輸出去驅(qū)動(dòng)NMOS輸入時(shí)需外接上拉電阻。用作輸入時(shí),應(yīng)先向口鎖存器寫“1〞。P0口的每一位輸出可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載.P1口也是一個(gè)準(zhǔn)雙向口,用作通用I/O。其電路的輸出局部與P0口不同,內(nèi)部有上拉負(fù)載電阻與電源相連。實(shí)質(zhì)上,電阻是兩個(gè)場(chǎng)效應(yīng)管FET并在一起:一個(gè)FET為負(fù)載管,其電阻固定。另一個(gè)可工作在導(dǎo)止或截止兩種狀態(tài),使其總電阻值變化近似0或阻值很大兩種情況。當(dāng)電阻近似為0時(shí),可將引腳快速上拉至高電平;當(dāng)電阻值很大時(shí),P1口為高阻輸入狀態(tài)。當(dāng)P1口輸出高電平時(shí),能向外提供拉電流負(fù)載,所以不必再接上拉電阻。在端口用作輸入時(shí),也必須先向?qū)?yīng)的鎖存器寫入1,使FET截止。由于片內(nèi)負(fù)載電阻較大約20千歐姆~40千歐姆,所以不會(huì)對(duì)輸入的數(shù)據(jù)產(chǎn)生影響。P2口某位的結(jié)構(gòu)與P0口類似,有MUX開關(guān)。驅(qū)動(dòng)局部與口類似,但比P1口多了一個(gè)轉(zhuǎn)換控制局部。P3口是一個(gè)多功能端口,它比P1口多了“與非〞門3和緩沖器4。正是這兩局部,使得它除了具有P1口的準(zhǔn)雙向功能之外,還可以使用各引腳所具有的第二功能。“與非〞門3的作用實(shí)際上是一個(gè)開關(guān),決定是輸出鎖存器上的數(shù)據(jù)還是輸出第二功能的信號(hào)。當(dāng)W=1時(shí),輸出Q端信號(hào);當(dāng)Q=1時(shí),可輸出W線信號(hào)。編程時(shí),可不必軟件設(shè)置P3口為第一功能還是第二功能。當(dāng)CPU對(duì)P3口進(jìn)行SFR尋址〔位或字節(jié)〕訪問時(shí),有內(nèi)部硬件自動(dòng)將第二功能輸出/輸入線時(shí),有內(nèi)部硬件鎖存器Q=1。P3口的工作原理與P1口類似。P1~P3口的輸出級(jí)接有內(nèi)部上拉負(fù)載電阻,它們的每一位輸出可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。作為輸入口時(shí),任何TTL或NMOS電路都能以正常的方式驅(qū)動(dòng)8051單片機(jī)的P1~P3口。由于它們的輸出級(jí)具有上拉電阻,也可以被集電極開路或漏極開路所驅(qū)動(dòng),而無需外接上拉電阻。I/O口也都是準(zhǔn)雙向口。作為輸入時(shí),必須先對(duì)相應(yīng)端口鎖存器寫1。對(duì)于80C51單片機(jī),端口只能提供幾毫安的輸出電流,故當(dāng)作輸出口去驅(qū)動(dòng)一個(gè)普通晶體管的基極時(shí),應(yīng)在端口與晶體管基極間串聯(lián)一個(gè)電阻,以限制高電平輸出時(shí)的電流。復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。在8051中RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期〔即二個(gè)機(jī)器周期〕以上。假設(shè)使用頻率6兆赫茲的晶振,那么復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4微妙才能完成復(fù)位操作。圖2.3產(chǎn)生復(fù)位信號(hào)的電路邏輯圖整個(gè)復(fù)位電路包括芯片內(nèi)、外兩局部。外部電路產(chǎn)生的復(fù)位信號(hào)(RST)送至施密特觸發(fā)器,再有片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需的信號(hào)。一般復(fù)位電路中的電阻,電容參數(shù)適用于6晶振,能保證復(fù)位信號(hào)高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。復(fù)位電路雖然簡(jiǎn)單,但其作用非常重要。一個(gè)單片機(jī)系統(tǒng)能否正常運(yùn)行,首先要檢查是否能復(fù)位成功。初步檢查可用示波器探頭監(jiān)視引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出〔瞬時(shí)的〕,還可以通過改變復(fù)位電路阻容值進(jìn)行實(shí)驗(yàn)。本系統(tǒng)采用8051單片機(jī),引腳具體控制如下:P1口和P3口為輸入輸出檢那么信號(hào)和控制信號(hào)。P1.0:水位低低輸入信號(hào)?!驳?,高1〕
P1.1:水位低輸入信號(hào)。〔低0,高1〕P1.2:水位高輸入信號(hào)?!哺?,低0〕P1.3:手動(dòng)與自動(dòng)轉(zhuǎn)換輸入信號(hào)。〔手動(dòng)1,自動(dòng)0〕P1.4:M1起動(dòng)KM1控制輸出信號(hào)。〔手動(dòng)1,自動(dòng)0〕P1.5:M2起動(dòng)KM1控制輸出信號(hào)?!彩謩?dòng)1,自動(dòng)0〕P1.6:M1開關(guān)狀態(tài)輸入信號(hào)?!查_0,關(guān)1〕P1.7:M2開關(guān)狀態(tài)輸入信號(hào)?!查_0,關(guān)1〕P3.0:水位低低報(bào)警輸出信號(hào)。P3.1:水位低報(bào)警輸出信號(hào)。P3.2:水位高報(bào)警輸出信號(hào)。P3.4:手動(dòng)起動(dòng)M1輸入信號(hào),低電頻有效動(dòng)作。P3.5:手動(dòng)起動(dòng)M2輸入信號(hào),低電頻有效動(dòng)作。P3.6:手動(dòng)停M1輸入信號(hào),低電頻有效動(dòng)作。P3.7:手動(dòng)停M2輸入信號(hào),低電頻有效動(dòng)作。2.1.380C51引腳電路及其功能MCS—51系列單片機(jī)的40個(gè)引腳中有2個(gè)專用于主電源引腳,2個(gè)外接晶振的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳[4]。下面按引腳功能分為4個(gè)局部表達(dá)個(gè)引腳的功能。①電源引腳Vcc和VssVcc〔40腳〕:接+5V電源正端;Vss〔20腳〕:接+5V電源正端。②外接晶振引腳XTAL1和XTAL2XTAL1〔19腳〕:接外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHOMS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。XTAL2〔18腳〕:接外部晶體的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。對(duì)于CHMOS芯片,該引腳懸空不接。③控制信號(hào)或與其它電源復(fù)用引腳控制信號(hào)或與其它電源復(fù)用引腳有RST/VPD、ALE/P、PSEN和EA/VPP等4種形式。〔A〕.RST/VPD〔9腳〕:RST即為RESET,VPD為備用電源,所以該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端。當(dāng)單片機(jī)振蕩器工作時(shí),該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)復(fù)位到初始狀態(tài)。當(dāng)VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時(shí),該引腳可接上備用電源VPD〔+5V〕為內(nèi)部RAM供電,以保證RAM中的數(shù)據(jù)不喪失。〔B〕.ALE/P〔30腳〕:當(dāng)訪問外部存儲(chǔ)器時(shí),ALE〔允許地址鎖存信號(hào)〕以每機(jī)器周期兩次的信號(hào)輸出,用于鎖存出現(xiàn)在P0口的低〔C〕.PSEN(29腳):片外程序存儲(chǔ)器讀選通輸出端,低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或常數(shù)期間,每個(gè)機(jī)器周期PESN兩次有效,以通過數(shù)據(jù)總線口讀回指令或常數(shù)。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器期間,PESN信號(hào)將不出現(xiàn)?!睤〕.EA/Vpp〔31腳〕:EA為訪問外部程序儲(chǔ)器控制信號(hào),低電平有效。當(dāng)EA端保持高電平時(shí),單片機(jī)訪問片內(nèi)程序存儲(chǔ)器4KB〔MS—52子系列為8KB〕。假設(shè)超出該范圍時(shí),自動(dòng)轉(zhuǎn)去執(zhí)行外部程序存儲(chǔ)器的程序。當(dāng)EA端保持低電平時(shí),無論片內(nèi)有無程序存儲(chǔ)器,均只訪問外部程序存儲(chǔ)器。對(duì)于片內(nèi)含有EPROM的單片機(jī),在EPROM編程期間,該引腳用于接21V的編程電源Vpp。④輸入/輸出〔I/O〕引腳P0口、P1口、P2口及P3口(A).P0口〔39腳~22腳〕:P0.0~P0.7統(tǒng)稱為P0口。當(dāng)不接外部存儲(chǔ)器與不擴(kuò)展I/O接口時(shí),它可作為準(zhǔn)雙向8位輸入/輸出接口。當(dāng)接有外部程序存儲(chǔ)器或擴(kuò)展I/O口時(shí),P0口為地址/數(shù)據(jù)分時(shí)復(fù)用口。它分時(shí)提供8位雙向數(shù)據(jù)總線。對(duì)于片內(nèi)含有EPROM的單片機(jī),當(dāng)EPROM編程時(shí),從P0口輸入指令字節(jié),而當(dāng)檢驗(yàn)程序時(shí),那么輸出指令字節(jié)。(B).P1口〔1腳~8腳〕:P1.0~P1.7統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O接口使用。對(duì)于MCS—52子系列單片機(jī),P1.0和P1.1還有第2功能:P1.0口用作定時(shí)器/計(jì)數(shù)器2的計(jì)數(shù)脈沖輸入端T2;P1.1用作定時(shí)器/計(jì)數(shù)器2的外部控制端T2EX。對(duì)于EPROM編程和進(jìn)行程序校驗(yàn)時(shí),P0口接收輸入的低8位地址。(C).P2口〔21腳~28腳〕:P2.0~P2.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O接口。當(dāng)接有外部程序存儲(chǔ)器或擴(kuò)展I/O接口且尋址范圍超過256個(gè)字節(jié)時(shí),P2口用于高8位地址總線送出高8位地址。對(duì)于EPROM編程和進(jìn)行程序校驗(yàn)時(shí),P2口接收輸入的8位地址。(D).P3口〔10腳~17腳〕:P3.0~P3.7統(tǒng)稱為P3口。它為雙功能口,可以作為一般的準(zhǔn)雙向I/O接口,也可以將每1位用于第2功能,而且P3口的每一條引腳均可獨(dú)立定義為第1功能的輸入輸出或第2功能。P3口的第2功能見表2.1。表2.1單片機(jī)P3.0管腳含義綜上所述,MCS—51系列單片機(jī)的引腳作用可歸納為以下兩點(diǎn)[4]:
1.單片機(jī)功能多,引腳數(shù)少,因而許多引腳具有第2功能;
2.單片機(jī)對(duì)外呈3總線形式,由P2、P0口組成16位地址總線;由P0口分時(shí)復(fù)用作為數(shù)據(jù)總線。附:89C51的引腳如圖圖2.451單片機(jī)引腳分布3系統(tǒng)硬件設(shè)計(jì)3.180C51單片機(jī)水箱控制系統(tǒng)硬件簡(jiǎn)介3.1.1數(shù)據(jù)采集及處理模塊數(shù)據(jù)采集是一切測(cè)試測(cè)量過程的第1步,在整個(gè)系統(tǒng)中占有重要的地位。此模塊主要是對(duì)采集設(shè)備的采樣參數(shù)〔包括通道的選擇、信號(hào)輸入范圍、采樣模式、采樣頻率以及每通道采樣數(shù)等〕進(jìn)行設(shè)置。并對(duì)采集卡的驅(qū)動(dòng)程序自動(dòng)攜帶可以嵌入Lab-VIEW的DAQ程序模塊庫(kù)。因此在設(shè)計(jì)數(shù)據(jù)采集程序時(shí)可以直接使用此模塊庫(kù)進(jìn)行編輯。采樣頻率是信號(hào)采集過程中非常重要的一個(gè)關(guān)鍵問題。采樣頻率過低或過高都會(huì)對(duì)信號(hào)采集產(chǎn)生一定的負(fù)面影響。采樣率過低可能導(dǎo)致采集的信號(hào)頻率發(fā)生畸變,從而產(chǎn)生混頻現(xiàn)象。根據(jù)奈奎斯特定律,為了防止發(fā)生混頻,最低采樣頻率必須是信號(hào)頻率的2倍[5]。而采樣率過高又可能導(dǎo)致沒有足夠的內(nèi)存或者硬盤存儲(chǔ)數(shù)據(jù),不利一般設(shè)置位輸出信號(hào)最高頻率的7-10倍,就可以正確地復(fù)原波形。傳統(tǒng)測(cè)試系統(tǒng)的工作流程是數(shù)據(jù)的采集、分析顯示3個(gè)任務(wù)在同一線程上按照順序一次執(zhí)行。即當(dāng)1個(gè)任務(wù)運(yùn)行的同時(shí)其他2個(gè)任務(wù)就不能運(yùn)行。處于等待狀態(tài)中,這樣是比會(huì)造成疏忽采集的不完整性。為了解決這一傳統(tǒng)的弊端,在編制程序時(shí)采用多線程技術(shù)。當(dāng)運(yùn)行多線程程序時(shí)。才做系統(tǒng)為每個(gè)獨(dú)立線程安排CPU時(shí)間,單處理器系統(tǒng)以輪轉(zhuǎn)方式按線程的優(yōu)先級(jí)別提供時(shí)間片,每個(gè)線程在使用完時(shí)間片后交出控制權(quán),系統(tǒng)再將CPU時(shí)間片分配給下一個(gè)線程,多處理器系統(tǒng)在多個(gè)處理器上都能夠通知運(yùn)行多個(gè)獨(dú)立的線程,減少了線程切換所帶來的時(shí)間消耗,從而極大地提高系統(tǒng)的執(zhí)行速度,進(jìn)行運(yùn)算。在本系統(tǒng)中把數(shù)據(jù)采集,數(shù)據(jù)分析以及結(jié)果顯示放在3個(gè)獨(dú)立的線程中。這樣3個(gè)While循環(huán)式并行運(yùn)行的,可以保證數(shù)據(jù)采集不受其他2個(gè)程序的影響,從而可以采集到完整的數(shù)據(jù),而程序當(dāng)中的“獲取通知器引用VI〞、“發(fā)送通知器VI〞、“取消通知VI〞和“釋放統(tǒng)治區(qū)引用VI〞主要是用來實(shí)現(xiàn)個(gè)線程之間的數(shù)據(jù)傳遞。這類似于全局變量或局部變量,不同的是,對(duì)于通知器,在沒有通知消息產(chǎn)生時(shí)。程序框圖處于等待狀態(tài)。這就防止了無休止的循環(huán)檢測(cè)和檢測(cè)周期過快或過慢導(dǎo)致的數(shù)據(jù)重復(fù)或喪失,減少了計(jì)算機(jī)資源的浪費(fèi)為了實(shí)現(xiàn)高速地聯(lián)系采集并保存數(shù)據(jù),在這以緩解采用了循環(huán)緩存技術(shù)和高速數(shù)據(jù)流技術(shù)。使用循環(huán)緩存時(shí),每次數(shù)據(jù)只存放在緩存區(qū)的一局部。當(dāng)?shù)竭_(dá)緩存區(qū)的底部時(shí)。它就轉(zhuǎn)向緩存區(qū)頂部再次填充同一個(gè)緩存區(qū)與此同時(shí),緩存區(qū)中的數(shù)據(jù)一跨可以快被讀出來。這就形成了亂序采集過程。在這個(gè)過程中包保證程序沖緩存區(qū)的摸個(gè)位置,這樣才能有可供讀取的數(shù)據(jù),尚未讀取的數(shù)據(jù)頁(yè)不會(huì)被更新的數(shù)據(jù)覆蓋掉。這樣就允許軟件將數(shù)據(jù)處理于數(shù)據(jù)采集并行展開。要使數(shù)據(jù)能夠被連續(xù)地采集必須保證程序重緩沖區(qū)讀取數(shù)據(jù)的速度不能比數(shù)據(jù)放進(jìn)緩存區(qū)的熟讀快,當(dāng)然也不能不能太慢。要解決這個(gè)問題就需要合理地這只緩存區(qū)的大小,掃描率和一次讀取掃描數(shù)3個(gè)參數(shù)。經(jīng)過大量實(shí)驗(yàn)證明,緩沖區(qū)的大小至少應(yīng)該是掃描率的2倍,最好是10倍。二掃描率即每通道采樣率一般來說應(yīng)為輸入信號(hào)最高頻率的7-10倍。單片機(jī)是測(cè)量系統(tǒng)數(shù)據(jù)交換的中心,該系統(tǒng)采用的是80C51單片機(jī),全靜態(tài)工作時(shí)振蕩器頻率為0~12MHz[6]。目前,8051單片機(jī)在工業(yè)檢測(cè)控制領(lǐng)域中得到了廣泛的應(yīng)用,因此我們可以在許多單片機(jī)應(yīng)用領(lǐng)域中,配接各種外部設(shè)備,完成工業(yè)自動(dòng)化的實(shí)現(xiàn)。89C51是Intel公司生產(chǎn)的一種單片機(jī),在一小塊芯片上集成了一個(gè)微型計(jì)算機(jī)的各個(gè)組成局部。每一個(gè)單片機(jī)包括:一個(gè)8位的微型處理器CPU;一個(gè)256K的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM;片內(nèi)程序存儲(chǔ)器ROM;四個(gè)8位并行的I/O接口P0-P3;兩個(gè)定時(shí)器/記數(shù)器;五個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工UART的串行I/O口;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率是12MHZ。以上各個(gè)局部通過內(nèi)部總線相連接。下面簡(jiǎn)單介紹下其各個(gè)局部的功能。中央處理器CPU是單片微型計(jì)算機(jī)的指揮、執(zhí)行中心,由它讀入用戶程序,并逐條執(zhí)行指令,它是由8位算術(shù)/邏輯運(yùn)算部件(簡(jiǎn)稱ALU)、定時(shí)/控制部件,假設(shè)干存放器A、B、SP以及16位程序計(jì)數(shù)器(PC)和數(shù)據(jù)指針存放器(DM)等主要部件組成。算術(shù)邏輯單元的硬件結(jié)構(gòu)與典型微型機(jī)相似。它具有對(duì)8位信息進(jìn)行+、-、x、/四那么運(yùn)算和邏輯與、或、異或、取反、清“0〞等運(yùn)算,并具有判跳、轉(zhuǎn)移、數(shù)據(jù)傳送等功能,此外還提供存放中間結(jié)果及常用數(shù)據(jù)存放器??刂破鞑考怯芍噶畲娣牌鳌⒊绦蛴?jì)數(shù)器PC、定時(shí)與控制電路等組成的。指令存放器中存放指令代碼。當(dāng)執(zhí)行指令時(shí),從程序存儲(chǔ)器中取來經(jīng)譯碼器譯碼后,根據(jù)不同指令由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),送到存儲(chǔ)器、運(yùn)算器或I/O接口電路,完成指令功能。程序計(jì)數(shù)器PC程序計(jì)數(shù)器PC用來存放下一條將要執(zhí)行的指令,共16位.可對(duì)以K字節(jié)的程序存儲(chǔ)器直接尋址C指令執(zhí)行結(jié)束后,PC計(jì)數(shù)器自動(dòng)增加,指向下一條要執(zhí)行的指令地址。數(shù)據(jù)存儲(chǔ)器,RAM,片內(nèi)為128B,片外最多可外擴(kuò)64KB。數(shù)據(jù)存儲(chǔ)器來存儲(chǔ)單片機(jī)運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等。片內(nèi)的128B的RAM,以高速RAM的形式集成在單片機(jī)內(nèi),可以加快單片機(jī)運(yùn)行的速度,而且這種結(jié)構(gòu)的RAM還可以降低功耗[7]。圖3.1單片機(jī)8051的內(nèi)部結(jié)構(gòu)程序存儲(chǔ)器,ROM,用來存儲(chǔ)程序,80C51為4KBROM。如果片內(nèi)只讀存儲(chǔ)器的容量不夠,那么需要用擴(kuò)展片只讀存儲(chǔ)器,片外最多可以擴(kuò)展到64KB。定時(shí)器/計(jì)數(shù)器,片內(nèi)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有4種工作方式。在單片機(jī)的應(yīng)用中,往往需要精確的定時(shí),或?qū)ν獠渴录M(jìn)行計(jì)數(shù),因而需在單片機(jī)內(nèi)部設(shè)置定時(shí)器/計(jì)數(shù)器部件。串行口,1個(gè)全雙工的串行口,具有4中工作方式。可用來進(jìn)行串行通信,擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣。特殊功能存放器,SFR,共有21個(gè),用于CPU對(duì)片內(nèi)各功能部件進(jìn)行管理、控制、監(jiān)視。CPU功能,總的來說是以不同的方式,執(zhí)行各種指令。不同的指令其功自略異。有的指令涉及到枷各存放器之間的關(guān)系;有的指令涉及到單片機(jī)核心電路內(nèi)部各功能部件的關(guān)系;有的那么與外部器件如外部程序存儲(chǔ)器發(fā)生聯(lián)系。事實(shí)上,cRJ是通過復(fù)雜的時(shí)序電路完成不同的指令功能。所謂cRJ的時(shí)序是指控制器控照指今功能發(fā)出一系列在時(shí)間上有一定次序的信號(hào),控制和啟動(dòng)一局部邏輯電路,完成某種操作。3.1.2時(shí)序①時(shí)鐘電路MCS—51片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,XTALI和XTAL2分別為振蕩電路的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。采用內(nèi)部方式時(shí),在C1和C2引腳上接石英晶體和微調(diào)電容可以構(gòu)成振蕩器,振蕩頻率的選擇范圍為1.2—12MHZ在使用外部時(shí)鐘時(shí),XTAL2用來輸入外部時(shí)鐘信號(hào),而XTALI接地。②時(shí)序MCS—5l單片機(jī)的一個(gè)執(zhí)器周期由6個(gè)狀態(tài)(s1—s6)組成,每個(gè)狀態(tài)又持續(xù)2個(gè)接蕩周期,分為P1和P2兩個(gè)節(jié)拍。這樣,一個(gè)機(jī)器周期由12個(gè)振蕩周期組成。假設(shè)采用12MHz的晶體振蕩器,那么每個(gè)機(jī)器周期為1us,每個(gè)狀態(tài)周期為1/6us;在一數(shù)情況下,算術(shù)和邏輯操作發(fā)生在N期間,而內(nèi)部存放器到存放器的傳輸發(fā)生在P2期間。對(duì)于單周期指令,當(dāng)指令操作碼讀人指令存放器時(shí),使從S1P2開始執(zhí)行指令。如果是雙字節(jié)指令,那么在同一機(jī)器周期的s4讀人第二字節(jié)。假設(shè)為單字節(jié)指令,那么在51期間仍進(jìn)行讀,但所讀入的字節(jié)操作碼被忽略,且程序計(jì)數(shù)據(jù)也不加1。在加結(jié)束時(shí)完成指令操作。多數(shù)Mcs—51指令周期為1—2個(gè)機(jī)器周期,只有乘法和除法指令需要兩個(gè)以上機(jī)器周期的指令,它們需4個(gè)機(jī)器周期。對(duì)于雙字節(jié)單機(jī)器指令,通常是在一個(gè)機(jī)器周期內(nèi)從程序存儲(chǔ)器中讀人兩個(gè)字節(jié),但Movx指令例外,Movx指令是訪問外部數(shù)據(jù)存儲(chǔ)器的單字節(jié)雙機(jī)器周期指令,在執(zhí)行Movx指令期間,外部數(shù)據(jù)存儲(chǔ)器被訪問且被選通時(shí)跳過兩次取指操作。下面是51單片機(jī)的振蕩電路圖:圖3.251單片機(jī)振蕩電路圖3.1.3光電隔離光電隔離器,亦稱光電耦合器、光耦合器,簡(jiǎn)稱光耦。光耦合器以光為媒介傳輸電信號(hào)。它對(duì)輸入、輸出電信號(hào)有良好的隔離作用,所以,它在各種電路中得到廣泛的應(yīng)用。光耦合器一般由三局部組成:光的發(fā)射、光的接收及信號(hào)放大。輸入的電信號(hào)驅(qū)動(dòng)發(fā)光二極管〔LED〕,使之發(fā)出一定波長(zhǎng)的光,被光探測(cè)器接收而產(chǎn)生光電流,再經(jīng)過進(jìn)一步放大后輸出。這就完成了電—光—電的轉(zhuǎn)換,從而起到輸入、輸出、隔離的作用。由于光耦合器輸入輸出間互相隔離,電信號(hào)傳輸具有單向性等特點(diǎn),因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強(qiáng)的共模抑制能力。所以,它在長(zhǎng)線傳輸信息中作為終端隔離元件可以大大提高信噪比[8]。在計(jì)算機(jī)數(shù)字通信及實(shí)時(shí)控制中作為信號(hào)隔離的接口器件,可以大大增加計(jì)算機(jī)工作的可靠性。光耦合器的主要優(yōu)點(diǎn)是:信號(hào)單向傳輸,輸入端與輸出端完全實(shí)現(xiàn)了電氣隔離,輸出信號(hào)對(duì)輸入端無影響,抗干擾能力強(qiáng),工作穩(wěn)定,無觸點(diǎn),使用壽命長(zhǎng),傳輸效率高。光耦合器是70年代開展起來產(chǎn)新型器件,現(xiàn)已廣泛用于電氣絕緣、電平轉(zhuǎn)換、級(jí)間耦合、驅(qū)動(dòng)電路、開關(guān)電路、斬波器、多諧振蕩器、信號(hào)隔離、級(jí)間隔離、脈沖放大電路、數(shù)字儀表、遠(yuǎn)距離信號(hào)傳輸、脈沖放大、固態(tài)繼電器(SSR)、儀器儀表、通信設(shè)備及微機(jī)接口中。在單片開關(guān)電源中,利用線性光耦合器可構(gòu)成光耦反應(yīng)電路,通過調(diào)節(jié)控制端電流來改變占空比,到達(dá)精密穩(wěn)壓目的。根本工作特性〔以光敏三極管為例〕1、共模抑制比很高在光電耦合器內(nèi)部,由于發(fā)光管和受光器之間的耦合電容很小〔2pF以內(nèi)〕所以共模輸入電壓通過極間耦合電容對(duì)輸出電流的影響很小,因而共模抑制比很高。2、輸出特性光電耦合器的輸出特性是指在一定的發(fā)光電流IF下,光敏管所加偏置電壓VCE與輸出電流IC之間的關(guān)系,當(dāng)IF=0時(shí),發(fā)光二極管不發(fā)光,此時(shí)的光敏晶體管集電極輸出電流稱為暗電流,一般很小。當(dāng)IF>0時(shí),在一定的IF作用下,所對(duì)應(yīng)的IC根本上與VCE無關(guān)。IC與IF之間的變化成線性關(guān)系,用半導(dǎo)體管特性圖示儀測(cè)出的光電耦合器的輸出特性與普通晶體三極管輸出特性相似。3、光電耦合器可作為線性耦合器使用。在發(fā)光二極管上提供一個(gè)偏置電流,再把信號(hào)電壓通過電阻耦合到發(fā)光二極管上,這樣光電晶體管接收到的是在偏置電流上增、減變化的光信號(hào),其輸出電流將隨輸入的信號(hào)電壓作線性變化。光電耦合器也可工作于開關(guān)狀態(tài),傳輸脈沖信號(hào)。在傳輸脈沖信號(hào)時(shí),輸入信號(hào)和輸出信號(hào)之間存在一定的延遲時(shí)間,不同結(jié)構(gòu)的光電耦合器輸入、輸出延遲時(shí)間相差很大。光電耦合器的測(cè)試1、用萬用表判斷好壞,斷開輸入端電源,用R×1k檔測(cè)1、2腳電阻,正向電阻為幾百歐,反向電阻幾十千歐,3、4腳間電阻應(yīng)為無限大。1、2腳與3、4腳間任意一組,阻值為無限大,輸入端接通電源后,3、4腳的電阻很小。調(diào)節(jié)RP,3、4間腳電阻發(fā)生變化,說明該器件是好的。注:不能用R×10k檔,否那么導(dǎo)致發(fā)射管擊穿。2、簡(jiǎn)易測(cè)試電路,當(dāng)接通電源后,LED不發(fā)光,按下SB,LED會(huì)發(fā)光,調(diào)節(jié)RP、LED的發(fā)光強(qiáng)度會(huì)發(fā)生變化,說明被測(cè)光電耦合器是好的。光電耦合器具體應(yīng)用1.組成開關(guān)電路電路中,當(dāng)輸入信號(hào)ui為低電平時(shí),晶體管V1處于截止?fàn)顟B(tài),光電耦合器B1中發(fā)光二極管的電流近似為零,輸出端Q11、Q12間的電阻很大,相當(dāng)于開關(guān)“斷開〞;當(dāng)ui為高電平時(shí),v1導(dǎo)通,B1中發(fā)光二極管發(fā)光,Q11、Q12間的電阻變小,相當(dāng)于開關(guān)“接通〞.該電路因Ui為低電平時(shí),開關(guān)不通,故為高電平導(dǎo)通狀態(tài).同理,因無信號(hào)(Ui為低電平)時(shí),開關(guān)導(dǎo)通,故為低電平導(dǎo)通狀態(tài)。2.組成邏輯電路電路為“與門〞邏輯電路。其邏輯表達(dá)式為P=A.B.圖中兩只光敏管串聯(lián),只有當(dāng)輸入邏輯電平A=1、B=1時(shí),輸出P=1.同理,還可以組成“或門〞、“與非門〞、“或非門〞等邏輯電路。3.組成隔離耦合電路這是一個(gè)典型的交流耦合放大電路.適中選取發(fā)光回路限流電阻Rl,使B4的電流傳輸比為一常數(shù),即可保證該電路的線性放大作用。4.組成高壓穩(wěn)壓電路驅(qū)動(dòng)管需采用耐壓較高的晶體管(圖中驅(qū)動(dòng)管為3DG27)。當(dāng)輸出電壓增大時(shí),V55的偏壓增加,B5中發(fā)光二極管的正向電流增大,使光敏管極間電壓減小,調(diào)整管be結(jié)偏壓降低而內(nèi)阻增大,使輸出電壓降低,而保持輸出電壓的穩(wěn)定。5.組成門廳照明燈自動(dòng)控制電路。A是四組模擬電子開關(guān)〔S1~S4〕:S1,S2,S3并聯(lián)〔可增加驅(qū)動(dòng)功率及抗干擾能力〕用于延時(shí)電路,當(dāng)其接通電源后經(jīng)R4,B6驅(qū)動(dòng)雙向可控硅VT,VT直接控制門廳照明燈H;S4與外接光敏電阻Rl等構(gòu)成環(huán)境光線檢測(cè)電路。當(dāng)門關(guān)閉時(shí),安裝在門框上的常閉型干簧管KD受到門上磁鐵作用,其觸點(diǎn)斷開,S1,S2,S3處于數(shù)據(jù)開狀態(tài)。晚間主人回家翻開門,磁鐵遠(yuǎn)離KD,KD觸點(diǎn)閉合。此時(shí)9V電源整流后經(jīng)R1向C1充電,C1兩端電壓很快上升到9V,整流電壓經(jīng)S1,S2,S3和R4使B6內(nèi)發(fā)光管發(fā)光從而觸發(fā)雙向可控硅導(dǎo)通,VT亦導(dǎo)通,H點(diǎn)亮,實(shí)現(xiàn)自動(dòng)照明控制作用。房門關(guān)閉后,磁鐵控制KD,觸點(diǎn)斷開,9V電源停止對(duì)C1充電,電路進(jìn)入延時(shí)狀態(tài)。C1開始對(duì)R3放電,經(jīng)一段時(shí)間延遲后,C1兩端電壓逐漸下降到S1,S2,S3的開啟電壓〔1.5v)以下,S1,S2,S3恢復(fù)斷開狀態(tài),導(dǎo)致B6截止,VT亦截止,H熄來,實(shí)現(xiàn)延時(shí)關(guān)燈功能。水箱的控制器由8051系統(tǒng)構(gòu)成。為防止電機(jī)的起停和電源波動(dòng)時(shí)對(duì)電路的影響,輸入輸出均采用光電隔離。光電隔離是半導(dǎo)體管敏感器件和發(fā)光二極管組成的一種新器件,它主要功能是實(shí)現(xiàn)電信號(hào)的傳送。輸入與輸出絕緣隔離,信號(hào)單向傳輸,無反應(yīng)影響。抗干擾性強(qiáng),響應(yīng)速度快。工作時(shí),把輸入信號(hào)加到輸入端,使發(fā)光管發(fā)光,光敏器件在磁光輻射下輸出光電流,從而實(shí)現(xiàn)電光點(diǎn)的兩次轉(zhuǎn)換。輸出通過繼電器,控制水泵機(jī)組的起停和報(bào)警,其電路圖如圖3.4:圖3.4系統(tǒng)控制電路原理圖3.1.4給水泵電機(jī)主控回路介紹給水泵電機(jī)主控回路圖3.5如下:圖3.5給水泵電機(jī)控制電路原理圖圖中水泵電機(jī)主控回路由兩個(gè)水泵電機(jī)以及二直流電機(jī)驅(qū)動(dòng)電路構(gòu)成,主控回路的控制信號(hào)由單片機(jī)的P1.0,P1.1,P1.2,P1.3發(fā)出,他們的引腳功能如下:P1.0:M1起動(dòng)KM1控制輸出信號(hào)?!彩謩?dòng)1,自動(dòng)0〕;P1.1:M1起動(dòng)KM1控制輸出信號(hào)?!彩謩?dòng)1,自動(dòng)0〕;P1.2:M2開關(guān)狀態(tài)輸入信號(hào)?!查_0,關(guān)1〕;P1.3:M2開關(guān)狀態(tài)輸入信號(hào)?!查_0,關(guān)1〕。3.1.5二級(jí)管顯示電路設(shè)計(jì)二級(jí)管顯示電路如圖3.6所示圖3.6報(bào)警電路該電路主要由三個(gè)發(fā)光二極管構(gòu)成,它們分別與單片機(jī)的P0.0,P0.1,P0.2端口相連,其中D1是電機(jī)加水提示燈,D2是電機(jī)抽水提示燈,D3是電機(jī)停止提示燈。3.280C51水箱控制系統(tǒng)主控硬件部署方案本系統(tǒng)電路分別由單片機(jī)80C51,泵電機(jī)M1,M2控制電路,水位反應(yīng)與報(bào)警控制電路三局部組成,通過該電路實(shí)現(xiàn)對(duì)水箱廢水排放和進(jìn)水手動(dòng)、自動(dòng)切換以及報(bào)警功能。其原理圖如下列圖3.8:圖3.7基于80C51單片機(jī)的水箱控制系統(tǒng)原理圖3.2.180C51單片機(jī)實(shí)現(xiàn)系統(tǒng)功能說明80C51為數(shù)據(jù)采集及處理模塊核心,它主要完成系統(tǒng)對(duì)水位上下信號(hào)是否滿足指標(biāo)的信息采集[9],對(duì)采集到的水位信號(hào)通過系統(tǒng)程序進(jìn)行對(duì)信號(hào)的判斷等處理,根據(jù)采集信號(hào)的不同,驅(qū)動(dòng)相應(yīng)信號(hào)對(duì)應(yīng)功能的引腳來實(shí)現(xiàn)對(duì)水箱水位的控制。3.2.2相關(guān)器件單片機(jī)AT89C51電動(dòng)機(jī)MOTOR差動(dòng)放大器(TIP32,BC182)LED燈開關(guān)模擬水箱3.2.3相關(guān)電路圖3.8差分放大器電路圖差分放大器也叫差動(dòng)放大器是一種將兩個(gè)輸入端電壓的差以一固定增益放大的電子放大器,有時(shí)簡(jiǎn)稱為“差放〞。差分放大器通常被用作功率放大器〔簡(jiǎn)稱“功放〞〕和發(fā)射極耦合邏輯電路(ECL,EmitterCoupledLogic)的輸入級(jí)。如果Q1Q2的特性很相似,那么Va,Vb將同樣變化。例如,Va變化+1V,Vb也變化+1V,因?yàn)檩敵鲭妷篤OUT=Va-Vb=0V,即Va的變化與Vb的變化相互抵消。這就是差動(dòng)放大器可以作直流信號(hào)放大的原因。假設(shè)差放的兩個(gè)輸入為,那么它的輸出Vout為:〔3.1〕其中Ad是差模增益(differential-modegain),Ac是共模增益(common-modegain)。因此為了提高信/噪比,應(yīng)提高差動(dòng)放大倍數(shù),降低共模放大倍數(shù)。二者之比稱做共模仰制比〔CMRR,common-moderejectionratio〕。共模放大倍數(shù)AC可用下式求出:Ac=2Rl/2Re通常以差模增益和共模增益的比值共模抑制比(CMRR,common-moderejectionratio)衡量差分放大器消除共模信號(hào)的能力:〔3.2〕由上式可知,當(dāng)共模增益Ac→0時(shí),CMRR→∞。Re越大,Ac就越低,因此共模抑制比也就越大。因此對(duì)于完全對(duì)稱的差分放大器來說,其Ac=0,故輸出電壓可以表示為:〔3.3〕所謂共模放大倍數(shù),就是Va,Vb輸入相同信號(hào)時(shí)的放大倍數(shù)。如果共模放大倍數(shù)為0,那么輸入噪聲對(duì)輸出沒有影響。要減小共模放大倍數(shù),加大RE就行通常使用內(nèi)阻大的恒流電路來帶替RE[10]。差分放大器是普通的單端輸入放大器的一種推廣,只要將差放的一個(gè)輸入端接地,即可得到單端輸入的放大器。很多系統(tǒng)在差分放大器的一個(gè)輸入端輸入反應(yīng)信號(hào),另一個(gè)輸入端輸入反應(yīng)信號(hào),從而實(shí)現(xiàn)負(fù)反應(yīng)。常用于電機(jī)或者伺服電機(jī)控制,穩(wěn)壓電源,測(cè)量?jī)x器以及信號(hào)放大。在離散電子學(xué)中,實(shí)現(xiàn)差分放大器的一個(gè)常用手段是差動(dòng)放大,見于多數(shù)運(yùn)算放大器集成電路中的差分電路。圖3.9單端輸出的差動(dòng)放大電路(不平衡輸出)當(dāng)Vo被在Q1或Q2的集極C對(duì)地取出時(shí),稱為單端Singleended或不平衡輸出UnbalanceOutput。單端較差動(dòng)輸出之幅度小一倍,使用單端輸出時(shí),共模訊號(hào)不能被抑制,因Vi1與Vi2同時(shí)增加,VC1與VC2那么減少,而且VC1=VC2,但Vo=VC2,并非于零(產(chǎn)生零點(diǎn)漂移)。但是加大RE阻值可以增大負(fù)回輸而抑制輸出,并且抑制共模訊號(hào),因Vi1=Vi2時(shí),Ii1及Ii2也同時(shí)增加,IE亦上升而令VE升高,這對(duì)Q1和Q2產(chǎn)生負(fù)回輸,令Q1和Q2之增益減少,即Vo減少。當(dāng)差動(dòng)訊號(hào)輸入時(shí),Vi1=-Vi2,IC1增加而IC2減少,總電流IE=IC1+IC2便不變,因此VE也不變,加大RE電阻值之電路會(huì)將差動(dòng)訊號(hào)放大,不會(huì)對(duì)Q1及Q2產(chǎn)生負(fù)回輸及抑制。圖3.10使用恒流源的差動(dòng)放大器實(shí)際上,RE不能加得太大,因會(huì)使靜態(tài)之IC1和IC2減少,使Q1和Q2得不到適當(dāng)之偏壓或需要很高之電源電壓。上圖Q3及Q4為電流鏡像恒流源代替電阻RE,使用恒流源可以得到高阻抗及固定電流,B極因R1和R2得到一個(gè)固定的偏壓。共模輸入時(shí),Vi1=Vi2,因IE為不變,IC1和IC2也不能改變,故Vo為零,而共模信號(hào)被抑制。差動(dòng)輸入時(shí),Vi1=-Vi2,雖然IE為不變,但I(xiàn)C1和IC2也可改變,因IC1上升而IC2下降,故此Vo不等于零,而將差動(dòng)信號(hào)放大。圖3.11使用電流鏡像作為差動(dòng)放大器之有源負(fù)載主動(dòng)式負(fù)載ActiveLoad(有源負(fù)載)作用:a)提高增益:。b)減低功率消耗(相對(duì)純電阻來說)。c)提高差動(dòng)放大之輸出電壓。d)提高共模抑制比CMRR。工作原理:設(shè)Vi1增加,那么Vi2減少(但數(shù)量相等,Vi1=Vi2)即差動(dòng)輸入,那么IC1升而IC2下降(并且,ΔIC1=ΔIC2)因電流鏡像原理,IC4=IC1,故此,Io=IC4IC2=IC1IC2(ΔIo=2ΔIC1或2ΔIC2)這說明了輸出電流是IC1和IC2的相差,即將輸出變?yōu)榫哂须p端差動(dòng)輸出性能的單端輸出(故對(duì)共模訊號(hào)之抑制有改善因雙端差動(dòng)輸出才能產(chǎn)生消除共模訊號(hào)作用)。IC2減少使Q2之VCE增加,使Vo上升而IC4增加,使Q4之VCE減少,這也是使Vo增加,故此,Vo上升之幅度是使用電阻為負(fù)載之單端輸出電壓大一倍。4系統(tǒng)軟件設(shè)計(jì)4.1程序概要設(shè)計(jì)本系統(tǒng)程序開發(fā),使用的語(yǔ)言給匯編語(yǔ)言。程序?qū)崿F(xiàn)當(dāng)水位處于LG(高)、LD(低)或LDD(低低)時(shí),報(bào)警信號(hào)輸出,判斷泵水方式(自動(dòng)或手動(dòng))。當(dāng)水位到達(dá)規(guī)定容量時(shí),停止泵水。在次程序中,低電平為有效(即0為有效),高電平為無效(即1為無效)。4.2系統(tǒng)程序原理4.2.1系統(tǒng)主要程序及流程框圖主程序要實(shí)現(xiàn)的是,對(duì)數(shù)據(jù)的初始化,并且判斷用戶是使用自動(dòng)模式還是手動(dòng)模式,根據(jù)用戶的具體需求:假設(shè)用戶選擇自動(dòng)模式,那么程序調(diào)用自動(dòng)化子程序;假設(shè)用戶選擇手動(dòng)模式,那么程序調(diào)用手動(dòng)子程序。ORG0000HAJMPMAINORG0060HMAIN:MOVP1,#FFH;P1P3口初始化置1MOVP3,#FFHJNBP1.3,AUT;假設(shè)手動(dòng)在自動(dòng)位置,跳到自動(dòng)模式子程序AJMPMEN;否那么轉(zhuǎn)到手動(dòng)模式子程序END主程序框架圖如下:圖4.1主程序流程圖4.2.2自動(dòng)模式子程序原理及流程框圖自動(dòng)模式子程序運(yùn)行的前置條件是,系統(tǒng)開始運(yùn)行,并且用戶選擇使用自動(dòng)化控制模式。自動(dòng)模式子程序首先判斷水位是否高LG,假設(shè)水位高于指標(biāo),那么運(yùn)行“水位高報(bào)警〞程序,并返回主程序。假設(shè)水位不高,那么判斷水位是否低LD,假設(shè)水位低,那么試運(yùn)行“水位低報(bào)警〞程序。然后判斷水位是否低低LDD:假設(shè)水位沒有到達(dá)LDD的指標(biāo),那么試判斷“M1是否開啟〞,假設(shè)沒有開啟,那么開啟M1;假設(shè)“M1開啟〞那么判斷“M2是否開啟〞,假設(shè)“M2開啟〞,那么程序運(yùn)行“停止M2〞程序;假設(shè)“M2沒有開啟〞,那么試程序運(yùn)行“延遲1分鐘〞,一分鐘后程序“返回主程序〞。假設(shè)水位到達(dá)水位LDD的指標(biāo),那么運(yùn)行“水位低低報(bào)警〞,然后程序判斷“M1是否開啟〞,假設(shè)“M1未開啟〞那么運(yùn)行“M1開啟〞程序;假設(shè)“M1開啟〞那么程序判斷“M2是否開啟〞,假設(shè)“M2未開啟〞那么運(yùn)行“M2開啟〞程序,假設(shè)“M2開啟〞,那么運(yùn)行“延遲一分鐘〞,一分鐘后程序“返回主程序〞。其程序控制如下所示:ORG0000HAJMPMAINORG0060HMAIN:MOVP1,#FFH;P1P3口初始化置1MOVP3,#FFHJNBP1.3,AUT;假設(shè)手動(dòng)在自動(dòng)位置,跳到自動(dòng)模式子程序AJMPMEN;否那么轉(zhuǎn)到手動(dòng)模式子程序ENDAUT:NOP;空命令JNBP1.2,LG;水位高-LGJBP1.1,LD;水位沒低-LDCLRP3.1;水位低報(bào)警JBP1.0,LDD;水位未低低-LDDCLRP3.0;水位低低報(bào)警JNBP1.6,Y1;M1已啟動(dòng)-Y1CLRP1.4;否那么啟動(dòng)M1Y1:JNBP1.7,Y2;M2已啟動(dòng)-Y2CLRP1.5;否那么啟動(dòng)M2Y2:ACALLDELAY;延時(shí)1分鐘AJMPAUT;返回自動(dòng)模式LDD:JNBP1.6,Y3;單獨(dú)運(yùn)行M1〔LDD〈水位〈LD〕CLRP1.4Y3:JBP1.7,Y2SETBP1.5AJMPY2LG:CLRP3.2;水位高報(bào)警LD:AJMPMAIN;返回主程序自動(dòng)模式子程序原理框圖如圖4.2:圖4.2自動(dòng)模式子程序原理框圖4.2.2手動(dòng)模式子程序原理及流程框圖手動(dòng)模式子程序運(yùn)行的前置條件是,系統(tǒng)開始運(yùn)行,并且用戶選擇使用自手動(dòng)控制模式。手動(dòng)模式子程序中判斷語(yǔ)句的條件是依據(jù)用戶的具體操作。手動(dòng)模式子程序首先判斷“水位是否LG〞,假設(shè)水位LG到達(dá)指標(biāo),那么程序返回主程序;假設(shè)水位LG未到達(dá)指標(biāo),那么程序運(yùn)行“判斷有無鍵合〞:假設(shè)“判斷沒有鍵合〞那么子程序進(jìn)行循環(huán);假設(shè)“判斷鍵合〞,那么程序判斷“M1是否鍵合〞。假設(shè)用戶操作“M1鍵合〞,那么程序運(yùn)行“判斷M1是否開啟〞:假設(shè)“M1開啟〞那么子程序進(jìn)行循環(huán);假設(shè)“判斷M1未開啟〞,那么程序運(yùn)行“開啟M1〞。假設(shè)用戶操作“M1不鍵合〞,那么程序判斷“M2是否鍵合〞:假設(shè)用戶操作“M2鍵合〞,那么程序運(yùn)行“判斷M2是否開啟〞;假設(shè)“M2開啟〞那么子程序進(jìn)行循環(huán);假設(shè)“判斷M2未開啟〞,那么程序運(yùn)行“開啟M2〞。假設(shè)程序判斷用戶均未進(jìn)行“M1、M2鍵合〞,那么程序要判斷“是否停止M1鍵合〞:假設(shè)用戶操作“M1停止鍵合〞,那么程序判斷“M1是否停止〞;假設(shè)“M1停止〞,那么子程序循環(huán);假設(shè)“M1沒有停止〞,那么程序運(yùn)行“停止M1〞。假設(shè)用戶不操作“M1停止鍵合〞,那么程序判斷“是否停止M2鍵合〞:假設(shè)用戶操作“M2停止鍵合〞,那么程序判斷“M2是否停止〞,假設(shè)“M2停止〞,那么子程序循環(huán);假設(shè)“M2沒有停止〞,那么程序運(yùn)行“停止M2〞。手動(dòng)模式子程序原理框圖如圖4.3:圖4.3手動(dòng)模式子程序流圖手動(dòng)控制子程序MEN:NOPJNBP1.1,MAINACALLKEYCJNEA,#F0H,NNAJMPMENNN:JNBACC.4,HM1JNBACC.5,HM2JNBACC.6,DM1JNBACC.7,DM2AJMPMENHM1:JNBP1.6,MENCLRP1.4AJMPMENHM2:JNBP1.7,MENCLRP1.5AJMPMENDM1:JBP1.6,MENSETBP1.4AJMPMENDM2:JBP1.7,MENSETBP1.5AJMPMENRET延時(shí)30S主程序T1M1:MOVR1,#F0HL4:MOVR2,#08HL1:MOVR3,#FAHL2:MOVR4,#FAHL1:DJNZR4,L1DJNZR3,L2DJNZR2,L3DJNZR1,L4RET延時(shí)6ms子程序T1M3:MOVR4,#12MM:MOVR5,#248DJNZR5,$DJNZR4,D3RET有無鍵合子程序:KEY:ACALLKS1;有無閉合JNZLK1ACALLTIM3AJMPKEY;無鍵閉合返回LK1:ACALLTIM1ACALLTIM1ACALLKS1JNZLK2ACALLTIM3AJMPKEYLK2:RETKS1:MOVA,P3;掃描ANLA,#F0H;屏蔽低4位RET5調(diào)試仿真在Proteus的ISIS7.1sp2軟件環(huán)境下畫出電路原理圖,接下來就是將設(shè)計(jì)的程序在KeilC51μVision2開發(fā)集成環(huán)境上編譯成機(jī)器語(yǔ)言,進(jìn)入Proteus的ISIS,鼠標(biāo)左鍵點(diǎn)擊菜單“Debug〞,選中“useromotedebugermonitor〞,便可實(shí)現(xiàn)KeilC與Proteus連接調(diào)試[11]。首先在Proteus中雙擊單片機(jī)80C51,將KeilC下編程生成的.HEX文件導(dǎo)入到8051中,可在Proteus中單擊全速仿真運(yùn)行按鈕,進(jìn)行現(xiàn)象的查看,能清楚地觀察到芯片上每一個(gè)引腳的電平變化,紅色代表高電平,藍(lán)色代表低電平;如果現(xiàn)象不正確,那么在KeilC中單步調(diào)試程序,并在Proteus觀察現(xiàn)象,那一步不正確那么對(duì)該段的程序進(jìn)行修改,調(diào)試直到仿真完全成功為止。如圖5.1所示,該仿真驗(yàn)證的過程為,首先按開始按,然后按下按鍵開關(guān)K1,這時(shí)發(fā)光二極管D1亮了,代表DD自動(dòng)正轉(zhuǎn)加水M1M2。圖5.1M1M2自動(dòng)正轉(zhuǎn)加水仿真圖按鍵按鍵開關(guān)K2,這時(shí)放光二極管D2亮了,代表手動(dòng)反轉(zhuǎn)抽水M1M2,仿真結(jié)果如圖5.2所示。圖5.2M1M2手動(dòng)反轉(zhuǎn)抽水仿真圖按下按鍵開關(guān)K3,這時(shí)發(fā)光二極管D3亮了,代表GG自動(dòng)停止M1M2,真現(xiàn)象如圖5.3所示。圖5.3M1M2自動(dòng)停止仿真圖按下按鍵開關(guān)K4,這時(shí)放光二極管D1亮了,代表手動(dòng)正轉(zhuǎn)加水M1M2,仿真結(jié)果如圖5.4所示。圖5.4M1M2手動(dòng)正轉(zhuǎn)加水仿真圖按下按鍵開關(guān)K5,這時(shí)發(fā)光二極管D3亮了,代表手動(dòng)停止M1M2.仿真結(jié)果如圖5.5所示。圖5.5M1M2手動(dòng)停止仿真圖按下按鍵開關(guān)K6,這時(shí)發(fā)光二極管D1亮了,代表D自動(dòng)正轉(zhuǎn)加水M1,仿真結(jié)果如圖5.6所示。圖5.6M1自動(dòng)正轉(zhuǎn)加水仿真圖6總結(jié)與展望縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。以前沒有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且本錢高,并且由于長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀冎恍枰趩纹瑱C(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心局部只是由人為的寫入程序來完成。這樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制梁勞務(wù)合同范例
- 信貸資產(chǎn)信托合同范本
- 乙醇燃料的成本管理和降本增效
- 不帶司機(jī)租車合同范本
- 全款買車銷售合同范本
- 兼職模特合同范例
- 冷庫(kù)設(shè)備購(gòu)銷合同范本
- 農(nóng)村承包魚塘經(jīng)營(yíng)合同范例
- 電影制片人聘用合同范本
- 徐州白云區(qū)門面出租經(jīng)營(yíng)合同范本
- 2025屆西藏林芝一中高三第二次診斷性檢測(cè)英語(yǔ)試卷含解析
- 中國(guó)傳統(tǒng)文化非遺文化中國(guó)剪紙介紹2
- 藥企銷售總經(jīng)理競(jìng)聘
- 開封市第一屆職業(yè)技能大賽健康照護(hù)項(xiàng)目技術(shù)文件(國(guó)賽)
- 飲酒與糖尿病
- 公路電子收費(fèi)系統(tǒng)安裝合同范本
- 醫(yī)院培訓(xùn)課件:《傷口評(píng)估與測(cè)量》
- 期末試卷(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)滬教版
- 《第一單元口語(yǔ)交際:即興發(fā)言》教案-2023-2024學(xué)年六年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- 情侶自愿轉(zhuǎn)賬贈(zèng)與協(xié)議書范本
- 綜合實(shí)踐項(xiàng)目 制作水族箱飼養(yǎng)淡水魚 教學(xué)設(shè)計(jì)-2024-2025學(xué)年魯科版生物六年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論