999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用VB 6.0實現網絡遠程PC與單片機通信

2008-04-12 00:00:00張光南馬勝前
現代電子技術 2008年8期

摘 要:根據對單片機系統的遠程網絡控制的要求,充分利用VB可視化編程、先進的網絡技術和并、串行口通信的特點,提出一種基于VB 6.0環境下將WinSock網絡控件、WINIO并口通信驅動程序以及MsComm串口通信控件相結合實現網絡遠程PC與單片機通信的方法,并給出部分原程序。

關鍵詞:VB 6.0;WinSock;WINIO;MsComm;EPP;單片機

中圖分類號:TP872;TN915.04文獻標識碼:B

文章編號:1004-373X(2008)08-150-03

Realization of Longdistance Network PC′s Communication with Single Chip Computer by VB 6.0

ZHANG Guangnan1,2,MA Shengqian1

(1.College of Physics and Electronic Engineering,Northwest Normal University,Lanzhou,730070,China;

2.Arts and Science of Baoji University,Baoji,721007,China)

Abstract:According to the requirements of longdistance network control of single chip microcomputer,fully using the unique features of VB visual programming,the advanced network technology,parallel and serial communication,by integrated with Winsock network controls,WINIO parallel communication drivers and MsComm serial communication controls in the VB 6.0 software environment.This paper designs a system which can implement longdistance network PC′s communication with single chip computer.

Keywords:VB 6.0;WinSock;WINIO;MsComm;EPP;single chip microcomputer

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

1 系統結構與設計

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

圖1 系統結構圖

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

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

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

圖2 PC控制界面及通信過程

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

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

3.1.1 并行通信接口及協議

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

(1) EPP協議[3]

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

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

表1 EPP協議引腳定義

3.1.2 WINIO并口通信驅動程序

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

3.1.3 并口通信設計

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

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

If optlpt.Value = True Then′判斷是否選擇并口通信

