山東金嶺鐵礦 張繼信 張建剛
機(jī)作為主體,實(shí)現(xiàn)液位的數(shù)據(jù)采集及顯示。
單片機(jī)控制系統(tǒng)以其控制精度高、性能穩(wěn)定可靠、設(shè)置操作方便、造價(jià)低等特點(diǎn)被應(yīng)用到液位系統(tǒng)的數(shù)據(jù)采集與控制中來(lái)[1]。本文設(shè)計(jì)了一種新型的基于單片機(jī)的液位數(shù)據(jù)采集系統(tǒng),該系統(tǒng)以AT89C51單片
本系統(tǒng)由以下幾個(gè)部分組成:由差壓式液位傳感器采集數(shù)據(jù)采集部分,A/D轉(zhuǎn)換部分,數(shù)據(jù)處理部分,數(shù)據(jù)顯示部分等。首先把差壓式傳感器采集到的液位模擬量以電信號(hào)方式輸入到ADC0809轉(zhuǎn)換器中,將之轉(zhuǎn)換成為離散的數(shù)字量,該模擬量在AT89C51芯片內(nèi)通過數(shù)字處理程序和數(shù)字濾波程序的處理后,進(jìn)入片外數(shù)據(jù)存儲(chǔ)器8255A,最終在8段LED顯示器中直觀的顯示出來(lái)。當(dāng)所測(cè)液位超出限定范圍時(shí),系統(tǒng)將自動(dòng)發(fā)出報(bào)警。其系統(tǒng)原理如圖1所示。
本文設(shè)計(jì)的液位數(shù)據(jù)采集系統(tǒng)增加了數(shù)據(jù)采集抗干擾信號(hào)處理技術(shù),相對(duì)于傳統(tǒng)的液位數(shù)據(jù)采集系統(tǒng),該系統(tǒng)的各方面性能有了顯著提高,而且該系統(tǒng)的電路調(diào)試方便、穩(wěn)定性好、成本低。
圖1 系統(tǒng)原理框圖
液位數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)整個(gè)系統(tǒng)設(shè)計(jì)的主要組成部分。其中系統(tǒng)硬件主要包括主控制器AT89C51芯片、A/D轉(zhuǎn)換芯片、顯示數(shù)碼管、液位傳感器、超限報(bào)警模塊等。
圖2 數(shù)據(jù)采集程序流程圖
AT89C51產(chǎn)品與80C51相比,除了其片內(nèi)有閃存存儲(chǔ)器,現(xiàn)編程/擦除速度快之外,AT89C51還可實(shí)現(xiàn)遠(yuǎn)距離編程,而且其產(chǎn)品價(jià)格比片內(nèi)帶EPROM的80C51低,這就充分顯示出AT89C51的優(yōu)越性。由于本次設(shè)計(jì)的任務(wù)是建立一個(gè)液位數(shù)據(jù)的實(shí)時(shí)采集系統(tǒng),因此選用選用雙排直插式結(jié)構(gòu)的AT89C51單片機(jī),滿足設(shè)計(jì)要求。
AT89C51作為系統(tǒng)的核心部分,主要完成以下功能:
(1)對(duì)采集到的液位信號(hào)進(jìn)行必要的處理,保證檢測(cè)精度符合要求;
(2)將8路液位信號(hào)送LED進(jìn)行實(shí)時(shí)顯示;
(3)響應(yīng)鍵盤輸入,當(dāng)所測(cè)液位越限時(shí),發(fā)出報(bào)警。
差壓式液位傳感器選用Motorola公司生產(chǎn)的MPX2010型硅壓阻式壓力傳感器。
差壓式液位傳感器的差模輸出電壓一般為幾十毫伏左右。這信號(hào)必須經(jīng)過調(diào)理器電路放大變換,使其滿足應(yīng)用的要求。為了滿足與數(shù)字系統(tǒng)接口的要求,傳感器輸出信號(hào)通過調(diào)理器電路變?yōu)?~5V。
報(bào)警模塊是液位數(shù)據(jù)采集系統(tǒng)的組成部分。在液位數(shù)據(jù)采集的過程中,首先限定了可能出現(xiàn)的液位界限,當(dāng)所測(cè)得的液位數(shù)據(jù)超出這個(gè)范圍時(shí),報(bào)警電路就發(fā)揮作用,從而實(shí)現(xiàn)報(bào)警功能保證系統(tǒng)安全運(yùn)行。要實(shí)現(xiàn)報(bào)警功能只需在單片機(jī)的P1.0端口處接一只發(fā)光二極管即可[2],當(dāng)液位數(shù)據(jù)超出所設(shè)定的界限時(shí),發(fā)光二極管閃亮,實(shí)現(xiàn)報(bào)警的目的。
在此設(shè)計(jì)中使用的是LED顯示器。這種顯示器有兩種類型:一種是發(fā)光二極管的陰極連在一起的共陰極顯示器;另一種是發(fā)光二極管的陽(yáng)極連在一起的共陽(yáng)極顯示器,本文選用共陰極形式。由于8段顯示器雖然能顯示的字符數(shù)量較少,但控制簡(jiǎn)單,使用方便,故得到了廣泛應(yīng)用。
數(shù)據(jù)采集程序是整個(gè)液位數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)的主要組成部分,也是整個(gè)數(shù)據(jù)采集系統(tǒng)的主程序,它完成對(duì)數(shù)字處理子程序、轉(zhuǎn)換子程序,顯示子程序等程序的調(diào)用,從而構(gòu)成整個(gè)數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)。
數(shù)據(jù)采集程序首先修改堆棧指針,設(shè)置位碼寄存器地址,設(shè)置定時(shí)器0工作方式為工作方式1,定時(shí)器0置初值,然后啟動(dòng)定時(shí)器0,允許定時(shí)器0中斷,開中斷,秒標(biāo)志位清0并置初值;指向通道0,再計(jì)算通道地址,啟動(dòng)A/D轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,待轉(zhuǎn)換完成后讀取轉(zhuǎn)換結(jié)果,調(diào)結(jié)果轉(zhuǎn)換程序?qū)⒍M(jìn)制轉(zhuǎn)化成十進(jìn)制,送當(dāng)前通道號(hào)到顯示器1;調(diào)用顯示子程序,顯示時(shí)間為一秒,一秒不到等待,到一秒后秒標(biāo)志位清0秒計(jì)數(shù)器重置初值,通道號(hào)加1,若不是最后一個(gè)通道,則轉(zhuǎn)到計(jì)算通道地址之前,若是最后一個(gè)通道就轉(zhuǎn)到0通道之后循環(huán)。
數(shù)據(jù)采集程序流程圖如圖2所示。
盡管在硬件電路的構(gòu)件方面已經(jīng)采取了種種抗干擾措施,但干擾是不可能完全消除的。在數(shù)據(jù)采集處理時(shí),要涉及到數(shù)值計(jì)算。正確的程序不一定算出正確的結(jié)果。使用軟件抗干擾技術(shù)的優(yōu)點(diǎn)在于不需要增加硬件設(shè)備,使用靈活,修改方便,本章軟件抗干擾的技術(shù)主要采用設(shè)置指針陷阱的方法,即在某個(gè)子程序后面或程序段后,插入幾條指令[3]
NOP
NOP
NOP
NOP
LJMP MAIN
其中MAIN是初始化程序的開始地址,在ROM區(qū)的空白處(特別是后面的空白處),每幾十個(gè)字節(jié)放一條指令LJMP MAIN。通過指針陷阱,一旦單片機(jī)受干擾時(shí),程序指針混亂,執(zhí)行了一段程序后,就會(huì)落入陷阱中,執(zhí)行LIMP MAIN指令,恢復(fù)到初始化程序開始處,避免了死機(jī)。
本系統(tǒng)的設(shè)計(jì)一般由液位數(shù)據(jù)采集模塊和采集數(shù)據(jù)處理模塊兩部分組成。因此在不同的應(yīng)用系統(tǒng)上設(shè)計(jì)思路有著很大的相似之處。本文以實(shí)際應(yīng)用系統(tǒng)的設(shè)計(jì)為例,簡(jiǎn)要介紹了以AT89C51單片機(jī)為核心的液位數(shù)據(jù)采集系統(tǒng),并根據(jù)本系統(tǒng)的具體要求,通過組裝調(diào)試,可實(shí)現(xiàn)以下預(yù)期功能:
(1)所選液位傳感器滿量程測(cè)量液位高度為0~15cm,通過單片機(jī)將液位高度處理后,轉(zhuǎn)化為離散的數(shù)字量,通過設(shè)定,系統(tǒng)測(cè)量液位的精度可達(dá)±1mm;
(2)LED顯示器每秒顯示測(cè)量通道號(hào)和1路液位數(shù)據(jù);
(3)采集系統(tǒng)設(shè)定液位界限為0~10cm,當(dāng)超出液位界限5mm時(shí),紅燈亮,報(bào)警時(shí)間為0.5秒。
[1]姜志海.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2006,7.
[2]胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2000,9.164-220.
[3]劉麗娜,廉新宇.數(shù)據(jù)采集系統(tǒng)中抗干擾分析[J].陶瓷研究與職業(yè)教育,2005,3.