郭琳琳
摘 要: 本論文的目的就是設(shè)計實現(xiàn)一個具有一定實用性的實時數(shù)據(jù)采集系統(tǒng)。本文介紹了基于單片機的數(shù)據(jù)采集的硬件設(shè)計和軟件設(shè)計。數(shù)據(jù)采集系統(tǒng)是模擬域與數(shù)字域之間必不可少的紐帶,它的存在具有非常重要的作用。數(shù)據(jù)采集與通信控制采用了模塊化的設(shè)計,數(shù)據(jù)采集與通信控制采用了單片機AT89C51來實現(xiàn),硬件部分是以單片機為核心,還包括A/D模數(shù)轉(zhuǎn)換模塊,顯示模塊,和串行接口電路。本系統(tǒng)能夠?qū)?路模擬量,8路開關(guān)量和1路脈沖量進行數(shù)據(jù)采集。被測數(shù)據(jù)通過TLC0838進行模數(shù)轉(zhuǎn)換,實現(xiàn)對采集到的數(shù)據(jù)進行模擬量到數(shù)字量的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)通過串行口MAX232傳輸?shù)缴衔粰C,由上位機負責數(shù)據(jù)的接受、處理和顯示,并用LCD顯示器來顯示所采集的結(jié)果。對脈沖量進行采集時,通過施密特觸發(fā)器進行整形后再送入單片機。本文對數(shù)據(jù)采集系統(tǒng)、模數(shù)轉(zhuǎn)換系統(tǒng)、數(shù)據(jù)顯示、數(shù)據(jù)通信等程序進行了設(shè)計。
關(guān)鍵詞:數(shù)據(jù)采集 AT89C51單片機 TLC0838 MAX232
中圖分類號:TP274 文獻標識碼:A 文章編號:1003-9082(2017)02-0298-01
前言
數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個接口。數(shù)據(jù)采集技術(shù)廣泛應用在各個領(lǐng)域。近年來,數(shù)據(jù)采集及其應用受到了人們越來越廣泛的關(guān)注,數(shù)據(jù)采集系統(tǒng)也有了迅速的發(fā)展,它可以廣泛的應用于各種領(lǐng)域。本文設(shè)計的數(shù)據(jù)采集系統(tǒng),它的主要功能是完成數(shù)據(jù)采集、處理、顯示、控制以及與PC機之間的通信等。在該系統(tǒng)中需要將模擬量轉(zhuǎn)換為數(shù)據(jù)量,而 A/D是將模擬量轉(zhuǎn)換為數(shù)字量的器件,他需要考慮的指標有:分辨率、轉(zhuǎn)換時間、轉(zhuǎn)換誤差等等。而單片機是該系統(tǒng)的基本的微處理系統(tǒng),它完成數(shù)據(jù)讀取、處理及邏輯控制,數(shù)據(jù)傳輸?shù)纫幌盗械娜蝿?。本系統(tǒng)對數(shù)據(jù)采集系統(tǒng)體系結(jié)構(gòu)及功能進行分析,設(shè)計并實現(xiàn)采用單片機為核心,擴展電源電路、復位電路、LCD接口電路等,并配有標準RS-232串行通信接口。系統(tǒng)軟件采用C語言編寫,軟件設(shè)計采用模塊化結(jié)構(gòu)數(shù)據(jù)采集系統(tǒng)。數(shù)據(jù)采集系統(tǒng)需采用硬件和軟件方面的抗干擾措施。
一、系統(tǒng)主要功能
本系統(tǒng)對8路模擬信號,8路開關(guān)信號和1路脈沖信號進行采集并處理,系統(tǒng)設(shè)計了2個按鍵,當按鍵1按下時,系統(tǒng)開始工作,采集數(shù)據(jù),當按鍵2按下時,系統(tǒng)檢查是否通過RS-232連接PC機,若連接成功,則執(zhí)行傳輸命令,把所采集的數(shù)據(jù)送入PC機進行處理。
二、單片機與PC機相連結(jié)構(gòu)
系統(tǒng)選擇一個串行的A/D轉(zhuǎn)換芯片,可采集8路的模擬量。開關(guān)量采集可以直接用單片機的I/O,單片機還有兩個外部中斷接口,即可用來測量脈沖量的輸入,采集其輸入頻率。單片機可以通過串口與上位PC機進行通訊,把采集到的數(shù)據(jù)發(fā)送到上位機上。PC機有非常強大的運算能力,由PC機處理采集到的數(shù)據(jù),PC機處理數(shù)據(jù)速度快,界面友好直接,所以選擇單片機通過MAX232與PC機相連,便于方便地處理數(shù)據(jù)。
三、數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計
主控制器是本系統(tǒng)的核心部分,它負責數(shù)據(jù)的采集及處理。在本系統(tǒng)中主控制器我選擇了單片機,單片機控制功能強,性價比優(yōu)異,體積小巧,適用于本數(shù)據(jù)采集系統(tǒng)。
單片機就是單片微型計算機,單片機微型計算機的核心是微處理器MPU,與一般微型計算機所不同的是是它將微處理器,內(nèi)存,I/O接口,中斷邏輯,定時器/計數(shù)器集成在一個集成電路芯片上。
在本數(shù)據(jù)采集系統(tǒng)中,采用了MCS-51系列:AT89C51芯片。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。單片機的可擦除只讀存儲器可以反復擦除100次,該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。
由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器, AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。
在本數(shù)據(jù)采集系統(tǒng)需要采集8路模擬信號,選用A/D轉(zhuǎn)換器TLC0838,TLC0838是美國德州儀器公司生產(chǎn)的8位逐次逼近模數(shù)轉(zhuǎn)換器。存全8位分辨率下,它允許任意小的模擬電壓編碼間隔。
對開關(guān)量的采集電路相對比較簡單,因為開關(guān)量的狀態(tài)只有0和1兩種,所以只要用單片機的并口就可以了,本數(shù)據(jù)采集系統(tǒng)用的是P2口,各開關(guān)通過擴展輸入口74LS244與單片機相連。開關(guān)合上時將P2口的相應引腳送低電平,反之,開關(guān)打開時送高電平。
74LS244為3態(tài)8位緩沖器,一般用作總線驅(qū)動器。74LS244沒有鎖存的功能。地址鎖存器就是一個暫存器,它根據(jù)控制信號的狀態(tài),將總線上地址代碼暫存起來。
鎖存器是一個很普通的時序電路。一般的,它在時鐘上升沿或者下降沿來的時候鎖存輸入,然后產(chǎn)生輸出,在其他的時候輸出都不跟隨輸入變化,這就是所謂邊緣觸發(fā)的D觸發(fā)器。
脈沖信號是周期變化的信號,AT89C51單片機有兩個外部中斷INT0和INT1接口,利用這兩個外部中斷輸入接口,可以對脈沖量信號進行測量。脈沖量可以直接送到單片機的外部中斷接口,本數(shù)據(jù)采集系統(tǒng)用施密特觸發(fā)器進行整形后送入單片機。
利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正反饋作用,可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于vt+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號。 當輸入電壓由低向高增加,到達V+時,輸出電壓發(fā)生突變,而輸入電壓Vi由高變低,到達V-,輸出電壓發(fā)生突變,因而出現(xiàn)輸出電壓變化滯后的現(xiàn)象,可以看出對于要求一定延遲啟動的電路,它是特別適用的。
四、數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計
本軟件系統(tǒng)有一個主程序,七個子程序,七個子程序分別為向串口發(fā)送數(shù)據(jù)子程序、鍵盤掃描子程序、LCD數(shù)據(jù)顯示子程序、模數(shù)轉(zhuǎn)換子程序、開關(guān)量采集子程序、脈沖量采集子程序。
系統(tǒng)上電后首先進行自檢,檢查各功能模塊電子器件是否正常工作,檢查完畢后進行各功能模塊初始化,掃描鍵盤,當有“按鍵1”按下時,系統(tǒng)可讀到P0口為低電平,此時系統(tǒng)開始執(zhí)行測量數(shù)據(jù)的工作,將采集到的數(shù)據(jù)儲存到特定寄存器,當有“按鍵2”按下時,系統(tǒng)將檢查是否與上位機已經(jīng)建立連接,若連接成功則通過RS-232接口進行數(shù)據(jù)傳送。