在51单片机中
1.串口控制寄存器SCON
2.是否进行多机通讯主要关注SM2(9DH)
1.单机通讯(如下图):无论是主机还是从机,SM2均等于0,也即SM2=0。只要CPU将累加器中的数据送到SBUF缓冲器内,TB8中存放第9位数据。那么计算机就会将这9位数据逐个发送出去,无论TB8中的内容是0还是1 2.好处:对第9位数据没有要求 12
1.多机通讯:(如下图) 2.初始状态:主机的SM2=0,所有的从机的SM2=1; 3.每次的通讯都由主机发起; 4.如果主机直接发数据,从机无法收到; 5.SM2=1的从机只可以接收第9位是1的数据信息; 6.SM2=0的从机可以接收无论第9位是0或者1的数据信息; 7.在主机发送的数据中,若第9位(RB8)为0,那么从机将接收不到主机发送的信息;若第9位数据为1时,所有的SM2=1的从机都会接收到这个字符信息;这个第9位(RB8)1之后的数据可以被认为是从机的地址(为什么呢?)因为每一个从机会将接收到的数据和自己的编号进行比较,如果相等,则表示这个地址就是自己,也即这个从机被主机叫号叫到了----也即RB8=1表示地址帧; 8. 此时被叫到的从机将SM2由1变成0,此时主机SM2=0,从机SM2=0。那么此时主机与从机类似上述的单机通讯。主机再次发送信息,第9位(RB8)为0,只能被刚刚被叫到的从机接收,其余各位也会被从机认为是有用数据----RB8等于0表示数据帧; 9.当主机发送数据完毕之后,从机主动将SM2=0变为SM2=1,回到初始状态; 123456789