单片机串行通信
1、串行通信概述
·串行通信:是将数据的各位一位一位地依次传送。适合于计算机之间、计算机与外部设备之间的远距离通信。
·串行通信方式:
2、串行接口与工作方式
一.结构图
发送:MOVSBUF,A
接收:MOVA,SBUF
二.串行口控制
1.串行口控制寄存器SCON
①SM0、SM1:串行工作方式控制位。
②SM2:方式2和方式3的多机通信控制位。
·方式2、3时:如SM2=1则接收到的第9位数据(RB8)为0时不置位RI;如SM2=0,则收到停止位后必置位RI。
·方式1时:如SM2=1,则收到停止位置位RI。
·方式0时:SM2=0。
③REN:REN=1时,允许接收;REN=0时,禁止接收。
④TB8:方式2和3中要发送的第9位数据,可作奇偶效验位。
在多机通信中:TB8=1为发送地址帧,TB8=0为发送数据帧。
⑤RB8:方式2和3中要收到的第9位数据,可作奇偶效验位或地址/数据标识位;方式1中如SM2=0时,RB8是接收到的停止位;方式0时,不使用RB8。
⑥TI、RI:分别为发送、接收中断标志。
2.电源和波特率控制寄存器PCON
串行口工作在工作方式1、2、3下:
SMOD=0,波特率不提高一倍
SMOD=1,波特率增大一倍
要点:·串口各用到哪些寄存器?寄存器各位的含义。
·串口有几种工作方式?
3.串行工作方式及帧格式
在串行口的4种工作方式中,串行通信只使用方式1、2和方式3,方式0主要用于扩展并行输入输出接口。
①方式0:以8位数据为一帧,没有起始位和停止位,先发送或接收最低位。主要用于扩展I/O口,数据由RXD输入或输出,同步移位脉冲由TXD端输出。波特率=fosc/12
②方式1:。以10位为一帧,即一个启始位、8个数据位、一个停止位。适合于点对点的异步通信。
③方式2和方式3:以11位为一帧,比方式1增加了一个数据位,其余相同。第9个数据即D8位具有特别用途。适合于多机通信。
三.波特率的设置
1.方式2:
2.方式1和方式3:一般选用T1工作于模式2作波特率发生器。
定时器T1模式2的计数初值:
例:选用定时器T1,操作模式2作波特率发生器,波特率为2400波特。已知fosc=11.059MHz,求计数初值X。
解:设波特率控制位SMOD=0,则
X=256-11.0592×106×20/384×2400=244=F4H
所以TH1=TL1=F4H
编辑:admin 最后修改时间:2018-05-08