<menu id="atebc"><td id="atebc"><ol id="atebc"></ol></td></menu>
<del id="atebc"><pre id="atebc"></pre></del><kbd id="atebc"></kbd>
  1. <th id="atebc"></th>

      <tfoot id="atebc"></tfoot>
      <em id="atebc"></em>
      <th id="atebc"><input id="atebc"></input></th>
    1. <del id="atebc"><pre id="atebc"></pre></del>
      1. <tfoot id="atebc"><menuitem id="atebc"></menuitem></tfoot>
        <th id="atebc"><progress id="atebc"></progress></th>

      2. 漢信
         
         
         
        全國免費銷售熱線:800-830-1026
        致力打造光通信設備十大品牌
         
          7*24小時免費
        銷售服務熱線
            800-830-1026


         
           
         

        通信基礎知識當前位置 > 首頁 > 通信基礎知識 > 瀏覽內(nèi)容

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信
        2009/4/16

            在各種單片機應用系統(tǒng)的設計中,常常遇到單片機與PC的通信問題,在速度要求不高、傳送距離不遠的場合一般采用RS 232標準串行接口實現(xiàn),在傳送距離較遠的場合,也有學者研究通過網(wǎng)絡實現(xiàn)PC間的通信。但是,要同時滿足高速度和遠距離PC與單片機通信這是一個迫切需要解決的問題。隨著信息技術的發(fā)展,計算機和網(wǎng)絡越來越普及,對單片機的遠程控制與測量的要求也越來越多。本文在結(jié)合現(xiàn)有研究的基礎上,對相關的設計進行一定的改進和創(chuàng)新,設計一個遠程通信系統(tǒng),他由3部分構成:遠端PC、本地端PC和單片機系統(tǒng)。通過VB可視化編程,遠端PC利用局域網(wǎng)向本地端PC發(fā)出命令,本地端PC接到命令后,自動與單片機通過打印機接口以EPP1.9協(xié)議進行通信(串行接口作為備用通信口),并將接到的單片機數(shù)據(jù)實時傳送給遠端PC,以實現(xiàn)高速遠程情況下PC與單片機通信的要求。

            1 系統(tǒng)結(jié)構與設計

            系統(tǒng)構成如圖1所示,遠端PC通過局域網(wǎng)和本地PC通信,在通信中使用Winsock控件和TCP/1P協(xié)議;本地端PC通過并行通信接口或串行通信接口與單片機通信,在并口通信中使用WINIO并口通信驅(qū)動程序、EPP協(xié)議和LPT打印機接口,在串口通信中使用MsComm控件、RS 232C協(xié)議和COM口。在此結(jié)構中,本地PC端起到中繼的作用,當本地端PC接收到從遠端PC傳送過來的命令,在選擇通信方式后,與單片機通信,使單片機向遠端PC傳送數(shù)據(jù)。

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

            2 遠端PC與本地端PC通信設計

            TCP/IP是目前在網(wǎng)絡通信中廣泛采用的一組完整的網(wǎng)絡協(xié)議,該協(xié)議的核心是TCP,IP和UDP協(xié)議。TCP/IP網(wǎng)絡環(huán)境下應用程序通過網(wǎng)絡系統(tǒng)編程界面套接字(Socket)實現(xiàn)與內(nèi)核的交互。利用Socket通信編程接口編寫程序,其目的是在TCP/IP所組建網(wǎng)絡的不同機器之間利用客戶/服務器模式建立通信連接,開發(fā)人員只要提供一些基本的連接信息,其余由操作系統(tǒng)內(nèi)核完成。WinSock(Windows Socket)是Windows操作系統(tǒng)下的通用的TCP/IP應用程序的網(wǎng)絡編程接口,通過調(diào)用WinSock的接口函數(shù)來調(diào)用TCP/IP的各種功能。在VB 6.0中,WinSock控件對Windows Sockets API進行封裝,使用程序員可以不必了解TCP/IP或調(diào)用底層WinSock API的具體細節(jié),只要設置好相應屬性,在觸發(fā)的事件過程中作好相應處理,就能編寫出網(wǎng)絡應用程序。

            遠端PC與本地端PC通信通過VB 6.0調(diào)用WinSock控件實現(xiàn),圖2(a),(b)分別為其控制界面。需說明以下幾點:遠端PC選擇好要連接的本地端PC的IP地址和網(wǎng)絡傳送端口后,再發(fā)起聯(lián)機申請;本地端PC網(wǎng)絡傳送端口必須和遠端PC傳送端口一致,串行端口選擇是COM1/COM2,并行端口輸入并口地址(378H);遠端PC在命令輸入?yún)^(qū)輸入命令后,發(fā)送命令按鈕才有效;回傳數(shù)據(jù)區(qū)存放單片機傳送回來的實時數(shù)據(jù)并可保存成文本文件,信息區(qū)存放網(wǎng)絡工作狀態(tài)、遠端PC的命令,及單片機數(shù)據(jù)傳送情況。其工作過程如圖2(c)所示。

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

            3 本地端PC與單片機通信設計

            3.1 本地端PC與單片機并口通信設計

            3.1.1 并行通信接口及協(xié)議

            在速率要求較高的場合,可以利用PC機上的打印機接口(CENTRONICS標準,DB-25芯針座,TTL電平)實現(xiàn)。并口通信有SPP、EPP和ECP三種工作模式。本文采用EPP協(xié)議。

            (1)EPP協(xié)議

            增強型并行接口協(xié)議EPP(Enhanced Parallel Port),為PC和外設之間定義了并行雙向通信的標準,該協(xié)議通過硬件自動握手,能達到500 kB/S~2 MB/s的通信速率,適合大量數(shù)據(jù)傳輸?shù)耐庠O進行告訴通信。EPP分為EPP1.7和EPP1.9,二者之間的區(qū)別是:EPP1.9需要判斷超時(避免出現(xiàn)“死循環(huán)”)以及nwait信號是否有效,而EPP1.7不需要判斷,傳輸速度更快。EPP協(xié)議支持4種操作,包括數(shù)據(jù)寫出、地址寫出、數(shù)據(jù)讀取和地址讀取。

            (2) EPP協(xié)議的寄存器地址及一些主要的引腳定義,如表1,表2所示。

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

         

            3.1.2 WINIO并口通信驅(qū)動程序

            在VB中無法直接使用輸入/輸出指令來完成對端口的訪問,尤其是Windows 2000/XP系統(tǒng)對端口的保護更加嚴格。要對端口進行訪問,一般有2種方法:第一種是通過C/C++等編程軟件開發(fā)一些動態(tài)鏈接庫(DLL)或ActiveX控件用于在VB中調(diào)用來完成對底層硬件的控制;第二種更為簡便的方法是到互聯(lián)網(wǎng)上去尋找一些免費的DLL或ActiveX控件,本系統(tǒng)使用的是網(wǎng)絡上免費的動態(tài)鏈接庫文件WINIO.DLL(適用于Windows 2000/XP),主要實現(xiàn)了對底層并行端口使用的方法。WINIO是一個綠色環(huán)保軟件,他不需要向注冊表中添加任何信息,只要把WINIO.VXD,WINIO.SYS,WINIO.DLL放在應用程序所在的文件夾下就可以。在使用的時候,直接將WINIO.BAS引用到工程中,就可以實現(xiàn)對端口的控制和訪問。

            3.1.3 并口通信設計

            如圖3所示,打印機口通過單片機的P1口傳送數(shù)據(jù),nWait和nDstorbe通過P2.0和P2.1與單片機連接。并行接口與單片機相連一般有兩種方式:一種是直接連接,另一種是使用雙向驅(qū)動器或鎖存器的總線方式。本系統(tǒng)采用第一種方式,能最大限度發(fā)揮EPP速度快的優(yōu)勢,但單片機易受到不穩(wěn)定信號的干擾。EPP模式為雙向傳輸協(xié)議,為了簡化設計,只進行采用單片機向PC傳送數(shù)據(jù)的單向讀傳送,并口采用EPP1.9模式,支持超時和nwait判斷。

            本地端PC通過并口與單片機通信的VB源程序如下:

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

            3.2 本地端PC與單片機串口通信設計

            MsComm控件是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,他為應用程序提供通過串行接口收發(fā)數(shù)據(jù)的簡便方法。該控件具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC機可以利用串行口與其他設備實現(xiàn)輕松連接,簡單高效地實現(xiàn)設備之間的通訊。

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

            PC串行接口COM1/COM2信號符合RS 232C電氣標準,而單片機串行接口采用TTL邏輯電平,實現(xiàn)二者之間的異步串行通信需要電平轉(zhuǎn)換芯片。

            單片機串行接口有一個全雙工串行接口,經(jīng)過MAX 232芯片可方便地轉(zhuǎn)換成RS 232電氣標準。

            本系統(tǒng)以串行通信為備用通信方式,本地端PC通過串口與單片機通信的VB源程序如下:

         

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

            3.3 單片機程序設計

            單片機部分可進行并口和串口2種方式的通信,用匯編語言編寫通信子程序。在這里分別給出2種方式的程序流程圖。如圖4(a),(b)所示。

        用VB 6.0實現(xiàn)網(wǎng)絡遠程PC與單片機通信

            本系統(tǒng)有如下特色:本地端PC起到中繼作用;這里使用局域網(wǎng)(如果要使用Internet,必須為本地端PC提供固定的IP地址),當網(wǎng)絡連接中斷時,可自動重新連接;本地端PC采用并口和串口2種方式與單片機通信。并口采用EPP1.9模式,單片機也可判斷超時;遠端PC可實時讀取單片機中的數(shù)據(jù)。

            本文利用了VB面向?qū)ο蠛涂梢暬幊痰奶攸c,將網(wǎng)絡、并口、串口通信方式相結(jié)合實現(xiàn)了遠程PC與單片機系統(tǒng)的通信,并在大功率開關電源控制系統(tǒng)上測試,可完全正常運轉(zhuǎn)。本系統(tǒng)給出的方法,對其他PC通信場合亦有一定參考價值。

         

        產(chǎn)品導航:光端機 電話光端機 PCM設備 光纖收發(fā)器 光電轉(zhuǎn)換器 協(xié)議轉(zhuǎn)換器 漢信光纜 光Modem(光貓) 視頻光端機 數(shù)字光端機
         

        版權所有:漢信(廣東)通信設備股份有限公司
        地   址:廣州市科學城光譜西路3號中國普天研發(fā)樓810(地理位置
        電   話:020-85548287 020 85548285 傳 真:020-82189311
        E-MAIL:[email protected]  Http://www.aidegushi.net
        ICP證號碼:粵ICP備08032431號


        <menu id="atebc"><td id="atebc"><ol id="atebc"></ol></td></menu>
        <del id="atebc"><pre id="atebc"></pre></del><kbd id="atebc"></kbd>
        1. <th id="atebc"></th>

            <tfoot id="atebc"></tfoot>
            <em id="atebc"></em>
            <th id="atebc"><input id="atebc"></input></th>
          1. <del id="atebc"><pre id="atebc"></pre></del>
            1. <tfoot id="atebc"><menuitem id="atebc"></menuitem></tfoot>
              <th id="atebc"><progress id="atebc"></progress></th>

            2. 亚洲欧美日韩另类 | 大香蕉网|伊人在线大香蕉|大香蕉|大香蕉网站 | 成人综合在线视频 | 91午夜福利视频 | 亚洲蜜桃视频 |