VB6.0环境下基于USB的虚拟串口通讯实现
基于VB6_0的多方式串口通信实现

基于VB6.0的多方式串口通信实现侯志军1) 高媛媛2) 沙 楠1)(解放军理工大学通信工程学院研一队1) 南京 210007) (解放军理工大学通信工程学院无线通信系2) 南京 210007)摘 要:串口通信因其通信线路简单、使用灵活方便,在许多领域应用广泛。
基于串口通信和MSComm控件原理,详细介绍了利用VB6.0编程实现手动和自动发送字符/数据、文本文件等多方式串口通信的方法,并给出了具体程序和解释。
对VB6.0编程者的学习具有一定的启发和参考价值。
关键词:RS-232 Visual Basic6.0(VB6.0) MSComm 多方式 串口通信中图分类号:TN915.05Use VB6.0to Program Multimode Serial Communication ProgramHou Zhijun1) Gao Yuanyuan2) Sha Nan1)(Postgraduate Team1ICE,PLAUS T1),Nanjing 210007)(Department of Radio Communication,ICE,PLAUST2),Nanjing 210007)Abstract:Serial communication program has broad application in many fields because of its simple communication circuitry,flexible uses.Based on the principle of serial communication program and MScomm control,the article introduces using VB6.0to program the Mu-l ti mode Serial Communication program such as manual or automatic transmitting symbol/data,text file etc.,then gives a concrete program and explanation.It will be useful to the people who study VB6.0.Key words:RS-232,Visual Basic6.0,MSComm control,mul timode,serial communication programClass number:TN915.05串口通信由于具有通信线路简单、使用灵活方便、数据传输可靠等优点,在工业监控、数据采集和实时控制等场合得到了广泛的应用。
基于VB6.0的PC机与单片机串口通讯的实现

基于VB6.0的PC机与单片机串口通讯的实现魏延萍【期刊名称】《信息技术》【年(卷),期】2011(000)007【摘要】RS-232 serial port is used to carry out the communication between PC and singlechip microcomputer. The hardware connection scheme and the associated communication protocols are designed in details. The MSComm component is researched, and the communication program based on VB6.0 is developed, and the detailed programming is presented. An example proved that the design is stable and reliable, and can satisfy the design requirement and function, and the system is provided with a good reference value for developing similar system.%应用RS-232串口实现PC机与单片机之间的通讯,设计了其硬件连接电路及相关通讯协议.研究了MSComm控件,并编写了基于VB6.O的通讯软件程序,给出了详细的程序设计.通过实例,证明该设计运行稳定可靠,能满足设计的需求和功能,对于开发类似的系统具有很好的参考价值.【总页数】3页(P38-40)【作者】魏延萍【作者单位】宝鸡文理学院物理与信息技术系,宝鸡721007【正文语种】中文【中图分类】TP311.1【相关文献】1.基于VC6.0的多台MSP430单片机和PC机串口通讯实现方案 [J], 周辉军;许亮;韩瑞宁2.基于VB6.0的PC机与多单片机串行通信设计与实现 [J], 孔德刚;肖海荣;安国建;刘文江3.利用VB6.0实现PC机与单片机的串口通讯 [J], 付旭;方康玲4.基于VB6.0实现单片机与PC机的串口通信 [J], 陈代胜;张莉君;;;5.基于VB6.0实现PC机与单片机的串行通讯 [J], 杨佩璐因版权原因,仅展示原文概要,查看原文内容请购买。
VB6.0环境下利用Mscomm控件实现串行通信