Result1 = SetPortVal(Val(\"H\" + \"37A\"),Val(\"H\" + \"24\"),1)′初始化,選擇讀模式

rdsta: Result2 = GetPortVal(Val(\"H\" + \"379\"),PortVal1,1) ′讀狀態端口

buf1 = HexMYM(PortVal1 And HFF)

If buf1 = \"FE\" Then′nwait有效

rddata:Result1 = GetPortVal(Val(\"H\" + \"37C\"),PortVal2,1) ′讀數

buf2 = HexMYM(PortVal2 And HFF)

Winsock2.SendData buf2′數據送給遠端PC

ElseIf buf1 = \"EF\" Then′超時

txtreceive.Text =\"并口通信傳輸超時\" vbCr 

Winsock2.SendData \"并口通信傳輸超時\"

Result1 = SetPortVal(Val(\"H\" + \"379\"),Val(\"H\" + \"FF\"),1) ′去掉超時位

Call ShutdownWinIo

End If

End If

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

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

圖3 并口通信硬件連接圖

PC串行接口COM1/COM2信號符合RS 232C電氣標準,而單片機串行接口采用TTL邏輯電平,實現二者之間的異步串行通信需要電平轉換芯片。單片機串行接口有一個全雙工串行接口,經過MAX 232芯片可方便地轉換成RS 232電氣標準[7]。

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

If optcom.Value = True Then′判斷是否選擇串口通信

buf1 = \"\"

MSComm1.Output = \"?\" ′發送?

buf1 = MSComm1.Input

timedelay 50

buf1 = buf1 MSComm1.Input′從串口讀取數據

Winsock2.SendData buf1 \"串口數據傳送完畢\"

txtreceive.Text = \"串口數據傳送完畢\"

End If

3.3 單片機程序設計

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

圖4 程序流程圖

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

本文利用了VB面向對象和可視化編程的特點,將網絡、并口、串口通信方式相結合實現了遠程PC與單片機系統的通信,并在大功率開關電源控制系統上測試,可完全正常運轉。本系統給出的方法,對其他PC通信場合亦有一定參考價值。

參 考 文 獻

[1]范逸之,陳立元.Visual Basic與RS 232串行通信控制[M].北京:清華大學出版社,2002.

[2]陸繼翔,余隋懷.基于WinSock 控件實現局域網上的點到點通信[J].彈箭與制導學報,2006,26(1):150156.

[3]汪洋.利用EPP接口協議實現高速數據通信[J].單片機與嵌入式系統應用,2001(6):2122.

[4]徐曉東,劉江虹.并口EPP模式下的雙機高速互連[J].內蒙古大學學報:自然科學版,2003,34(5):560563.

[5]網頁http://www.daqchina.net/daqchina/download/winio.htm資料.

[6]周永基.PC并口EPP通信外圍電路設計[J].現代電子技術,2003,26(10):2934.

[7]朱立忠 ,馮丹.PC機與 MCS51單片機串行通信接口電路的設計[J].沈陽工業學院學報,2003,22(2):2224.

作者簡介 張光南 男,1981年出生,陜西寶雞人,碩士研究生。研究方向為計算機測控技術。

馬勝前 男,1954年出生,甘肅天水人,教授,碩士生導師。研究方向為計算機測控技術、信號處理。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 欧美综合在线观看| 少妇人妻无码首页| a级毛片毛片免费观看久潮| yjizz视频最新网站在线| 午夜天堂视频| 中国国产高清免费AV片| 亚洲精品自拍区在线观看| 欧美人与动牲交a欧美精品| 91香蕉国产亚洲一二三区| 激情综合网激情综合| 熟女成人国产精品视频| 日韩最新中文字幕| 天堂网亚洲系列亚洲系列| 国产日产欧美精品| 久无码久无码av无码| 国产va免费精品| 国产成年女人特黄特色大片免费| 狠狠色噜噜狠狠狠狠奇米777| 亚洲色偷偷偷鲁综合| 国产亚洲一区二区三区在线| 久久久久人妻一区精品色奶水| 亚洲第一视频网| 精品人妻一区二区三区蜜桃AⅤ| 美女啪啪无遮挡| 国产成人禁片在线观看| 免费国产无遮挡又黄又爽| 午夜一区二区三区| 小说区 亚洲 自拍 另类| 国产成人免费| 国产凹凸视频在线观看| 久久精品aⅴ无码中文字幕| 亚洲欧美综合精品久久成人网| 中国毛片网| 毛片在线区| 99尹人香蕉国产免费天天拍| 亚洲中文字幕在线观看| 久久公开视频| 91亚瑟视频| 丰满的少妇人妻无码区| 99激情网| 亚洲精品国产首次亮相| 亚洲男人天堂久久| 91国内在线视频| 日韩无码一二三区| 一级毛片免费观看久| 日韩精品一区二区三区中文无码| 国产欧美日本在线观看| 亚洲男人天堂2018| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 亚洲毛片网站| 精品欧美日韩国产日漫一区不卡| 高潮毛片免费观看| 国产在线精品美女观看| 国产高清色视频免费看的网址| 国产成人久视频免费| 成年av福利永久免费观看| 国产自在自线午夜精品视频| 99ri国产在线| AV在线麻免费观看网站| 熟妇丰满人妻| 美女一区二区在线观看| 亚洲最猛黑人xxxx黑人猛交| 亚洲成人精品在线| 久久综合色视频| 无码在线激情片| 67194亚洲无码| 国产精品福利一区二区久久| 亚洲欧美成人在线视频| 欧美精品亚洲二区| 狂欢视频在线观看不卡| 欧美午夜一区| 天天色天天综合| 无码日韩人妻精品久久蜜桃| 国产成在线观看免费视频| 国产素人在线| 婷婷六月色| 久久久久久高潮白浆| 久草中文网| 国产欧美日本在线观看| 一级福利视频| 国产高清在线丝袜精品一区| 一级福利视频|