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