用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序_第1頁(yè)
用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序_第2頁(yè)
用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序摘要:本文通過(guò)對(duì)無(wú)線通訊系統(tǒng)根本工作原理的分析,說(shuō)明了采用VisualBasi5.0中的控件S.VBX進(jìn)展無(wú)線數(shù)據(jù)采集程序開(kāi)發(fā)的根本方法。并結(jié)合900頻率無(wú)線通訊電臺(tái)的特點(diǎn),給出了根本通訊接口源程序代碼。關(guān)鍵詞:VB5無(wú)線通訊控件1引言目前對(duì)于用于數(shù)據(jù)采集和傳輸?shù)臒o(wú)線設(shè)備之間的通訊編程,一般仍采用語(yǔ)言和匯編語(yǔ)言較多,這主要是由于在編程時(shí),要涉及到對(duì)無(wú)線通訊設(shè)備硬件的控制,因此,選擇語(yǔ)言和匯編語(yǔ)言的較多。采用以上兩種語(yǔ)言進(jìn)展編程,對(duì)于一般的編程人員來(lái)講,很難較快的掌握。本文采用可視化的編程環(huán)境從根本上解決了以上問(wèn)題,只要有一定編程根底

2、的技術(shù)人員,均可實(shí)現(xiàn)自己編程。2無(wú)線通訊設(shè)備的根本工作原理在無(wú)線的通訊方式中,數(shù)據(jù)傳輸?shù)母驹砜梢哉J(rèn)為是通過(guò)調(diào)制解調(diào)器進(jìn)展工作的,而這種調(diào)制解調(diào)器是無(wú)線方式工作的,它不含有撥號(hào)功能,而且和它直接連接的是無(wú)線電臺(tái)。無(wú)線電臺(tái)的作用就相當(dāng)于有線傳輸中的 線,它是通過(guò)無(wú)線電波進(jìn)展發(fā)送和承受信號(hào)的。而無(wú)線調(diào)制解調(diào)器的作用是將二進(jìn)制的信號(hào)調(diào)制成可以在無(wú)線電臺(tái)之間傳輸?shù)臒o(wú)線電波。信號(hào)轉(zhuǎn)換過(guò)程的屬性取決于調(diào)制解調(diào)器所接收到的源信號(hào)和目的信號(hào)。一般來(lái)說(shuō),調(diào)制解調(diào)器從終端或計(jì)算機(jī)接以串行方式收到二進(jìn)制信號(hào)后,將它們轉(zhuǎn)換成了音頻信號(hào)。然后調(diào)制解調(diào)器將這些聲音通過(guò)無(wú)線電臺(tái)傳輸出去。在承受端,另一個(gè)兼容的調(diào)制解調(diào)器將

3、這些聲音信號(hào)轉(zhuǎn)換成了二進(jìn)制信號(hào),并把這些二進(jìn)制信號(hào)發(fā)送給終端或計(jì)算機(jī)。由于在無(wú)線電臺(tái)之間有過(guò)濾和放大作用,同時(shí),無(wú)線電波的傳輸受很多因素影響,因此傳送的速度受到限制。下面給出了一種900電臺(tái)的技術(shù)特性見(jiàn)表1。本程序就是使用的這種電臺(tái),對(duì)于其它參數(shù)的電臺(tái),其根本原理也是一樣的。表1900無(wú)線電臺(tái)的技術(shù)指標(biāo)工程指標(biāo)含義傳輸速率1.2Kbps或2.4Kbps每秒的字節(jié)數(shù)數(shù)據(jù)的控制透明傳輸發(fā)射功率3承受靈敏度-105dB工作頻率915917HZ信道158個(gè)3無(wú)線數(shù)據(jù)采集的編程由無(wú)線通訊的根本原理可以看出,無(wú)線的數(shù)據(jù)采集和傳輸主要包括以下幾個(gè)過(guò)程,從帶處理器的傳感器或計(jì)算機(jī)終端發(fā)送二進(jìn)制信號(hào)到無(wú)線調(diào)制解

