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:
VB与单片机实现通讯基础
最新推荐文章于 2022-11-23 19:35:55 发布
本文介绍了51单片机如何通过SCON寄存器实现多机通讯,重点讨论了SM2位在多机通信中的作用。VB发送第9位数据的实现关键在于设置串口通讯模式,通过改变`MSComm.Settings`来控制数据的地址标识。单片机端通过TB8位控制发送地址或数据。
摘要由CSDN通过智能技术生成