圖3 光電隔離抗干擾電路圖
2) 串口服務(wù)器的應(yīng)用模塊,。串口服務(wù)器是把單片機發(fā)出來的數(shù)據(jù)包轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)報文格式,, 然后轉(zhuǎn)發(fā)到Internet 上,,實現(xiàn)數(shù)據(jù)網(wǎng)上傳輸,。串口服務(wù)器的輸入口是單片機經(jīng)過MAX232 轉(zhuǎn)換后的信號,,輸出口是RJ45 接口,。當(dāng)串口服務(wù)器加電時候,PLED 就會發(fā)光,; 當(dāng)輸出口RJ45 與交換機或是PC 正確連接時,,LLED 就會發(fā)光, 當(dāng)串口服務(wù)器準(zhǔn)備就緒時,,RLED 就會發(fā)光,。當(dāng)對串口服務(wù)器進行IP 地址和端口號,串行口工作方式正確設(shè)置后,,串口服務(wù)器方能正常工作,,才能進行串行數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)包進行轉(zhuǎn)換, 才能把數(shù)據(jù)發(fā)送到Internet 上的某個主機上,。
需要說明的是,, 如果串口服務(wù)器的RJ45 與計算機直接相連, 需要使用交叉雙絞線,, 即網(wǎng)線一端用568A 標(biāo)準(zhǔn),, 另一端用568B 標(biāo)準(zhǔn)。如果串口服務(wù)器RJ45 連接的是以太網(wǎng)交換機或是集線器,,則使用直通線,,即網(wǎng)線兩端都用568A 標(biāo)準(zhǔn),。
2.2 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件框圖如圖4 所示。它是由延時,、數(shù)據(jù)采集,、數(shù)碼顯示、十六進制轉(zhuǎn)ASCII 碼,、數(shù)據(jù)協(xié)議,、數(shù)據(jù)發(fā)送等6 個模塊組成,。
下面將各個模塊的功能進行簡單概述:
1) 延時模塊,。本模塊完成的功能為延時1 s。利用定時器0 溢出中斷完成,。
2) 數(shù)據(jù)采集模塊,。每隔一秒對ADC0809 中的一路數(shù)據(jù)進行采樣,然后將其保存在數(shù)據(jù)緩沖區(qū)中,。
3) 數(shù)碼顯示模塊,。當(dāng)ADC0809 中與一路數(shù)據(jù)被采集完畢后,共陰級八段數(shù)碼管顯示當(dāng)前ADC0809 中通道路數(shù),,以及當(dāng)前路數(shù)的數(shù)據(jù)值,。
4)十六進制轉(zhuǎn)ASCII 碼模塊。本子程序完成的功能是把十六進制數(shù)轉(zhuǎn)換為ASCII 碼,。
5) 數(shù)據(jù)協(xié)議模塊,。本程序完成的功能是將要發(fā)送的ASCII 碼數(shù)據(jù)實現(xiàn)幀封裝,定義數(shù)據(jù)包的頭和尾,,以及中間分隔符,,起始字符為“! ”,,結(jié)束字符為“#”,。中間分隔符號為“+”,為方便上位機接收和存儲單片機發(fā)送的采集數(shù)據(jù),。
6) 數(shù)據(jù)發(fā)送模塊,。本程序完成的功能是將數(shù)據(jù)包發(fā)送到串口服務(wù)器上。
2.3 軟件流程圖
系統(tǒng)的工作原理是系統(tǒng)上電后的,, 首先進行初始化,,包括設(shè)置波特率為9600bps,定時器工作方式,,串行口工作方式,, 開定時中斷等。然后對八路通道進行循環(huán)采集,、顯示,,最后進行數(shù)據(jù)處理,,將處理后的數(shù)據(jù)存入緩沖區(qū), 然后由串行口發(fā)送數(shù)據(jù),。流程圖如圖5所示,。
3 結(jié)束語
本文所設(shè)計的方案,采用單片機和串口服務(wù)器,,既可以完成數(shù)據(jù)采集,, 又可以將數(shù)據(jù)封裝向Internet 發(fā)送,電路結(jié)構(gòu)簡單,,實用性強,,非常適用于遠(yuǎn)距離、偏遠(yuǎn)地點的數(shù)據(jù)終端采集工作,, 是數(shù)據(jù)網(wǎng)絡(luò)連接的一種可行性解決方案,。