4、調(diào)器;無(wú)線電臺(tái)之間建立連接并傳輸數(shù)據(jù);從另外一端的電臺(tái)承受二進(jìn)制數(shù)據(jù);將數(shù)據(jù)傳輸?shù)接?jì)算機(jī)。因此,要建立無(wú)線設(shè)備之間的通訊必須在兩端進(jìn)展編程。從計(jì)算機(jī)終端到無(wú)線電臺(tái)的數(shù)據(jù)傳輸是通過(guò)計(jì)算機(jī)的串行口進(jìn)展的,通過(guò)對(duì)串行口進(jìn)展編程就可以實(shí)現(xiàn)向電臺(tái)發(fā)送數(shù)據(jù)。在VisualBasi5.0中的控件S是進(jìn)展串口通訊的。通過(guò)設(shè)定控件S的屬性,可以用VB5.0對(duì)其進(jìn)展靈敏的編程,控件S同時(shí)支持事件驅(qū)動(dòng)及輪詢方法??丶能生成一個(gè)名為n的事件,它能能捕獲的事件范圍包括通過(guò)串口承受數(shù)據(jù)以及遇到任何錯(cuò)誤等等。事件或錯(cuò)誤的值以整數(shù)的形式保存在Event屬性里。可根據(jù)Event屬性判斷最近一次事件或錯(cuò)誤。也可以在程序中設(shè)置一

5、個(gè)循環(huán),每次循環(huán)都直接檢查Event屬性的值,從而對(duì)事件及錯(cuò)誤進(jìn)展“輪詢。假如應(yīng)用程序規(guī)模小,這種方法相當(dāng)完美。下面的局部程序代碼是計(jì)算機(jī)和900無(wú)線電臺(tái)之間的傳輸程序,本程序已經(jīng)在486計(jì)算機(jī)和PII586上調(diào)試通過(guò)。1從串口讀入電臺(tái)數(shù)據(jù)程序GetStringFr()功能:(1)主要完成從端口獲得數(shù)據(jù),將二進(jìn)制的數(shù)據(jù)轉(zhuǎn)換為ASII碼數(shù)據(jù)PubliFuntinGetStringFr()AsString定義變量略IffrTerinal.S1.InBufferunt7ThenGetStringFr=ExitFuntinEndIf/讀入標(biāo)志碼frTerinal.S1.InputLen=6ReDiPr

6、eserveBinDataarr(6)AsByteBinData=frTerinal.S1.InputBinDataarr=BinDataUserDataLenth=BinDataarr(5)用戶數(shù)據(jù)的長(zhǎng)度ait1:IfBinDataarr(5)frTerinal.S1.InBufferuntThen未承受完數(shù)據(jù)delay6延時(shí)6sGTait1EndIffrTerinal.S1.InputLen=UserDataLenthBinData=frTerinal.S1.InputReDiPreserveBinDataarr(UserDataLenth)BinDataarr=BinDataGetStr

7、ingFr=BinTtext(UserDataLenth,0)frTerinal.S1.InBufferunt=0清空承受緩沖區(qū)EndFuntin2從串口向電臺(tái)發(fā)送數(shù)據(jù)程序SendStringT()PubliSubSendStringT(ByValTransandAsInteger,ByValTransStringAsString)ReDiBinDataarr(5)frTerinal.S1.utBufferunt=0/清空發(fā)送緩沖區(qū)TransString=akestring(Val(.txtdesstatin.Text),4)+TransString/設(shè)置標(biāo)志碼略SeletaseTransan

8、dase0:transittextReDiPreserveBinDataarr(6+Len(TransString)TextTbin(TransString)BinData=BinDataarrfrTerinal.S1.utput=BinData發(fā)送ase1:transitbinarydataReDiPreserveBinDataArr(5+Len(TransString)+UserDataLenth)AsByteTextTbin(TransString)BinDataArr(5)=UserDataLenth+Len(TransString)DiiAsIntegerFri=1TUserData

9、LenthBinDataArr(5+Len(TransString)+i)=userDataarr(i-1)NextiBinData=BinDataArrS1.utput=BinDataEndSeletbinDatalenth=0EndSub以上的兩個(gè)子程序是在實(shí)現(xiàn)無(wú)線傳輸?shù)母境绦?,假如要?shí)現(xiàn)無(wú)線設(shè)備兩端的數(shù)據(jù)采集,需要在此根底上進(jìn)展文件格式、控制命令、編碼方式等的編程,這些編程均可通過(guò)VisualBasi5.0實(shí)現(xiàn),由于篇幅所限,本文對(duì)這局部?jī)?nèi)容不作詳細(xì)表達(dá)。4結(jié)論和討論通過(guò)以上的實(shí)例編程可以得出,采用VisualBasi5.0對(duì)無(wú)線數(shù)據(jù)采集和傳輸進(jìn)展編程,具有可視化、容易掌握、靈敏性好,尤其串口控件S的屬性功能齊全,完全可以控制串行口實(shí)現(xiàn)各種功能。通過(guò)VisualBasi5.0編寫的程序具有界面友好,操作方便,且編程過(guò)程簡(jiǎn)單。本文僅在數(shù)據(jù)采集方面應(yīng)用了VisualBasi5

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論