基于VB实现网络远程PC与单片机通信

来源 :科学时代·上半月 | 被引量 : 0次 | 上传用户:i4majia
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]传统的RS-232标准串行接口、无线技术可以实现PC和单片机的通信。随着信息技术的发展,计算机和网络越来越普及,对单片机的远程控制与测量的要求也越来越高。要同时满足高速度和远距离PC与单片机通信也是本设计中需要解决的问题。本文中设计了一个远程通信系统,以实现高速远程情况下PC与单片机通信的要求。
  [关键词]VB 单片机 通信
  
  一、系统结构与设计
  
  系统构成如图1所示,远端PC通过局域网和本地PC通信,在通信中使用Winsock控件和TCP/1P协议;本地端PC通过并行通信接口或串行通信接口与单片机通信,在并口通信中使用WINIO并口通信驱动程序、EPP协议和LPT打印机接口,在串口通信中使用MsComm控件、RS-232协议和COM口。在此结构中,本地PC端起到中继的作用,当本地端PC接收到从远端PC传送过来的命令,在选择通信方式后,与单片机通信,使单片机向远端PC传送数据。
  
  
  二、远端PC与本地端PC通信设计
  
  TCP/IP是目前在网络通信中广泛采用的一组完整的网络协议,该协议的核心是TCP,IP和UDP协议。TCP/IP网络环境下应用程序通过网络系统编程界面套接字(Sockell实现与操作系统的交互。利用Socket通信编程接口编写程序,其目的是在TCP/IP所组建网络的不同机器之间利用客户/服务器模式建立通信连接,开发人员只要提供一些基本的连接信息即可,其余由操作系统完成。WinSock(Windows Socket)是Windows操作系统下的通用的TCP/IP应用程序的网络编程接口,通过调用WinSock的接口函数来调用TCP/lP的各种功能。在VB中,WinSock控件对Windows Sockets API进行封装,使用程序员可以不必了解TCP/IP或调用底层WinSockAPI的具体细节,只要设置好相应属性,在触发的事件过程中作好相应处理,就能编写出网络应用程序。远端PC与本地端PC通信通过VB调用WinSock控件实现,其控制界面如图2、3所示。
  
  
  需说明的是,远端PC选择好要连接的本地端PC的lP地址和网络传送端口后,再发起联机申请;本地端PC网络传送端口必须和远端PC传送端口一致,串行端口选择是COMl/COM2,并行端口输入并口地址(378H);远端PC在命令输入区输入命令后,发送命令按钮才有效;回传数据区存放单片机传送回来的实时数据并可保存成文本文件,信息区存放网络工作状态、远端PC的命令,及单片机数据传送情况。其通信过程如图4所示。
  
  
  三、本地端PC与单片机通信设计
  
  1、本地端PC与单片机并口通信设计
  (1)并行通信接口及协议
  在速率要求较高的场合,可以利用PC机上的打印机接口(CENTRONICS标准,DB-25芯针座,TTL电平)实现。并口通信有SPP、EPP和ECP三种工作模式。本文采用EPP协议。
  1)EPP协议
  增强型并行接口协议EPP(Enhanced Parallel P0n1,为PC和外设之间定义了并行双向通信的标准,该协议通过硬件自动握手,能达到500kB/S~2MB/s的通信速率,适合大量数据传输的外设进行告诉通信。EPP分为EPP1.7和EPP1.9,二者之间的区别是:EPP1.9需要判断超时(避免出现“死循环”)以及nwait信号是否有效,而EPP1.7不需要判断,传输速度更快。EPP协议支持4种操作,包括数据写出、地址写出、数据读取和地址读取。
  2)EPP协议的寄存器地址及一些主要的引脚定义,如表1,表2所示。
  
  (2)WINIO并口通信驱动程序
  在VB中无法直接使用输入/输出指令来完成对端口的访问,尤其是Windows 2000/XP系统对端口的保护更加严格。要对端口进行访问,通过C/C++等编程软件开发一些动态链接库(DLLl或ActiveX控件用于在VB中调用来完成对底层硬件的控制,本系统使用的是动态链接库文件WINIO.DLU适用于Windows 2000/XP),主要实现了对底层并行端口使用的方法。WINIO不需要向注册表中添加任何信息,只要把WINIO.VXD,WINIO.SYS,WINIO.DLL放在应用程序所在的文件夹下就可以。在使用的时候,直接将WINIO.BAS引用到工程中,就可以实现对端口的控制和访问。
  (3)并口通信设计
  如图5所示,打印机口通过单片机的P3口传送数据,nWait和nDstorbe通过P4.0和P4.1与单片机连接。并行接口与单片机相连一般有两种方式:一种是直接连接,另一种是使用双向驱动器或锁存器的总线方式。本系统采用第一种方式,能最大限度发挥EPP速度快的优势,但单片机易受到不稳定信号的干扰。EPP模式为双向传输协议,为了简化设计,只进行采用单片机向PC传送数据的单向读传送,并口采用EPPl,9模式,支持超时和nwait判断。
  
  
  2、本地端PC与单片机串口通信设计
  PC串行接口COMl/COM2信号符合RS-232电气标准,而单片机串行接口采用TTL逻辑电平,实现二者之间的异步串行通信需要电平转换。单片机串行接口有一个全双工串行接口,经过前面控制电路中设计的转换电路变成RS-232电气标准。
  MsComm控件是Microsoft公司提供的简化Windows下串行通信编程的Active)(控件,可以为应用程序提供通过串行接口收发数据的简便方法。该控件具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其他设备实现连接,简单高效地实现设备之间的通讯。
  
  3、单片机程序设计
  单片机部分可进行并口和串口两种方式的通信,用汇编语言编写通信子程序。在这里分别给出2种方式的程序流程图。见图3-6流程见图3-7所示。
  
  
  4、具体设计
  在本课题中选择了PC机通过串口通信接收由单片机发送的数据。并口通信作为备用口。
  首先在VB窗口下引用了MsComm串行通讯组件,此组件为Windows自带的串行通讯组件,可进行全双工串行通讯。
  之后在MsComm组件屙l生中设置通讯方式,在此硬件通讯方式为:coral口、方式1、1200比特率,无奇偶校验,见图8所示。
  然后在程序中定义,当COMI口接收到一组串行信号时,将其中的数据读入,判断后将信息显示在相应串口上。当按下窗口上相应的按键时,将其中的变化数据以串口形式发送到单片机中。单片机接收窗口见图9所示。
  
  
  四、小结
  
  本设计特色是,本地端PC起到中继作用,这里使用局域网(如果要使用Intemet,必须为本地端PC提供固定的IP地址),当网络连接中断时,可自动重新连接;本地端PC采用并口和串口两种方式与单片机通信。并口采用EPP1.9模式,单片机也可判断超时,远端PC可实时读取单片机中的数据。本设计利用了VB面向对象和可视化编程的特点,将网络、并口、串口通信方式相结合实现了远程PC与单片机系统的通信。
其他文献
通过固相萃取气相色谱-质谱法,建立了同时测定蚕丝制品中六溴环十二烷的分析方法,对提取溶剂的选择、提取方式、固相萃取条件以及气相色谱和质谱条件进行了研究.结果表明:蚕
会议
针对道路工程质量通病,提出相应的防治措施。 For the common quality of road engineering, put forward the corresponding prevention measures.
印染废水污泥为严控废物,如不科学地处理处置,会对环境和人体健康造成不良影响.本文介绍了染整"零排放"技术、提高染料的上染率和固色率、不用助剂或少用助剂以及使用易生物
会议
受人民币升值、生产成本增加、各项宏观调控政策以及外需市场的急速萎缩等不利因素影响,广东省纺织企业普遍存在出口困难、利润降低、经营出现问题的情况.本文阐述了产业转型
会议
近年来,广东服装产业经过多年的长足发展,已经出现衰减的迹象.如何继续保持广东纺织企业的持续发展?本文介绍了广东服装企业发展现状,阐述了广东服装行业产业的集群优势,从行业
所谓全麦面包,是指用没有去掉外面麸皮和麦胚的全麦面粉制作的面包,区别于用精粉(即麦粒去掉麸皮及富含营养的皮下有色部分后磨制的面粉)制作的一般面包。它的特点是颜色微褐
本文从服装设计专业的教学特点与CDIO工程教育模式的切合点出发,探讨应用型本科服装设计与工程专业基于CDIO工程教育理论上的服装专业人才培养体系建设.服装设计专业贯彻CDIO
种好甜柿的技术要点甜柿与涩柿不同,它不需要经过人工脱涩,摘下来即可生食。在浙江8月成熟,是一种果形大。品质优、甜度高,具独特风味的优良果品。甜柿苗木应选用组壮,芽饱满,根系完
本文以独立学院针编织服装设计课程教学改革为研究内容,提出了"以学生为中心,以技能培养为主线,以就业为导向,以校企合作为途径"为教学理念的针对独立学院的实践教学新模式,
纺织服装产业发展方式的转变和产业结构的升级的大趋势引发的人才市场需求的变化,必将催化纺织服装专业教育教学观念的更新进而推动教学改革与创新的深层拓展.本文通过对纺织