VB6.0环境下利用Mscomm控件实现串行通信Use Mscomm Control Component to Implement Serial Communication under Visual Basic摘要: 本文简要介绍了VB6.0中Mscomm通信控件的属性和使用方法,并结合具体实例给出了基本的通信程序。
主题词:串行通信Visual Basic Mscomm .vbx控件Abstract: This paper briefly introduces the principle and method of Mscomm object of Visual basic 6.0, and with a real example basic program codes are given.Key Words:Serial Communication; Visual Basic; Mscomm .vbx control component随着计算机技术的飞速发展及其广泛应用,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,由于串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。
微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。
而单片机具有价格低,功能强,抗干扰能力好,温限宽和面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。
在需要对采集的数据进行分析处理或在远程需要对控制对象的控制过程进行统计或有条件控制时,采用数据库访问技术能有效地解决这类问题。
Visual Basic 6.0以其强大的功能、使用简单、能在短时间内开发出高效的通信程序而成为Windows系统开发的主要编程语言。
首先表现在VB可直接使用户自定义控件VBX或OCX文件;其次表现在VB可通过调用动态链接库(DLL,dynamic link library)来加快应用程序关键部分的执行速度。
基于VB6.0的串口通信方法

基于VB6.0的串口通信方法串口通信在数据采集中有着广泛的应用,因为串口通信通信线路简单、灵活方便、数据可靠。
作为快速开发,利用VB开发串口通信程序既可以使用MSComm控件也可以调用WindowsAPI函数实现。
这里我们使用VB6.0提供的MSComm控件,因为MSComm控件的功能和API调用一样强,甚至更好且使用起来更加简单,能很方便地实现所需的串口通信功能。
1.MSComm控件简介MSComm控件是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。
具体的来说,它提供了两种处理通信问题的方法:一是事件驱动方法,当串口通信产生错误时,MSComm控件会触发OnComm事件,程序员可以在OnComm事件处理函数中加入自己的处理代码。
另外一种是查询法。
查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。
在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。
2.MSComm控件的常用属性MSComm控件有很多重要的属性,但首先必须熟悉几个关键属性。
CommPort 设置并返回通讯端口号Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen 设置并返回通讯端口的状态。
也可以打开和关闭端口Input 从接收缓冲区返回和删除字符Output 向传输缓冲区写一个字符串3.程序代码设计利用MSComm控件编写串口通信程序是十分便利和简单的。
下面我就事件驱动方式以VB6.0为平台编写了PC间串口通信程序的实例。
代码如下:'串口初始化PrivateSubForm_Load()mPort=1 '设置通信端口号为COM1MSComm1.Settings="9600,n,8,1" '设置串口参数MSComm1.InputMode=0 '接收文本型数据MSComm1.RThreshold=1'接收缓冲区每收到一个字符都会使MSComm控件触发OnComm事件MSComm1.PortOpen=True '打开通信端口1EndSub'把字符通过串口发送出去'启动定时器PrivateSubCmdsend_Click()IfTextsend.Text=""Thenpp=MsgBox("发送的数据不能为空!",16)ExitSubEndIfMSComm1.Output=Trim(Textsend.Text)EndSub'MSComm的OnComm事件程序'由CommEvent属性值的不同,将各自的程序代码写入相关的子程序中'只要RThresold中的设定字符数到达时便会使得CommEvent属性值变成comEvReceive'因此接收的子程序便会被执行PrivateSubMSComm1_OnComm()Dimbuf$mEvent'通过取代每一个case表达式来处理每个事件与错误CasecomEvCD'CD线的状态发生变化CasecomEvCTS'CTS线的状态发生变化CasecomEvDSR'DSR线的状态发生变化CasecomEvReceivebuf=Trim(MSComm1.Input)'将缓冲区内的数据读入buf变量中CasecomEvSendEndSelectTextReceive.Text=TextReceive.Text&bufEndSub'停止程序运行PrivateSubCmdquit_Click()UnloadMeEndSub'关闭通信端口,PrivateSubForm_Unload(CancelAsInteger)MSComm1.PortOpen=FalseEndSub4结束语本文通过具体实例介绍了如何利用VB6.0中的MSComm控件来实现串口通信。
使用VB实现的基于串口通信的数据采集系统毕业设计

