VB与单片机实现通讯基础

51系列单片机片内支持其与上位机的多机通讯,也即是一个上位机可以控制多个下位机(由单片机组成)分时协同工作。这个功能的实现主要依赖于51单片机中存在从上位机接收地址还是接收数据的标志位SM2。51单片机有三种通讯模式,由SCON寄存器控制,SCON寄存器结构如下  
    SCON D7 D6 D5 D4 D3 D2 D1 D0
  SM0 SM1 SM2 REN TB8 RB8 TI RI

(1).SM0、SM1:串行口工作方式控制位。
  SM0,SM1 工作方式
  00 方式0
  01 方式1
  10 方式2
  11 方式3
(2).SM2:多机通信控制位。
  多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3.接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接     收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃.当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请.
  工作于方式0时,SM2必须为0.
(3).REN:允许接收位。
  REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
(4).TB8:发送接收数据位8。
  在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5).RB8:接收数据位8。
  在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
6).TI:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
//---------------------------------------SComm控件的常用属性和方法----------------------------- Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口状态。 InputMode:设置或返回接收数据的类型。 Inputlen:设置或返回一次从接收缓冲区中读取字节数。 InBufferSize:设置或返回接收缓冲区的大小,缺省值为l 024字节。 InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。 Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。 OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。 OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。 Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。 设置好这些属性和方法,程序很容易就可以编出来了,其中要注意的是串口的波特串设置,OnComm事件的程序编写。 程序的设计是这样的,计算机向单片机发送一个’S’,表示通信开始。然后紧接着又发送9个字符,其中最后一个字符是前面9个字符(包括’S’)的校验和。单片机正确接收到10个字符后,把10个字符从新又送回来。 //---------------------------------------初始化串口设计----------------------------- Private Sub Form_Load() ..................................... d Sub //---------------------------------------接收单片机发送的数据,并显示----------------------------- Private Sub Comm1_OnComm() Select Case Comm1.CommEvent '设置oncomm事件,读取片机内存的值 Case comEvReceive Inputsignal=comm1.Input Text1.Text=Asc(Inputsignal) '单片机内存的值用textbox显示出 Case Else End select End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值