- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB6.0在PC机与单片机串行通信中应用
VB6.0在PC机与单片机串行通信中应用
[摘要] 在开发微机控制及数据采集系统中,要实现PC机与单片机中的串行通信,经常用到的是RS232接口。我们普通PC机后面的COM端口即RS232接口。VB6.0提供了MSCOMM通信控件,只需编写少量的程序代码,即可在Windows环境下轻松实现串口的数据交换。本文以笔者曾研制的压力测定系统为例简单介绍通过VB实现计算机串口通信的方法。
[关键词] 串口通信 RS232 VB6.0
随着计算机技术的迅速发展及其在各领域的广泛应用,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,由于串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。而单片机具有价格低,功能强,抗干扰能力好,以及面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。
一、VB6.0实现串行通信方法
VB提供的通信控件Mscomm32.ocx,使用前只需从Project菜单下的Components中选择Microsoft Comm Control 6.0把Mscomm32.ocx控件调入工具框中即可使用。利用该控件可对串行通信的数据发送和接收进行设置,还可对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以通过触发OnComm事件来追踪、处理通信和错误事件的发生。由于每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。
硬件连接:
(1)当单片机以RS232接口为端子连接时,单片机与计算机的连接如下图:
(2)当仪表以RS485接口(其它接口如422等类同)为端子连接时,单片机与计算机的连接如下图:
2.MSCOMM控件简介
为支持串行通信的实现,VB6.0中Mscomm控件提供了众多的串行通信属性,但首先必须要熟悉的几个属性主要包括:
CommPort:设置并返回通讯端口号。
Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
PortOpen: 设置并返回通讯端口的状态。也可以打开和关闭端口。
Input:从接收缓冲区返回和删除字符。
Output:向传输缓冲区写一个字符串。
此外,还包括如下等属性:
InputLen:输入缓冲区数据长度;
InputMode:输入模式,ASCII字符或二进制数据;
InBufferSize:设置并返回接收缓冲区的字节数;
OutBufferSize:设置并返回输出缓冲区的字节数;
OnComm:在发生通讯事件或错误时,将触发OnComm事件,CommEvent属性值将被改变;
Rthreshold:引发接收事件的字节数,为0时不引发接收事件;
Sthreshold:引发发送事件的字节数,为0时不引发发送事件;
……
二、实例
本例主要介绍以MCS-51系列单片机为基础的智能化仪表与微机的数据通信软件的设计方法。系统主站为一台微机,子站为6个以单片机为主并利用串口可收发数据的智能仪表组成,每块仪表提供采用RS485通信标准的半双工通信模式。各子站通讯端子之间采用并联结构通过JR485转换器与PC机串行通信端口相连。为了避免争夺通信权现象,以主站主动访问每一站地址方式进行数据通信。由于6个子站与主站的同一串口连接,通信时,由上位机首先发一指令,建立连接,下位机在接收到上位机发来的命令后,及时作出应答,如果上位机发出的命令不正确或不存在(包括校验核不正确),仪表将没有回答。此外,仪表自动判断计算机发出的命令中是否含有校验核,如果命令中有校验核,则仪表顺答时自动外加2个字符的校验核。其中,命令的校验核等于所有命令ASCII码值的和,超过范围保留余数;回答的校验核等于所有回答ASCII码值的和再加上本仪表地址的ASCII码值,超过范围保留余数。
在系统软件窗体(Form)中加入一个通信控件(Mscomm)和二个定时器控件(Timer)。通信控件用于发送和接收数据,定时器控件(Timer1)用于控制计算机定时向仪表发送读取命令,定时器控件(Timer2)用于接收仪表向计算机所作应答,并进行计算机对仪表的数据写入。
1.Mscomm控件的初始化
在窗体事件中对Mscomm的一些属性进行设置
Mscomm.Commport=1利用串口COM1进行通讯
Mscomm .Setting=19200,s,8,1 设置通信控件传输波特率、奇偶校验、数据位、停止位
Mscomm.InputLen=0 读取接收缓冲区的所有字
您可能关注的文档
最近下载
- 特种作业操作证 制冷与空调运行操作作业 实操培训.pdf VIP
- CL01实验室内审检查记录表.pdf VIP
- 幼儿园:实习心得.docx VIP
- (高清版)DB52∕T 895-2014 混凝土砌块用轻质配砖.pdf VIP
- BS EN 10025-6-2004第6部分:技术交付条件用于高屈服强度的扁平产品淬火和结构钢回火的条件.pdf VIP
- 2025法律职业伦理历年试题及答案.doc VIP
- 《房颤诊断和治疗中国指南(2023)》解读PPT课件.pptx VIP
- 40篇短文搞定高考英语3500单词(回顾巩固用).pdf VIP
- 大学生职业生涯规划.pdf VIP
- 2025 公司招聘简章(模板).pdf VIP
原创力文档


文档评论(0)