基于LabVIEW與單片機(jī)串口的數(shù)據(jù)采集系統(tǒng)
該節(jié)點(diǎn)主要用于串口的初始化。主要參數(shù)意義如下:
VISA resource name:VISA資源名稱,本文指串口號。baud rate:波特率,默認(rèn)為9600。
data bits:一幀信息中的位數(shù),LabVIEW中允許5~8位數(shù)據(jù),默認(rèn)值為8位。
stop bits:一幀信息中的停止位的位數(shù),可為1位、1位半或2位。
Parity:奇偶校驗(yàn)設(shè)置??蔀闊o校驗(yàn)、奇校驗(yàn)或偶校驗(yàn)。
flow control:該參數(shù)數(shù)據(jù)類型為簇,用于串行通訊中的握手方式。
(2)VISA Read節(jié)點(diǎn)(圖4所示)
該節(jié)點(diǎn)為串口讀子VI,為本文中的主要節(jié)點(diǎn),將串口中的數(shù)據(jù)讀出,然后利用LabVIEW的強(qiáng)大數(shù)據(jù)處理功能對其進(jìn)行分析處理。主要參數(shù)意義如下:
VISA resource name:同上。
byte count:用于設(shè)置所要讀的字符數(shù)。由于LabVIEW的串行通訊子VI只允許對字符串的讀寫,因此本文中在進(jìn)行數(shù)據(jù)處理時,必須要實(shí)現(xiàn)字符串與數(shù)字之間的正確轉(zhuǎn)換。此外,若要讀入當(dāng)前串口中的所有字符,則要執(zhí)行“VISA Bytes at Serial Port”子VI,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISA Read節(jié)點(diǎn)的輸入即可。
(3)VISA Close節(jié)點(diǎn)(圖5所示)
該節(jié)點(diǎn)用于將打開的VISA資源關(guān)閉。只有一個主要參數(shù):
VISA resource name:意義同上。
本文所用LabVIEW串口通訊程序的波特率為9600,無奇偶校驗(yàn),8位數(shù)據(jù)位,1位停止位,禁止軟、硬件握手。
2單片機(jī)部分設(shè)計
2.1硬件部分
MCS-51單片機(jī)內(nèi)部有一個功能很強(qiáng)的全雙工串行口,該串行口有4種工作方式,波特率可用軟件設(shè)置,由片內(nèi)的定時器/計數(shù)器產(chǎn)生,接收、發(fā)送均可觸發(fā)中斷系統(tǒng),使用十分方便。有2個物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,對外也有兩條獨(dú)立的收、發(fā)信號線RXD(P3.0)和TXD(P3.1)。
本文采用RS232串行接口標(biāo)準(zhǔn),在電氣特性上,RS232采用負(fù)邏輯,要求高低兩信號間有較大的幅度,標(biāo)準(zhǔn)為:邏輯“1”在-5V~-15V之間,邏輯“0”在+5V~+15V之間,通常采用-10V左右為邏輯1,+10V左右為邏輯0。由于MCS-51系統(tǒng)的信號輸入輸出為TTL電平,邏輯1為 3.8V左右,邏輯0為0.4V左右,因此,必須外接電路實(shí)現(xiàn)TTL電平到RS232電平的轉(zhuǎn)換。本文采用MAX232E實(shí)現(xiàn)此轉(zhuǎn)換。
評論