0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-07 07:57 ? 次閱讀

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

1、系統(tǒng)結(jié)構(gòu)與設(shè)計(jì)

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

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

2 、遠(yuǎn)端PC與本地端PC通信設(shè)計(jì)

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

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

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

3 、本地端PC與單片機(jī)通信設(shè)計(jì)

3.1 本地端PC與單片機(jī)并口通信設(shè)計(jì)

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

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

(1)EPP協(xié)議

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

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

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

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

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

3.1.3 并口通信設(shè)計(jì)

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

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

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

3.2 本地端PC與單片機(jī)串口通信設(shè)計(jì)

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

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

PC串行接口COM1/COM2信號符合RS 232C電氣標(biāo)準(zhǔn),而單片機(jī)串行接口采用TTL邏輯電平,實(shí)現(xiàn)二者之間的異步串行通信需要電平轉(zhuǎn)換芯片。單片機(jī)串行接口有一個(gè)全雙工串行接口,經(jīng)過MAX 232芯片可方便地轉(zhuǎn)換成RS 232電氣標(biāo)準(zhǔn)。

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

利用VB 6.0實(shí)現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程PC與單片機(jī)通信

3.3 單片機(jī)程序設(shè)計(jì)

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

基于VB可視化編程實(shí)現(xiàn)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)

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

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

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6043

    文章

    44617

    瀏覽量

    637990
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7534

    瀏覽量

    88534
  • 通信系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    1204

    瀏覽量

    53436
收藏 人收藏

    評論

    相關(guān)推薦

    何謂單片機(jī)編程可視化?

    何謂單片機(jī)編程可視化?可視化編程就是提供給用戶可視化的器件模塊配置界面使用戶在不用關(guān)心具體器件工作原理和設(shè)置的情況下直接生成所要配置的器件
    發(fā)表于 07-08 16:53

    單片機(jī)可視化編程

    單片機(jī)的可視化編程是不是指在環(huán)境下避開復(fù)雜的指令編寫而通過圖形的方式產(chǎn)生指令代碼?-在可視化的條件下是否可以觀察到仿真的結(jié)果?是的。不過仿真的結(jié)果不能夠直接觀察到,而要通過將生成的代碼裝載到仿真器工具中才能看到。
    發(fā)表于 07-08 16:56

    軌道交通路面3G手機(jī)移動可視化巡檢系統(tǒng)方案

    和動態(tài)圖像的采集和傳送功能;實(shí)現(xiàn)視頻發(fā)送、接收數(shù)據(jù)通信功能,3G移動可視化巡檢即移動影音采集設(shè)備,具備雙向?qū)χv功能,夜間拍攝功能,要求圖像清晰度不低于D1;現(xiàn)場綜合接入平臺為現(xiàn)場指揮中心(功能要求同應(yīng)急
    發(fā)表于 01-28 10:05

    基于無線的應(yīng)急現(xiàn)場可視化協(xié)作系統(tǒng)設(shè)計(jì)

    的BYOD應(yīng)用環(huán)境,從而實(shí)現(xiàn)隨時(shí)、隨地、隨心地跨網(wǎng)絡(luò)、跨系統(tǒng)、跨設(shè)備的應(yīng)急現(xiàn)場實(shí)時(shí)再現(xiàn)、可視化溝通與協(xié)作,達(dá)到應(yīng)急快速響應(yīng)、無障礙聯(lián)動協(xié)作、遠(yuǎn)程應(yīng)急指揮和決策等。
    發(fā)表于 07-26 18:10

    可視化MES系統(tǒng)軟件

    和客戶都會造成損失,為了更好的滿足客戶需求、實(shí)現(xiàn)企業(yè)信息,目前企業(yè)制造過程中主要還存在以下需求:(1)數(shù)據(jù)可視化方面。MES系統(tǒng)軟件之所以能有效的監(jiān)控整個(gè)車間的生產(chǎn)過程,主要是通過對
    發(fā)表于 11-30 19:55

    基于STM的可視化門禁系統(tǒng)

    基于STM的可視化門禁系統(tǒng)
    發(fā)表于 03-07 09:49

    基于stm的可視化門禁系統(tǒng)

    基于stm的可視化門禁系統(tǒng)
    發(fā)表于 03-11 09:23

    三維可視化的應(yīng)用和優(yōu)勢

    ,為此三維可視化運(yùn)維系統(tǒng)登場了?! ∪S可視化的應(yīng)用  宏觀場景可視化:在特定的環(huán)境中對隨著時(shí)間推移而不斷變化的目標(biāo)實(shí)體進(jìn)行檢測,可以直觀、靈活、逼真的展示所處區(qū)域的情景和環(huán)境,可以快
    發(fā)表于 12-02 11:52

    VegaGIS可視化系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

    針對跨平臺多層體系結(jié)構(gòu)的GIS系統(tǒng)要求,設(shè)計(jì)一種GIS可視化系統(tǒng)架構(gòu)。該構(gòu)架實(shí)現(xiàn)了GIS可視化系統(tǒng)
    發(fā)表于 04-10 09:04 ?16次下載

    基于VB的實(shí)體浮力測量系統(tǒng)監(jiān)控軟件設(shè)計(jì)

    介紹了應(yīng)用VB編程技術(shù)設(shè)計(jì)的實(shí)體浮力測量系統(tǒng)監(jiān)控軟件的總體軟件結(jié)構(gòu)和主要控制功能;應(yīng)用VB豐富的控件、強(qiáng)大的數(shù)據(jù)庫編程能力和
    發(fā)表于 07-16 11:19 ?11次下載

    基于VB和LabVIEW的自動控制和編程設(shè)計(jì)

    介紹了在VB 和Labview 平臺下,利用Labview 的強(qiáng)大儀器驅(qū)動和實(shí)驗(yàn)儀器圖形顯示、VB可視化編程完成友好的用戶界面進(jìn)行混合編程
    發(fā)表于 08-12 08:58 ?36次下載

    什么是單片機(jī)的可視化編程

      A1:何謂單片機(jī)編程可視化?   Q1:可視化編程就是提供給用戶可視化的器件模塊配置界面使用戶
    發(fā)表于 10-27 09:16 ?5456次閱讀

    管線可視化管理怎么實(shí)現(xiàn)呢?

    無論是城市管線還是社區(qū),商場,大廈里的管線,想要實(shí)時(shí)檢測到管線的情況怕是有難度。如何通過物聯(lián)網(wǎng)和互聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)管線可視化管理是解決問題的根本。 智慧電力可視化系統(tǒng)構(gòu)建發(fā)電、輸電、變電、
    發(fā)表于 03-11 14:36 ?1358次閱讀

    Python數(shù)據(jù)可視化編程實(shí)戰(zhàn)

    Python數(shù)據(jù)可視化編程實(shí)戰(zhàn)資料免費(fèi)下載。
    發(fā)表于 06-01 14:37 ?29次下載

    訊維智能可視化綜合平臺助力醫(yī)療行業(yè)實(shí)現(xiàn)遠(yuǎn)程診療

    。 以下是訊維智能可視化平臺如何助力醫(yī)療行業(yè)實(shí)現(xiàn)遠(yuǎn)程診療的幾個(gè)方面: 實(shí)時(shí)高清視頻通信:訊維平臺提供高清、穩(wěn)定的視頻通信功能,使醫(yī)生能夠?qū)崟r(shí)
    的頭像 發(fā)表于 05-13 16:33 ?285次閱讀