第四章中断、定时与串口串行口与串行通信串行通信的基本特征是数据逐位顺序进行传送串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平……等)不同,形成了多种串行通信的协议与接口标准。常见的有:☞通用异步收发器(UART)——本课程介绍的串口☞通用串行总线(USB)☞I2C总线☞CAN总线☞SPI总线☞RS-485,RS-232C,RS422A标准……等等串行通信☞数据通信的几个术语:并行:数据各位同时进行传送串行:数据逐位顺序进行传送☞数据通信的制式单工:数据仅按一个固定方向传送;全双工:(串行通信)收/发可同时进行半双工:(串行通信)收/发不可同时进行☞同步方式:以:以数据块为单位进行数据传送,包为单位进行数据传送,包括括同步字符、、数据块和和校验字符CRCCRC。。☞异步方式:以以字符为单位进行数据传送,每一为单位进行数据传送,每一个字符均个字符均按固定的字符格式传送,又被称为帧。,又被称为帧。51单片机的串行接口SBUF(发)SBUF(收)发送控制器TI接收控制器RI移位寄存器波特率发生器T11A累加器(门)移位寄存器RxDTxD去申请中断引脚引脚CPU内部串行口的结构☞两个同名的接收/发送缓冲寄存器SBUF指令MOVSBUF,A启动一次数据发送,可向SBUF再发送下一个数指令MOVA,SBUF完成一次数据接收,SBUF可再接收下一个数☞接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对RI/TI清0,以备下一次收/发。☞串行口相关的SFR(SCON,PCON)SM0SM1SM2RENTB8RB8TIR1SCON☞SM0,SM1:串行口4种工作方式的选择位。00方式0:8位移位寄存器I/O,波特率固定为fosc/1201方式1:8位UART(1+8+1位),波特率可变,按公式计算10方式2:9位UART(1+8+1+1位),波特率固定=fosc×1/32或1/6411方式3:9位UART(1+8+1+1位),波特率可变,按公式计算☞SM2:串行口多机通信控制位(作为方式2、方式3的附加控制位)串行口控制寄存器SCON(98H)☞RI,TI:串行口收/发数据申请中断标志位=1申请中断;=0不申请中断☞TB8:方式2、3中,是要发送的第9位数据。多机通信中,TB8=0表示发送的是数据;TB8=1表示发送的是地址。(或作为奇偶校验)TB8由软件置“1”或清“0”☞RB8:在方式2、3中,是收到的第9位数据。在多机通信中,用作区别地址帧/数据帧的标志。(或作为奇偶校验)SM0SM1SM2RENTB8RB8TIR1☞REN:串行口接收允许控制位=1表示允许接收;=0禁止接收。SCONSMOD———GF1GF0PD1DL电源控制寄存器PCON(97H)P.123——特殊功能寄存器PCON不能按位寻址——☞SMOD:在串行口工作方式1、2、3中,是波特率加倍位=1时,波特率加倍=0时,波特率不加倍。(在PCON中只有这一个位与串口有关)☞GF1,GF0:用户可自行定义使用的通用标志位PCON☞PD:掉电控制位=0:常规方式。=1:掉电方式:振荡器停振片内RAM和SRF不变P0—P3口维持原状程序停止只有复位能退出掉电☞IDL:待机控制位=0:常规方式。=1:待机方式:振荡器继续振荡中断,定时器,串口有效片内RAM和SRF不变CPU状态,P0—P3维持原状程序停顿。中断和复位能退出待机,继续后面的程序。SMOD———GF1GF0PD1DLPCON串行口工作方式0工作方式0:8位移位寄存器I/O方式☞发送:SBUF中的串行数据由RxD逐位移出;TxD输出移位时钟,频率=fosc1/12;每送出8位数据TI就自动置1;需要用软件清零TI。☞接收:串行数据由RxD逐位移入SBUF中;TxD输出移位时钟,频率=fosc1/12;每接收8位数据RI就自动置1;需要用软件清零RI。☞经常配合“串入并出”“并入串出”移位寄存器一起使用扩展接口。☞方式0工作时,多用查询方式编程:发送:MOVSBUF,A接收:JNBRI,$JNBTI,$CLRRICLRTIMOVA,SBUF工作方式0:8位移位寄存器I/O方式(续)☞复位时,SCON已经被清零,缺省值:方式0。☞接收前,务必先置位REN=1允许接收数据。特点:串行口做同步移位寄存器用,其波特率为fosc/12.在这种模式下RXD(P3.0)做数据口;TXD(P3.1)做移位脉冲输出端.在移位过程中,先移数据的低位.注意:移位脉冲的频率就是模式0的波特率.串行口方式0的扩展应用——经常用到模式0的主要功能是:可以使用一个串行口来扩展出8位、16位等并行口,且理论上可以扩展...