手机版

基于VB60实现PC机与单片机的串行通讯(4)

发布时间:2021-06-06   来源:未知    
字号:

单片机

EndSub

(二)接收数据

接收数据是一个被动的过程,可以通过函数来实现。由定时器开启。在接收过程中,多数用特征字符。如。OK”、。脊”等。这些需要在通讯协议中约定。

Function接收数据()

DoDoEvems

In_bufferS=In_buffer¥&MSComm2.

Input

Loop

UntilInStr(_buffers.。oK”)7从

串行端口读。OK”响应’In_buffer=Left(In_buffer,len(In_buffer)

一2)

接收数据=In_bufferS

EndFunction

(三)Timer控件控制

在实际运用过程中.通过Timer控件来控制通讯中的发送命令和接收数据过程,在通讯程序中设置两个Timer控件分别控制发送单片机命令和接收单片机数据。为了实现一台PC机和多单片机之间的通讯,可在一个Timer控件的过程中,在发送命令之前设定命令参数和要接收数据的单片机号.然后发送单片机命令:在另一个Timer控件的过程中,根据发送前设定的单片机号。接收不同单片机的数据。Timer控件控制程序如下:

’发送命令主控程序

PtivataSub

TimerSencl_Timer0

TimerSend.Enabledl=FalseSelectCasecommand

Case

11

CaB发送单片机命令过程(任务1)TimerReceive.Enabled=False’启动自动接收

Case2

Call发送单片机命令过程(任务2)MSComml.Rthreshold=O’关闭自动接收

TimerKeceive.Iaterval--500

TimerReceive.Enabled=Tree’启动定Cme

Call发送单片机命令过程(任务3)MSComml.Rthredaoid=0’关闭自动TimerReceive.Interval=500

TimerKeceive.Enabled=True’启动定万方数据

刺击经;齐 科技研发

机号=2

新型医疗器械的研发都具有重要的实用Case4

价值。同时。也为单片机在其他应用领域i

的开发展示了更为广阔的前景。VB6.0Case

具有面向对象的设计方法,友好的用户界面。利用VB6.0面向对象和可视化编EndSelect

程的特点,用MSComm控件可以比较方End.Sub

便地开发串行通信程序。从而实现PC7接收数据主控程序

与单片机系统的通信,对小型测控系统PrivateSub

TimerReceive_Timer0

的设计具有很大的实用性。在采用以PCTimerReceive.Enabled=False

机为控制中心的数据采集自动化控制系Select

Case机号

统中。通常需要单片机采集数据,然后用Case1

异步串行通讯方式传给PC机。PC对单In_bufferS=接收数据(机号)片机进行定时控制,需要多个单片机协Call任务2

同工作。如果系统不很复杂.可通过定时Case2

器控件控制收发过程。在必要的地方自In_buffers=接收数据(机号)动接收装置,使定时控制和通讯过程完Call任务3

美地结合起来。这样.可以免去“握手”协Case3

议的繁琐过程,简化编程,提高速度。VBi

具有面向对象的设计方法,友好的用户Case

界面。简单方便的串行通讯和实用性强In_bufferS=接收数据(机号)等优点.无需借用其他语言就可以开发call任务n

出优秀的控制系统通讯软件。本文介绍

EndSelect了在Windows98环境下如何利用VB

EndSub

来实现PC机与多个PSl016单片机之间(四)自动接收、监视总线状态和通讯的串行通讯。

错误的处理

参考文献:

在实际应用中。自动接收、监视总线1、黄兴琦。陈初开,刘二军.单片机与状态和通讯错误的处理可以通过On-WINDOWS下PC机的串口通信研究m.Comm事件实现。VB程序运行过程中只唐山学院学报,2007(4).

要设置MSComml.Rthreshold=1,在接收2、张传伟。王昀睿.VB下PLC与PC事件发生时程序就会自动访问串口通信的实现m.中国科技信息,200s02).

MSComml.OnComm()过程。由于外界3、肖汉敏。冯毂.串行通信在实时数据干扰或电压波动等原因,PC机和单片机采集中的应用【丌.微计算机信息,2007(13).

之间的通讯可能会出现错误,如接收缓4、杨军。乔晓军,王成.基于专家系统

冲区溢出、网络端口超速等。这些可能发的禽舍环境监控系统设计【丌.农机化研究,生的事件都能在代码中引起运行错误。2007(6).

为了处理这些错误.须要将错误处理代5、樊春峰.李劲伟.用VB开发上位机码添加到程序中。通过控件中的On-与OMRONPLC之间的一种通讯程序Ⅱ】.机电工程,2002(2).

讯过程中所发生的通讯错误是Corn-6、叶柏峰。张长利。于艳,白丽君.基于VB的PLC与计算机串行通信设计册,东北农业大学学报,2007(3).

7、蔡倩。经亚枝.Windows环境下PLC

与上住机的串行通信珊.东北农业大学学报,2005(3).

8、扬久红。王小增.MSComln控件实现PC与PLC辛行通讯m.东北农业大学学报.2005(5).

9、李光明.孛妍,李茜.用VB实现¥7-300PLC与PC机的普通串口通信m.微计算机信息.2005(19).

I作者单位:山东中医药大学)

2009.04(上)—匿疆

C■I_●CoIIectIv●IEconoiiiY

Comm事件可以捕捉和处理错误。在通mEvem属性返回的。当CommEvent属性值发生改变时,表明有通讯错误,就会产生OnComm事件。同时,可以利用自动引发OnComm事件的特点在接收过程中加入状态显示码。这样可以监视通讯线路状态。得到单片机和主机及单片机和单片机之间的通讯进程。总之,基于高级语言实现的PC机与单片机的通讯提高了单片机的开发水平。同时也降低了单片机的开发难度,我们以此为开发工具并用于多种医疗器械的中心控制部分。对推动已有医疗器械的更新换代和

时器接收机号=1

接收

时器接收

基于VB60实现PC机与单片机的串行通讯(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)