山東金嶺鐵礦 張繼信 張建剛
機作為主體,實現液位的數據采集及顯示。
單片機控制系統以其控制精度高、性能穩定可靠、設置操作方便、造價低等特點被應用到液位系統的數據采集與控制中來[1]。本文設計了一種新型的基于單片機的液位數據采集系統,該系統以AT89C51單片
本系統由以下幾個部分組成:由差壓式液位傳感器采集數據采集部分,A/D轉換部分,數據處理部分,數據顯示部分等。首先把差壓式傳感器采集到的液位模擬量以電信號方式輸入到ADC0809轉換器中,將之轉換成為離散的數字量,該模擬量在AT89C51芯片內通過數字處理程序和數字濾波程序的處理后,進入片外數據存儲器8255A,最終在8段LED顯示器中直觀的顯示出來。當所測液位超出限定范圍時,系統將自動發出報警。其系統原理如圖1所示。
本文設計的液位數據采集系統增加了數據采集抗干擾信號處理技術,相對于傳統的液位數據采集系統,該系統的各方面性能有了顯著提高,而且該系統的電路調試方便、穩定性好、成本低。

圖1 系統原理框圖
液位數據采集系統的硬件設計整個系統設計的主要組成部分。其中系統硬件主要包括主控制器AT89C51芯片、A/D轉換芯片、顯示數碼管、液位傳感器、超限報警模塊等。

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