Uart接口串行通信的基本特征是串行通信的基本特征是串行通信的基本特征是串行通信的基本特征是数据数据数据数据逐位顺序逐位顺序逐位顺序逐位顺序进行传送进行传送进行传送进行传送串行通信的格式及约定(如:同步方式、通讯速串行通信的格式及约定(如:同步方式、通讯速串行通信的格式及约定(如:同步方式、通讯速串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平率、数据块格式、信号电平率、数据块格式、信号电平率、数据块格式、信号电平……………………等)不同,形成等)不同,形成等)不同,形成等)不同,形成了多种串行通信的协议与接口标准。了多种串行通信的协议与接口标准。了多种串行通信的协议与接口标准。了多种串行通信的协议与接口标准。常见的有:常见的有:常见的有:常见的有: 通用异步收发器通用异步收发器通用异步收发器通用异步收发器((((UARTUARTUARTUART)))) 通用串行总线通用串行总线通用串行总线通用串行总线((((USBUSBUSBUSB)))) IIII2222CCCC总线总线总线总线 CANCANCANCAN总线总线总线总线 SPISPISPISPI总线总线总线总线 RS-485RS-485RS-485RS-485,,,,RS-232CRS-232CRS-232CRS-232C,,,,RS422ARS422ARS422ARS422A标准标准标准标准……………………等等等等等等等等串行通信全双工串行接口全双工串行接口全双工串行接口全双工串行接口(UART)(UART)(UART)(UART) 数据通信的数据通信的数据通信的数据通信的几个术语:几个术语:几个术语:几个术语:并行并行并行并行:数据各位:数据各位:数据各位:数据各位同时同时同时同时进行传送进行传送进行传送进行传送串行串行串行串行:数据:数据:数据:数据逐位顺序逐位顺序逐位顺序逐位顺序进行传送进行传送进行传送进行传送 全双工全双工全双工全双工:(:(:(:(串行通信串行通信串行通信串行通信))))收收收收////发发发发可同时可同时可同时可同时进行进行进行进行半双工半双工半双工半双工:(:(:(:(串行通信串行通信串行通信串行通信))))收收收收////发发发发不可不可不可不可同时进行同时进行同时进行同时进行 异步串行通信异步串行通信异步串行通信异步串行通信::::以以以以字符字符字符字符为单位进行传送为单位进行传送为单位进行传送为单位进行传送同步串行通信同步串行通信同步串行通信同步串行通信::::以以以以数据块数据块数据块数据块为单位进行传送为单位进行传送为单位进行传送为单位进行传送波特率波特率波特率波特率(bps.)(bps.)(bps.)(bps.)::::单位时间传送的位数单位时间传送的位数单位时间传送的位数单位时间传送的位数51单片机的串行接口SBUFSBUFSBUFSBUF((((发)发)发)发)SBUFSBUFSBUFSBUF((((收)收)收)收)发送控制器发送控制器发送控制器发送控制器TITITITI接收控制器接收控制器接收控制器接收控制器RIRIRIRI移位寄存器移位寄存器移位寄存器移位寄存器波波波波特特特特率率率率发发发发生生生生器器器器T1T1T1T1≥≥≥≥1111AAAA累累累累加加加加器器器器((((门门门门))))移位寄存器移位寄存器移位寄存器移位寄存器RxDRxDRxDRxDTxDTxDTxDTxD去申请中断去申请中断去申请中断去申请中断引脚引脚引脚引脚引脚引脚引脚引脚CPUCPUCPUCPU内内内内部部部部串行口的结构 两个同名的两个同名的两个同名的两个同名的接收接收接收接收////发送缓冲寄存器发送缓冲寄存器发送缓冲寄存器发送缓冲寄存器SBUFSBUFSBUFSBUF指令指令指令指令MOVSBUFMOVSBUFMOVSBUFMOVSBUF,,,,AAAA启动一次数据发送启动一次数据发送启动一次数据发送启动一次数据发送,,,,可向可向可向可向SBUFSBUFSBUFSBUF再发送下一个数再发送下一个数再发送下一个数再发送下一个数指令指令指令指令MOVAMOVAMOVAMOVA,,,,SBUFSBUFSBUFSBUF完成一次数据接收完成一次数据接收完成一次数据接收完成一次数据接收,SBUF,SBUF,SBUF,SBUF可再可再可再可再接收下一个数接收下一个数接收下一个数接收下一个数 接收接收接收接收////发送数据发送数据发送数据发送数据,,,,无论是否采用中断方式无论是否采用中断方式无论是否采用中断方式无论是否采用中断方式工作工作工作工作,,,,每接收每接收每接收每接收////发送一个数据都必须用指发送一个数据都必须用指发送一个数据都必须用指发送一个数据都必须用指令对令对令对令对RI/TIRI/TIRI/TIRI/TI清清清清0000,以备下一次收,以备下一次收,以备下一次收,以备下一次收////发。发。发。发。 串行口相关的串行口相关的串行口相关的串行口相关的SFRSFRSFRSFR(SCON,PCON)(SCON,PCON)(SCON,PCON)(SCON,PCON)SM0SM1SM0SM1SM0SM1SM0SM1SM2SM2SM2SM2RENRENRENRENTB8RB8TB8RB8TB8RB8TB8RB8TIR1TIR1TIR1TIR1SCON SM0SM0SM0SM0,,,,SM1SM1SM1SM1::::串行口串行口串行口串行口4444种工作方式的选择位。种工作方式的选择位。种工作方式的选择位。种工作方式的选择位。00000000方式方式方式方式0000::::8888位移位寄存器位移位寄存器位移位寄存器位移位寄存器I/O,I/O,I/O,I/O,波特率波特率波特率波特率固定固定固定固定为为为为ffffoscoscoscosc/12/12/12/1201010101方式方式方式方式1111::::8888位位位位UARTUARTUARTUART((((1111+8++8++8++8+1111位)位)位)位),,,,波特率波特率波特率波特率可变可变可变可变,,,,按公式计算按公式计算按公式计算按公式计算10101010方式方式方式方式2222::::9999位位位位UARTUARTUARTUART((((1111+8+1++8+1++8+1++8+1+1111位)位)位)位),,,,波特率波特率波特率波特率固定固定固定固定====ffffoscoscoscoscx1/32x1/32x1/32x1/32或或或或1/641/641/641/6411111111方式方式方式方式3333::::9999位位位位UARTUARTUARTUART((((1111+8+1++8+1++8+1++8+1+1111位)位)位)位),,,,波特率波特率波特率波特率可变可变可变可变,按公式计算,按公式计算,按公式计算,按公式计算 SM2SM2SM2SM2::::串行口串行口串行口串行口多机通信多机通信多机通信多机通信控制位控制位控制位控制位(作为方式(作为方式(作为方式(作为方式2222、方式、方式、方式、方式3333的的的的附加控制位附加控制位附加控制位附加控制位))))串行口控制寄存器SCON(98H) RI,TIRI,TIRI,TIRI,TI::::串行口收串行口收串行口收串行口收////发数据申请中断标志位发数据申请中断标志位发数据申请中断标志位发数据申请中断标志位====1111申请中断;申请中断;申请中断;申请中断;====0000不申请中断不申请中断不申请中断不申请中断 TB8TB8TB8TB8::::方式方式方式方式2222、、、、3333中,是要发送的第中,是要发送的第中,是要发送的第中,是要发送的第9999位数据。位数据。位数据。位数据。多机通信中多机通信中多机通信中多机通信中,TB8=0,TB8=0,TB8=0,TB8=0表示发送的是数据;表示发送的是数据;表示发送的是数据;表示发送的是数据;TB8=1TB8=1TB8=1TB8=1表示发送的是地址。(奇偶校验)表示发送的是地址。(奇偶校验)表示发送的是地址。(奇偶校验)表示发送的是地址。(奇偶校验) RB8RB8RB8RB8::::在方式在方式在方式在方式2222、、、、3333中,是收到的第中,是收到的第中,是收到的第中,是收到的第9999位数据。位数据。位数据。位数据。在多机通信中在多机通信中在多机通信中在多机通信中,,,,用作区别地址帧用作区别地址帧用作区别地址帧用作区别地址帧////数据帧的数据帧的数据帧的数据帧的标志。(奇偶校验)标志。(奇偶校验)标志。(奇偶校验)标志。(奇偶校验)SM0SM1SM0SM1SM0SM1SM0SM1SM2SM2SM2SM2RENRENRENRENTB8RB8TB8RB8TB8RB8TB8RB8TIR1TIR1TIR1TIR1 RENRENRENREN::::串行口接收允许控制位串行口接收允许控制位串行口接收允许控制位串行口接收允许控制位=1=1=1=1表示允许接收;表示允许接收;表示允许接收;表示允许接收;=0=0=0=0禁止接收。禁止接收。禁止接收。禁止接收。SCONSMODSMODSMODSMOD————————————GF1GF0GF1GF0GF1GF0GF1GF0PDPDPDPD1DL1DL1DL1DL电源控制寄存器PCON(97H)————————特殊功能寄存器PCON不能按位寻址———————— SMODSMODSMODSMOD::::在串行口工作方式在串行口工作方式在串行口工作方式在串行口工作方式1111、、、、2222、、、、3333中,中,中,中,是是是是波特率加倍位波特率加倍位波特率加倍位波特率加倍位=1=1=1=1时,波特率加倍时,波特率加倍时,波特率加倍时,波特率加倍=0=0=0=0时,波特率不加倍。时,波特率不加倍。时,波特率不加倍。时,波特率不加倍。((((在在在在PCONPCONPCONPCON中只有这一个位与串口有关中只有这一个位与串口有关中只有这一个位与串口有关中只有这一个位与串口有关)))) GF1,GF0GF1,GF0GF1,GF0GF1,GF0::::用户可自行定义使用的通用标志位用户可自行定义使用的通用标志位用户可自行定义使用的通用标志位用户可自行定义使用的通用标志位PCON PDPDPDPD::::掉电方式控制位掉电方式控制位掉电方式控制位掉电方式控制位=0=0=0=0::::常规工作方式。常规工作方式。常规工作方式。常规工作方式。=1=1=1=1::::进入掉电方式进入掉电方式进入掉电方式进入掉电方式::::����振荡器振荡器振荡器振荡器停振停振停振停振����片内片内片内片内RAMRAMRAMRAM和和和和SRFSRFSRFSRF的值保持不变的值保持不变的值保持不变的值保持不变����P0P0P0P0————P3P3P3P3口维持原状。口维持原状。口维持原状。口维持原状。����程序程序程序程序停止停止停止停止只有复位能使之退出掉电方式。只有复位能使之退出掉电方式。只有复位能使之退出掉电方式。只有复位能使之退出掉电方式。SMODSMODSMODSMOD————————————GF1GF0GF1GF0GF1GF0GF1GF0PDIDLPDIDLPDIDLPDIDLPCON IDLIDLIDLIDL::::待机方式待机方式待机方式待机方式((((空闲方式空闲方式空闲方式空闲方式))))控制位控制位控制位控制位=0=0=0=0::::常规工作方式。常规工作方式。常规工作方式。常规工作方式。=1=1=1=1::::进入待机方式:进入待机方式:进入待机方式:进入待机方式:����振荡器振荡器振荡器振荡器继续振荡继续振荡继续振荡继续振荡����中断中断中断中断、、、、定时器定时器定时器定时器、、、、串口串口串口串口功能继续有效功能继续有效功能继续有效功能继续有效����片内片内片内片内RAMRAMRAMRAM和和和和SRFSRFSRFSRF保持不变保持不变保持