基于串行口的数据采集系统的设计摘要:数据采集在日常生活中有着广泛的应用,特别是在一些对数据的准确性,实时性要求比较高的场合,需要设计专用的电路来实现系统的需求,而系统的功能的实现,与我们对元器件的选型,设计搭建的电路有直接的关系,它们直接影响着系统对外界环境的感知和响应能力,决定着系统的性能。
数据采集在工业控制领域有着广泛的需求,本设计是实现基于串行口的数据采集系统,以采集周围的环境温度为采集对象,以STC89C51单片机作为下位机,以PC机作为上位机,使用9针串口来实现下位机和上位机的通讯。
通过在PC机上使用VB6.0开发软件来开发实现数据接收显示控制界面。
系统调试结果表明,该系统设计合理,对周边环境温度的变化反应敏感,数据采集的波特率达到9600bps.关键字:数据采集系统、STC89C51单片机、串口通信、VB中图分类号:TP2IDesign of Data Acquisition System Base on SerialCommunicationABSTRACT: Data collection is widely applied in daily life, especially in the place which is very high request in data accuracy, real time display. A special circuit is need to be designed to realize it. Also, it have much connection with the sensor and circuit design , they influence the system’s sensor and response ability very much , it directly determined the system’s character.Nowadays, Data collection is widely requested in the industry control area. The system is designed to realize the data acquisition according to the serial port , collecting the temperature around the environment as collection object , use STC89C51 single-chip microcomputer as down machine , use personal computer as upper machine , use 9 pin serial port to realize the down SCM and upper PC’s communication . A display control form was made use the VB6.0 software . The experiment have done display that , the design was reasonable , it was very sensitive to the temperature’s ch ange around the environment .The system’s data collection speed could arrived to 9600bps.关键词:data collection system;STC89C51 single-chip microcomputer;serial communication;Visual Basic中图分类号:TP2II目次摘要 (I)ABSTRACT (II)目次 .......................................................................................................................................I II 1绪论. (1)1.1研究的背景和意义 (1)1.2数据采集系统的研究现状 (1)1.3研究思路和方法比较 (2)1.4本章小结 (3)2 基于串行口的数据采集系统的总体设计与分析 (4)2.1 基于串行口的数据采集系统的总体设计思想 (4)2.2 设计方案与论证 (4)2.3 本章小结 (5)3 下位机的设计 (6)3.1传感器的选择 (6)3.2 TTL与RS232电平的转换 (7)3.3单片机电路设计 (8)3.4系统总的电路设计实现 (8)3.5本章小结 (10)4 上位机的设计 (11)4.1 Visual Basic设计介绍 (11)4.2 Visual Basic 设计实现 (12)III4.3 本章小结 (13)5 系统结果和分析 (14)5.1 实验调试与结果 (14)5.2 本章小结 (18)6总结 (19)参考文献 (20)附录(下位机实现程序代码) (21)个人简历 (22)学位论文数据集 (23)IV1 绪论1.1 研究的背景和意义在计算机广泛应用的今天,数据采集在很多领域有着十分重要的应用。
基于VB6.0的多方式串口通信实现

串口通信 由于具有通信线路简单 、 使用灵活方 便、 数据传输可靠等优点, 在工业监控 、 数据采集和 实时控制等场合得 到了广泛 的应用 。采用 V 6 O B. 提供的 M Cln S o I控件 , ' n 能很方便地实现所需的串口 通信功能。
口 芯片进行 编程 , 可以使 串 口具 有不 同的工作 方 式、 不同的波特率 和不同的数据位数等[l 1 。
( o g da em IE P A SI, aj 20 0 ) Ps r utT a 1 C , L U T) N m ta e n 10 7 ( eam n o R d o nnctn IE,L U  ̄’N nn 200 ) D pr et f ai C r ui i , P A S , aj g 107 t o m ao C i
条 9 R 22电缆 的两 个接头在正常情况 针 S3
下, 都是一一对应 的 , 但如果是使用单 串 口或 双串
口直接连接测试时 , 就必须将电缆 的某些针对 接, 才能满足串口通信的要求 。单 串口测试 时 , 需将 2
针 和 3 收发针 ) 针( 对接 ; 对于双 串 口直接连 接测 试, 则需将两个端 口的 2 针和 3 ( 针 收发针) 相互
中 圈分 类 号 :o P o r m u lro e S r l n n n c l n P o r m e VB 0 t r g a M l n d e i  ̄ a Co n u ia i r g a o
H uZ ilI Ga u ya o h l ) ja oY a u ̄) S a n i N n) e r
A l
;e a cm ui tnpvr a r d印Pi tni m n e sbcueo ss p o m n ao iut ,fx l Srl o m nc i rga hs o i ao m ba la o ayfl eas ft i l cm ui tnc ciy l i e ci n id i m e ci r r eb
用VB6.0实现设备串口通信及监控功能

