亚洲日本成本线在观看,最新国自产拍在线,免费性爱视频日本,久久精品国产亚洲精品国产精品

            現(xiàn)在位置:范文先生網(wǎng)>理工論文>計(jì)算機(jī)論文>用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序

            用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序

            時(shí)間:2022-08-06 11:01:53 計(jì)算機(jī)論文 我要投稿
            • 相關(guān)推薦

            用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序

            摘要:本文通過(guò)對(duì)無(wú)線通訊系統(tǒng)基本工作原理的分析,闡明了采用Visual Basic 5.0中的控件MSCOMM.VBX進(jìn)行無(wú)線數(shù)據(jù)采集程序開(kāi)發(fā)的基本方法。并結(jié)合900M頻率無(wú)線通訊電臺(tái)的特點(diǎn),給出了基本通訊接口源程序代碼。

            關(guān)鍵詞: VB5  無(wú)線通訊      控件

            1  引言
            目前對(duì)于用于數(shù)據(jù)采集和傳輸?shù)臒o(wú)線設(shè)備之間的通訊編程,一般仍采用C語(yǔ)言和匯編語(yǔ)言較多,這主要是由于在編程時(shí),要涉及到對(duì)無(wú)線通訊設(shè)備硬件的控制,因此,選擇C語(yǔ)言和匯編語(yǔ)言的較多。采用以上兩種語(yǔ)言進(jìn)行編程,對(duì)于一般的編程人員來(lái)講,很難較快的掌握。本文采用可視化的編程環(huán)境從根本上解決了以上問(wèn)題,只要有一定編程基礎(chǔ)的技術(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)器將這些聲音信號(hào)轉(zhuǎn)換成了二進(jìn)制信號(hào),并把這些二進(jìn)制信號(hào)發(fā)送給終端或計(jì)算機(jī)。

            由于在無(wú)線電臺(tái)之間有過(guò)濾和放大作用,同時(shí),無(wú)線電波的傳輸受很多因素影響,因此傳送的速度受到限制。下面給出了一種900M電臺(tái)的技術(shù)特性見(jiàn)表 1。本程序就是使用的這種電臺(tái),對(duì)于其它參數(shù)的電臺(tái),其基本原理也是一樣的。

            表 1 900M無(wú)線電臺(tái)的技術(shù)指標(biāo)

            項(xiàng)目
            指標(biāo)
            含義

            傳輸速率
            1.2Kbps或2.4Kbps
            每秒的字節(jié)數(shù)

            數(shù)據(jù)的控制
            透明傳輸
              

            發(fā)射功率
            3W
              

            接受靈敏度
            -105dBm
              

            工作頻率
            915—917MHZ
              

            信道
            158個(gè)
              


            3   無(wú)線數(shù)據(jù)采集的編程
            由無(wú)線通訊的基本原理可以看出,無(wú)線的數(shù)據(jù)采集和傳輸主要包括以下幾個(gè)過(guò)程,從帶處理器的傳感器或計(jì)算機(jī)終端發(fā)送二進(jìn)制信號(hào)到無(wú)線調(diào)制解調(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ù)。在Visual Basic5.0中的控件MSCOMM是進(jìn)行串口通訊的。通過(guò)設(shè)定控件MSCOMM的屬性,可以用VB5.0對(duì)其進(jìn)行靈活的編程,控件MSCOMM同時(shí)支持事件驅(qū)動(dòng)及輪詢(xún)方法?丶﨧SCOMM能生成一個(gè)名為OnComm的事件,它能能捕獲的事件范圍包括通過(guò)串口接受數(shù)據(jù)以及遇到任何錯(cuò)誤等等。事件或錯(cuò)誤的值以整數(shù)的形式保存在CommEvent屬性里?筛鶕(jù)CommEvent屬性判斷最近一次事件或錯(cuò)誤。也可以在程序中設(shè)置一個(gè)循環(huán),每次循環(huán)都直接檢查CommEvent屬性的值,從而對(duì)事件及錯(cuò)誤進(jìn)行“輪詢(xún)”。如果應(yīng)用程序規(guī)模小,這種方法相當(dāng)完美。

            下面的部分程序代碼是計(jì)算機(jī)和900M無(wú)線電臺(tái)之間的傳輸程序,本程序已經(jīng)在486計(jì)算機(jī)和PII586上調(diào)試通過(guò)。

            1 從串口讀入電臺(tái)數(shù)據(jù)程序GetStringFromComm()

            功能:(1) 主要完成從端口獲得數(shù)據(jù),將二進(jìn)制的數(shù)據(jù)轉(zhuǎn)換為ASCII碼數(shù)據(jù)

            Public Function GetStringFromComm() As String

            定義變量(略)

            If frmTerminal.MSComm1.InBufferCount < 7 Then

                GetStringFromComm = ""

                Exit Function

            End If

            '//讀入標(biāo)志碼

            frmTerminal.MSComm1.InputLen = 6

            ReDim Preserve BinDataarr(6) As Byte

            BinData = frmTerminal.MSComm1.Input

            BinDataarr = BinData

            UserDataLenth = BinDataarr(5) '用戶(hù)數(shù)據(jù)的長(zhǎng)度

            Wait1:

                If BinDataarr(5) > frmTerminal.MSComm1.InBufferCount Then   '未接受完數(shù)據(jù)

                    delay 6 '延時(shí)6s

                    GoTo Wait1

                End If

                frmTerminal.MSComm1.InputLen = UserDataLenth

                BinData = frmTerminal.MSComm1.Input

              ReDim Preserve BinDataarr(UserDataLenth)

               &nbs

            p;BinDataarr = BinData

               GetStringFromComm = BinTotext(UserDataLenth, 0)

              frmTerminal.MSComm1.InBufferCount = 0 '清空接受緩沖區(qū)

            End Function

            2 從串口向電臺(tái)發(fā)送數(shù)據(jù)程序SendStringToComm()

            Public Sub SendStringToComm(ByVal TransCommand As Integer, ByVal TransString As String)

            ReDim BinDataarr(5)

            frmTerminal.MSComm1.OutBufferCount = 0    '//清空發(fā)送緩沖區(qū)

            'TransString = makestring(Val(mc.txtdesstation.Text), 4) + TransString

            '//設(shè)置標(biāo)志碼

            (略)

            Select Case TransCommand

                Case 0:transmit text

                    ReDim Preserve BinDataarr(6 + Len(TransString))

                    TextTobin (TransString)

                    BinData = BinDataarr

                    frmTerminal.MSComm1.Output = BinData  '發(fā)送

                Case 1:transmit binary data

                    ReDim Preserve BinDataArr(5 + Len(TransString) + UserDataLenth) As Byte

                    TextTobin (TransString)

                    BinDataArr(5) = UserDataLenth + Len(TransString)

                    Dim i As Integer

                   For i = 1 To UserDataLenth

                    BinDataArr(5 + Len(TransString) + i) = userDataarr(i - 1)

                   Next i

                   BinData = BinDataArr

                   MSComm1.Output = BinData

                    End Select

                   binDatalenth = 0

            End Sub

            以上的兩個(gè)子程序是在實(shí)現(xiàn)無(wú)線傳輸?shù)幕境绦颍绻獙?shí)現(xiàn)無(wú)線設(shè)備兩端的數(shù)據(jù)采集,需要在此基礎(chǔ)上進(jìn)行文件格式、控制命令、編碼方式等的編程,這些編程均可通過(guò)Visual Basic5.0實(shí)現(xiàn),由于篇幅所限,本文對(duì)這部分內(nèi)容不作詳細(xì)敘述。

            4結(jié)論和討論
            通過(guò)以上的實(shí)例編程可以得出,采用Visual Basic5.0對(duì)無(wú)線數(shù)據(jù)采集和傳輸進(jìn)行編程,具有可視化、容易掌握、靈活性好,尤其串口控件MSCOMM的屬性功能齊全,完全可以控制串行口實(shí)現(xiàn)各種功能。通過(guò)Visual Basic5.0編寫(xiě)的程序具有界面友好,操作方便,且編程過(guò)程簡(jiǎn)單。本文僅在數(shù)據(jù)采集方面應(yīng)用了Visual Basic5.0,在其他的通訊方面,它還有更大的應(yīng)用。例如在終端防真程序,在電子郵件和互連網(wǎng)等方面也有較大的應(yīng)用。

            參考文獻(xiàn):

            1、微軟公司《Visual basic5.0 聯(lián)機(jī)手冊(cè)》

            2、南開(kāi)大學(xué)出版社《微型計(jì)算機(jī)接口技術(shù)》

            3、人民郵電出版社《無(wú)線通訊信息手冊(cè)》

            4、中國(guó)科學(xué)院希望電腦技術(shù)公司《計(jì)算機(jī)通訊與聯(lián)網(wǎng)技術(shù)》

            【用Visual Basic 5.0開(kāi)發(fā)無(wú)線通訊數(shù)據(jù)采集應(yīng)用程序】相關(guān)文章:

            基于Visual Basic快速開(kāi)發(fā)現(xiàn)場(chǎng)電視監(jiān)控系統(tǒng)04-12

            Visual Basic6.0下數(shù)據(jù)庫(kù)報(bào)表制作技巧04-16

            如何利用Visual Basic開(kāi)發(fā)身份證號(hào)碼批量驗(yàn)證工具軟件04-29

            利用Delphi 3.0開(kāi)發(fā)微機(jī)數(shù)據(jù)采集與處理軟件系統(tǒng)04-12

            《Visual FoxPro6.0數(shù)據(jù)庫(kù)教程》課程改革及評(píng)價(jià)方案05-23

            基于Verilog HDL設(shè)計(jì)的自動(dòng)數(shù)據(jù)采集系統(tǒng)04-12

            基于Small RTOS51的數(shù)據(jù)采集器設(shè)計(jì)04-12

            基于USB和多線程的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)08-09

            數(shù)據(jù)開(kāi)發(fā)年終總結(jié)07-05

            用Excel開(kāi)發(fā)MIS的方法08-16