打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于VB6的PC机与多台单片机通信的应用 (2)

基于VB6的PC机与多台单片机通信的应用 (2)
  
 
 VB6 PC机 单片机通信

  
    本系统VB6通信初始化程序如下:
  
    MSComm1.CommPort = 1 ;选择COM1为通信端口
  
    MSComm1.Setting ="9600,n,8,1" ;设置波特率为9600,无奇偶校验,8个数据位,一个停止位
  
    MSComm1.OutBuffersize =256 ;设置输出缓冲大小为256个字节
  
    MSComm1.RThreshold = 3 ;输入缓冲区里有3个字符时,触发OnComm事件
  
    If Not MSComm1.PortOpen = True
  
    Then MSComm1.PortOpen = True ;打开串行口,并防止运行时发生打开同一串口的错误
  
    End If
  
    以上MSComm1是系统默认的MSComm控件的名字(Name)。在初始化完成后通过
  
    MSComm1.Output=OutputString 发送数据,OutputString 是定义的字符型变量(Dim OutputString As String)。一般用定时器的Timer事件来定时发送数据,接到回应字符后则关闭定时器。MSComm控件可以直接把字符串转化成二进制数据形式发送,不需要我们在程序中用算法来转换。每次发送完毕最好关闭串口。用MSComm1.PortOpen=False来实现。MSComm_OnComm事件可以捕捉通信时发生的错误,也可以接收数据。由于RThreshold的属性值为3,所以当输入缓冲区满三个字符时,就触发MSComm_OnComm事件,通过对接收字符的判断,可以决定主程序分支的去向。


  
    3.4 下位机程序设计
  
    本系统单片机MCS-51通信时用定时器T1工作于定时方式2作为周波发生器,选择11.0592的晶振。由于波特率为9600,所以定时器T1初值取0FDH。初始化还需设置用于控制和监视串行口状态的控制状态寄存器SCON。初始化程序如下:
  
   MOV SCON,#0C0H ;通信方式3
  
   MOV PCON,#00H ;SMOD=0
  
   MOV TMOD,#20H ;定时器T1,工作于方式2
  
   MOV TL1,#0FDH ;设置波特率为9600
  
   MOV TH1,#0FDH
  
    单片机始终处于被动状态,只在接收到通信的命令后才进入中断服务子程序发送数据,进入通信状态。PC机与单片机通信时,先发出呼叫信号,单片机接到约定的呼叫信号后,向PC机发出应答信号,表示准备接受,PC机在接到应答信号后则发出通信代码,单片机接到通信代码与本身代码相减,若为0则开始接受命令,设置新的参数;若不为0则继续执行采集数据和发送数据的程序。
  
    3.5 库机的设计
  
    库机设计以单片机为核心,配有EPROM、A/D转换、数码显示、光电隔离和控制电路等。传感器把温度、湿度等非电量转化为电量,通过A/D转换后变为数字量,然后通过单片机的串行通信将数据送往PC机数据库保存。同时,单片机将采集的结果与设定参数进行比较,如若不在规定的参数范围之内或者单片机采集的状态量发生异常,则驱动光电隔离放大器,经过一级放大后就可驱动继电器动作打开降温、去湿设备和报警系统。在这里光电隔离可以有效地避免继电器的误动作,提高了系统的抗干扰能力。
  
  
    4 结束语
  
    本文所介绍的管理和监控系统是基于VB6的主从式通信结构,可靠性好,可行性强。其硬件结构简单,软件(VB6)编程环境友好,界面灵活,易学易用。本系统可以方便地控制通信对象的选择,实时显示所采集数据,人机对话灵多机动,易于操作。这种单片机与数据库的串行通信技术的应用,为库房管理的发展提供了新的方向。 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
RS232接口与单片机串行通信程序设计
基于VB的PC-单片机通信波特率自动检测方法
第7章 串行口
VB6.0环境下利用Mscomm控件实现串行通信
利用VB实现PC机与多单片机通讯
51单片机与VB串行通信的实现_中国电子商业联盟
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服