用VB6.0实现设备串口通信及监控功能摘要:在实际应用中,串口是计算机与外部串行设备之间常用的数据传输通道。
本文介绍了串口通信的基本原理和函数,提出了在windows环境下实现串口通信的一般方法和步骤,并在VB6.0下编程实现。
关键词:串口通信;监控;VB6.0中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)18-31487-01VB6.0 Equipment with Serial Communication and Monitoring CapabilitiesGU Huan-yu(Shanghai Telecom Technology Development Ltd.,Shanghai 200065,China)Abstract:In practical applications,the computer serial port and external serial devices commonly used data transmission channel.This paper introduces the basic principles of serial communication function and presented in windows environment serial communication under the general methods and steps, and V isual Basic 6.0 programming under.Key words:Serial Communication;Monitor;VB6.01 引言计算机串口是通过串行通讯方式进行通信,即一条信息的各位数据被逐位按顺序传送。
串行通讯的特点是:数据位传送按位顺序进行,最少只需一根传输线即可完成,成本低、速度较慢,距离可以从几米到几千米。
数据通讯量不是很大时,在工控领域广泛地使用串口通信对设备进行监控。
基于VB6.0的串口通讯程序设计

ห้องสมุดไป่ตู้
基 于 VB 6 0的 串口通讯 程 序设 计 .
收 稿 日期 :20 — 7 1 02 0 — 9
基 于 V . B 6 0的 串 口通 讯程序设 计
D e i n o o r m o e i lCO m u c tO s d o s a s c 6・ s g f Pr g a f r S ra m ni a i n Ba e n Vi u lBa i 0
采 集 和对 设备 一级 的监控 ,上位 机则 要 完成对 整 个 系
MS o C mm 是 Mi o ot 司 提供 的主 要用 于 串行 c sf公 r
统 的 采集 、 析 、 分 处理 和控 制 以及 数 据 、图形显 示 、打 印、人 机对 话 等工 作 。而 上位 机 与下 位机 大多 是 通过 P C机 的 R - 2 2串行 接 口实 现 通 信 。随着 Wid ws S 3 no 系 统 的 普 及 ,越 来 越 多 的 用 户 由 D OS系 统 转 向 了 W id ws系统 , 使得 数据 采 集及 工业 控 制软 件 也上 no 这
升 到 了Wid w n o s环境 下 。这就 给程 序员 提 出 了如何 编
通 信编 程 的Acie t X控 件 。 t e v Aci X控 件包括 一 系列 的 v
属性 、 法和 事件 , 用程 序通 过 Acie 方 应 t X控 件 提供 的 v 接 口来访 问控件 的功能 。我 们 知道 通过 C、VC+ 编 写 +
它 以所 见 即所 得 的 可视 化 界 面设 计 风 格 和 3 2位 面 向 对象 程序 设计 的 特点 ,已被 广泛 应用 到各 个领 域 ,成
为众 多开 发人 员 采 用 的工 具 。VB不 但 提 供 了 良好 的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB6.0环境下基于USB的虚拟串口通讯实现
摘要:以ftdi公司的ft232bl芯片为核心设计并实现了基于usb 接口的计算机与单片机之间的虚拟串口通讯。
单片机采用philips 公司p89系列单片机,完成数据的存储。
计算机在windows环境下利用mscomm通讯控件实现上位机与下位机之间的数据传输。
在此提出了pc机对虚拟串口的自动识别方法,并提供了程序的源代码。
实验结果表明,用虚拟串口实现计算机与单片机之间的usb通信,具有速度快,软件实现简单等优点。
关键词:vb6.0; usb口; ft232bl;虚拟串口
引言
数据传输是现代通讯过程中的一个重要环节,在数据传输过程中,不仅要求数据传输的准确率要高,而且要求速度快、连接方便。
传统的rs 232串口通讯和并口通讯都存在传输速度低、扩展性差、安装麻烦等缺点,而基于usb接口的数据传输系统能够较好地解决这些问题。
目前,usb接口以其传输速率高、即插即用、支持热插拔等优点,逐步成为pc机的标准接口。
本文中的数据传输系统采用了usb接口进行上位机与下位机之间的数据通讯。
下位机采用philips 公司p89系列单片机,完成数据的存储。
上位机通过vb6.0编程,实现上位机与下位机之间的数据传输。
1数据传输系统的总体设计
系统的硬件部分主要包括2部分:上位机端和下位机端。
上位机采用pc机或笔记本电脑,操作系统为windows xp,实现上位机和下位机之间的数据传输、显示、处理、存储及查询功能。
系统的下位机采用philips公司p89系列单片机,完成数据的存储。
下位机为一个手持的数据存储仪,由usb转串口数据转换模块、ttl转rs 422总线模块、中央处理模块、显示模块、存储模块、电源模块等组成。
上位机与下位机的连接利用pc机自带的usb接口,原理框图如图1所示。
图1数据传输系统原理框图把数据记录卡插入数据存储仪内,可把卡内数据转存到存储模块。
数据存储仪通过usb口与pc机连接,把所存数据传输到上位机,上位机对数据进行显示、处理及存储。
系统采用ftdi公司的ft232bl芯片作为usb转串口模块,可以和单片机的内置串口直接连接,使单片机通过usb口和pc机通讯。
芯片一方面可以接收从pc机发来的usb数据,并将其转换为串行i/o数据格式发送给单片机串口;另一方面可把单片机从串口发出的数据转换为usb的数据格式传回pc机。
与其他usb接口芯片相比,用ft232bl芯片进行usb外设开发,只需熟悉单片机编程及简单的vc或vb 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短usb外设产品的开发周期。
2硬件电路设计
2.1ft232bl芯片简介
ft232bl内部结构如图2所示,主要由usb收发器、串行接口引擎(sie)、usb协议引擎、通用异步收发(uart)先进先出(fifo)控制器和通用异步收发(uart)转换器等构成。
usb收发器提供
usb1.1/2.0全速物理接口到usb总线;串行接口引擎主要用于完成usb数据的串/并双向转换,并按照usb2.0规范来完成usb数据流的位填充/位反填充,以及循环冗余校验码(crc5/crc16)的产生和检错;usb协议引擎管理来自usb设备控制端口的数据流;通用异步收发(uart)先进先出(fifo)控制器处理收发通道缓冲与通用异
步收发(uart)寄存器之间的数据传递。
图2ft232bl内部结构框图通用异步收发器(uart)实现与单片机(如p89v51rd2)的串行接口,通过txd,rxd,gnd3根数据线分别与单片机的rxd,txd,gnd相连,完成与单片机的数据交换。
ft232bl 内含2个数据缓冲区,一个是128 b的发送缓冲区,另一个是384 b 的接收缓冲区。
它们均用于usb数据与串行i/o数据的交换缓冲区。
另外,ft232bl还包括1 个内置的3.3 v稳压器,1个6 mhz的振荡器、8倍频的时钟倍频器、usb锁相环和电擦除只读存储器接口。
2.2ft232bl电路设计
根据usb设计规范,usb设备有总线供电和自供电2种方式。
考虑到usb通讯功能仅在连接pc机时使用,所以,ft232bl芯片由usb总线供电,电路其他部分通过双触点开关的一个常开触点连到
usb总线电源正极上。
典型硬件电路如图3所示。
采用上电复位方式,通过输出可使单片机复位。
时钟电路采用1个6 mhz无源晶振及2个27 pf的陶瓷电容组成。
pwren脚与单片机的p1.7相连,用于判断usb总线是处于挂起状态还是正常状态。
在usb接口的电源端接一个磁珠,用以减少主机与设备的干扰;电源端增加了去耦电容和旁路电容,以提高电路的抗干扰性。
在印刷电路板的设计中,2根串行数据线的走线应可能短,并且长度相等。
图3中的
93c46(93c56或93c66)是一片电擦除只读存储器(e2prom),用于存储产品的vid,pid,设备序列号及一些说明性文字等。
这需要用户自己编写,编写的应用程序由ftdi公司提供。
用户只需运行相应的vb程序,写入相应的信息即可。
该电擦除只读存储器(e2prom)是可选的。
若没有电擦除只读存储器(e2prom),ft232bl将使用默认的vid,pid(进程标识符),产品描述符和电源描述符,并且没有设备的序列号。
3上位机的软件设计与编程
3.1虚拟串口驱动程序安装
当下位机连接到上位机的usb接口时,上位机会检测到新硬件,这时需要安装一个从ftdi公司网站上免费下载的虚拟串口(vcp)驱动程序。
该驱动程序适用于windows 98/2000/me/xp等不同操作系统。
用户可以在这虚拟串口上进行应用程序的开发。
该虚拟串口
可以像一个标准的物理串口那样被访问,可本质上所有针对虚拟串口的数据通信都是通过usb总线完成的。
3.2上位机的软件编程
上位机软件采用vb 6.0提供的串口通讯mscomm控件进行应用程序的编写。
mscomm控件提供了功能完善的串口数据的发送和接收功能,它有2种处理通信的方式:一种是事件驱动方式,当串口发生事件或错误时,mscomm控件会产生oncomm事件,程序可以捕获该事件进行响应处理;另一种是查询方式,在程序中查询mscomm控件的commevent属性的值是否发生变化,从而确定响应处理。
3.2.1虚拟串口的自动识别
一般来说,上位机操作系统为ft232bl芯片分配的虚拟com端口是不确定的,下位机连接到同一上位机的不同usb口,其虚拟com 端口号不同,下位机连接到不同的上位机,虚拟com端口号更是无法确定。
为了让上位机能够自动识别下位机连接的虚拟com口,程序中采用了循环访问各com口的方式,如果该com口是存在的则按照通讯协议向该端口发送“3ch”,如果该com口不存在,则跳过,判断下一个com口。
如果收到下位机回送的“3ch”,则说明通讯检测成功。
4系统运行结果
上位机可以从下位机中读取最多31组数据(数据组数由下位机
存储器容量决定),每组数据8 kb,用户可根据需要自行选择查看各组数据。
图4是数据传输系统实际运行的结果。
图4运行结果5结语
该系统通过调试,已成功应用到项目中,运行稳定、可靠,满足了设计需求和功能,对开发类似的系统具有很好的参考价值。
参考文献
[1]李长林.visual basic 串口通信技术与典型实例[m].北京:清华大学出版社,2006.
[2]杨思俊.基于vb6.0的太阳能发电基站电源的上位机软件设计[j].科技广场,2011(1):133135.
[3]马兴,童卓,周丽娟.基于vb的pc机与单片机间串口通讯及程序设计[j].兵工自动化,2010(10):9496.
[4]程来星,胡明钦,张英波.基于vb的计算机串口通信的应用研究[j].无锡职业技术学院学报,2011(2):5861.
[5]夏中权.usb虚拟串口的通信[j].电脑编程技巧与维护,2008(10):7679.
[6]杨杨,潘洪跃.基于虚拟串口的数据采集系统的设计与实现[j].大众科技,2008(4):7375.
[7]徐锋.基于ft245bm的快速usb接口设计[j].电子工程师,2007(3):5961.
[8]林水明,章坚武,骆懿.基于ft245bm的简易usb接口开发
[j].单片机与嵌入式系统应用,2003(1):3840.
[9]陈三凤,刘晓波.基于vb6.0与单片机串行通信的数据采集系统设计[j].计算机应用,2004(1):6668.
[10]王永磊,何强,韩壮志.基于usb的pda与dsp的虚拟串口通讯实现\[j\].仪表技术,2009(6):3638.。