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
