基于單片機(jī)與PC通信的數(shù)據(jù)采集控制系統(tǒng)設(shè)計研究
在單片機(jī)的顯示裝置部分,此次設(shè)計采用的是4 個共陽數(shù)碼管,對于段選數(shù)據(jù)線以及單片機(jī)采用一組I /O 端口對其進(jìn)行連接,而對于位選數(shù)據(jù)線,則經(jīng)過ULN2003A 驅(qū)動芯片和單片一組I /O 端口進(jìn)行連接。顯示控制部分,選用循環(huán)掃描的方式逐一點(diǎn)亮數(shù)碼管,然后進(jìn)行高速的切換,利用人體的視覺暫留特性,使其看上去是4 根共陽數(shù)碼管在同時穩(wěn)定地顯示。
2. 單片機(jī)與PC 機(jī)的通信連接與控制方式的選擇
2. 1 單片機(jī)與PC 機(jī)的通信連接
此次系統(tǒng)構(gòu)建的基于單片機(jī)與PC 通信的數(shù)據(jù)采集控制系統(tǒng)在單片機(jī)與PC 機(jī)的通信連接方面,主要是采用串行通信的方式實(shí)現(xiàn)的,這種方式能夠?qū)纹瑱C(jī)在現(xiàn)場采集到的各種數(shù)據(jù)通過串行通信的方式傳輸給計算機(jī),而同時,計算機(jī)也能夠通過這種方式實(shí)現(xiàn)自身對被控對象的遠(yuǎn)程控制功能,文中設(shè)計的單片機(jī)與PC 機(jī)之間的通信電路如圖2 所示:
圖2:單片機(jī)與PC機(jī)之間的通信電路設(shè)計圖
如圖2 所示,在單片機(jī)端,其輸入和輸出電平均為TTL,與PC 機(jī)的串口之間存在不同的電氣規(guī)范,因此,必須通過電平轉(zhuǎn)換芯片使二者之間能夠達(dá)到一致。在這里設(shè)計了MAX232 芯片作為RS - 232電平以及TTL 電平之間的轉(zhuǎn)換芯片。圖2 之中的C4,C5,C6 以及C7 都是MAX232 芯片的電源變換電路的外接電容,而C8 電容則是電源的去耦合電容,以消除對電源噪聲的影響。在PC 機(jī)端其TXD信號是通過MAX232 芯片將RS - 232 電平轉(zhuǎn)換為TTL 電平,然后將具體的信號向單片機(jī)進(jìn)行傳遞,而在單片機(jī)端,則是通過MAX232 芯片將TTL 電平轉(zhuǎn)換為RS - 232 電平,實(shí)現(xiàn)數(shù)據(jù)的傳遞。而C1,C2以及Y1 則構(gòu)成了單片機(jī)的外接晶振電路,電解電容C3 和電阻R1 構(gòu)成單片機(jī)復(fù)位電路。
2. 2 單片機(jī)與PC 機(jī)控制方式的選擇
在對于單片機(jī)控制方法的選擇上多是采用開關(guān)的方法,在開關(guān)打到不同位置并且能夠?qū)?yīng)引起不同引腳電壓的過程中,要能夠?qū)C 機(jī)的遠(yuǎn)程控制模式和單片機(jī)的本土控制模式進(jìn)行不同位置的打開,這樣才能夠判斷好單片機(jī)運(yùn)行的模式,從而判斷當(dāng)前是處于PC 機(jī)的遠(yuǎn)程控制模式還是處于單片機(jī)的本土控制模式。如果選擇的是前者,則PC 機(jī)根據(jù)自身內(nèi)置的算法庫中的算法程序?qū)Ξ?dāng)前的數(shù)據(jù)進(jìn)行分析,然后將得出的操作指令向單片機(jī)發(fā)送,再由單片機(jī)根據(jù)內(nèi)置的指令,進(jìn)行操作。選擇后者則是單片機(jī)根據(jù)其采集到的實(shí)時數(shù)據(jù),與預(yù)先內(nèi)置的參數(shù)相對應(yīng),從而選擇不同的預(yù)案,以便對被控對象進(jìn)行操控。一般地,選擇前者能夠?qū)崿F(xiàn)更為精確的算法控制,但是其復(fù)雜程度也就更高,而后者的操作簡便,精度相對就比較有限。具體地,用戶在不同的應(yīng)用環(huán)境之下,可以根據(jù)自身的實(shí)際需要來選擇不同的控制模式,從而提高系統(tǒng)的靈活性。
3. 系統(tǒng)軟件的設(shè)計
此次的系統(tǒng)軟件設(shè)計包括了單片機(jī)端以及PC機(jī)端,而且這兩個程序還分別運(yùn)行于不同的實(shí)體之上。在單片機(jī)端,采用的是C51 對程序進(jìn)行編寫,而對于PC 機(jī)端則采用的是VB 進(jìn)行的程序編寫。
3. 1 單片機(jī)端程序設(shè)計
單片機(jī)的初始化,模擬信號和數(shù)字信號的轉(zhuǎn)換過程,都應(yīng)該包含在單片機(jī)端口的程序設(shè)計中,對于信號和采集到的數(shù)據(jù),以及和PC 機(jī)端口的通信程序等方面,都要進(jìn)行合理的控制。系統(tǒng)的初始化主要是將系統(tǒng)的各個設(shè)備設(shè)定到初始狀態(tài),或者中斷初始化。這樣才能完成模擬信號和數(shù)字信號之間的轉(zhuǎn)化,這些數(shù)據(jù)的采集都是利用軟件的模擬來完成的,而且這樣可以轉(zhuǎn)化數(shù)字信號,將模擬的信號轉(zhuǎn)化為單片機(jī)能夠識別的數(shù)字信號??刂瞥绦?qū)纹瑱C(jī)自身的內(nèi)置控制算法和計算控制數(shù)據(jù)等運(yùn)行的具體程序都進(jìn)行了操控和指令的發(fā)送,而接收程序則是在接收到1 個字節(jié)的數(shù)據(jù)之后,就進(jìn)行1 次中斷服務(wù),然后繼續(xù)進(jìn)行接受。
3. 2 PC 機(jī)端的程序設(shè)計
在PC 機(jī)端,一般開發(fā)的工具就是采用VB6. 0可視化開發(fā)工具,該部分的程序中主要是對于窗口的設(shè)計,系統(tǒng)初始化的設(shè)計,對于數(shù)據(jù)接受程序的設(shè)計,以及對于發(fā)送程序和文件存儲的程序以及控制算法內(nèi)容的設(shè)計。
文章主要介紹數(shù)據(jù)的采集和算法。數(shù)據(jù)在采集之后,一般要經(jīng)過長期的保存,而且在PC 機(jī)的端口,都是在具體的文件之中保存著數(shù)據(jù),根據(jù)文件的具體類型來進(jìn)行打開的處理。這種文件既可以是文本文件,也有可能是數(shù)據(jù)文件,只有這樣,才能夠在對控制對象進(jìn)行遠(yuǎn)程控制的時候完成相應(yīng)數(shù)據(jù)的調(diào)取,然后利用控制算法進(jìn)行計算,再將數(shù)據(jù)通過通信空間向單片機(jī)發(fā)送,單片機(jī)根據(jù)PC 機(jī)的指令具體執(zhí)行。
4. 結(jié)語
文中主要是對于基于單片機(jī)和PC 機(jī)通信的數(shù)據(jù)采集和控制系統(tǒng)設(shè)計進(jìn)行了研究,設(shè)計思路主要包括了選型、基本架構(gòu)、軟硬件的選用設(shè)計等。此次構(gòu)建的系統(tǒng)能夠?qū)崿F(xiàn)采集被控制對象的多種參數(shù)信息,并且將其傳遞至PC 機(jī)端,對相應(yīng)數(shù)據(jù)進(jìn)行處理,同時也能夠選擇通過PC 機(jī)來遠(yuǎn)程控制被控制對象。該系統(tǒng)具有采集數(shù)據(jù)量大、精度高、控制方式靈活等優(yōu)點(diǎn)。
電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理
評論