9.2 at89c51 的串行接口
DESCRIPTION
9.2 AT89C51 的串行接口. 9.2.1 串行接口的结构及功能 AT89C51 串行口的结构框图如图 9-8 所示,主要由发送器、接收器和串行控制寄存器组成。. 图 9-8 AT89C51 串行口结构框图. 1 .发送器和接收器 发送器主要由发送缓冲寄存器 SBUF 和发送控制器组成。 接收器主要由接收缓冲寄存器 SBUF ,接收移位寄存器和接收控制器组成。. 2 .串行口控制寄存器 - PowerPoint PPT PresentationTRANSCRIPT
第 9章 串行接口及串行通信技术
9.2 AT89C51 的串行接口 9.2.1 串行接口的结构及功能 AT89C51 串行口的结构框图如图 9-8 所示,主要由
发送器、接收器和串行控制寄存器组成。
第 9章 串行接口及串行通信技术
Ãŵç·
·¢ËÍ¿ØÖÆÆ÷
¡Ý1
½ÓÊÕ¿ØÖÆÆ÷
ÊäÈëÒÆλ¼Ä´æÆ÷
·¢ËÍSBUF(99H)
½ÓÊÕSBUF(99H)
ͬ²½Ê±ÖÓ
´®ÐпڿØÖƼĴæÆ÷
(98H)
ÄÚ²¿×ÜÏß
´®ÐпÚÖжÏTI
RI
TXD(P3.1)
RXD(P3.0)
图 9-8 AT89C51 串行口结构框图
第 9章 串行接口及串行通信技术
1 .发送器和接收器 发送器主要由发送缓冲寄存器 SBUF 和发送控制器
组成。 接收器主要由接收缓冲寄存器 SBUF ,接收移位
寄存器和接收控制器组成。
第 9章 串行接口及串行通信技术
2 .串行口控制寄存器 串行口控制寄存器 SCON 用于设置串行口的工作方
式、监视串行口工作状态、发送与接收的状态控制等。它是一个既可字节寻址又可位寻址的特殊功能寄存器。其格式如图 9-9 所示。
第 9章 串行接口及串行通信技术
SCON
λµØÖ·
SM0 SM1 SM2 REN TB8 RB8 TI RI
9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
图 9-9 控制寄存器 SCON 的格式
第 9章 串行接口及串行通信技术
SCON 寄存器各位的功能如下: (1) SM0 、 SM1 :串行口工作方式选择位,可构成
四种工作方式,如表 9-1 所示。 (2) SM2 :在方式 2 和方式 3 中多机通信的控制位。 (3) REN :串行接收允许位。 (4) TB8 :在方式 2 或方式 3 中,是将要发送的第九
位数据,由软件置位或清零,它可作为数据奇偶校验位,也可在多机通信中作为地址帧或数据帧的标志位使用。
第 9章 串行接口及串行通信技术 表 9-1 串行口工作方式选择
SM0 SM1 工作方式 功 能 波特率0 00 11 01 1
方式 0方式 1方式 2方式 3
同步移位寄存器10 位异步收发11 位异步收发11 位异步收发
fosc/12可变fosc/64 或 fosc/
32 可变
第 9章 串行接口及串行通信技术
(5) RB8 :在方式 2 或方式 3 中,是已接收到的第九位数据,可作为奇偶校验位。
(6) TI :发送中断标志位。 (7) RI :接收中断标志位,方式 0 中,在接收完第
八位数据时由硬件置位。 电源控制寄存器 PCON 中的第八位也与串行口有
关,如图 9-10 所示。 (8) SMOD :为波特率选择位。
第 9章 串行接口及串行通信技术
PCON
λµØÖ·
SMOD ¡ª ¡ª ¡ª GF1 GF0 PD IDL
8EH 8DH 8CH 8BH 8AH 89H 88H 87H
图 9-10 电源控制寄存器 PCON 的格式
第 9章 串行接口及串行通信技术 9.2.2 串行通信的工作方式 1 .工作方式 0
在方式 0 下,串行口是作为同步移位寄存器使用的。其波特率固定为单片机振荡频率 (fosc) 的 1/12 ,串行传送数据 8 位为一帧 ( 没有起始、停止、奇偶校验位 ) 。由 RXD(P3.0) 端输出或输入,低位在前,高位在后。TXD(P3.1) 端输出同步移位脉冲,可以作为外部扩展的移位寄存器的移位时钟,因而串行口方式 0 常用于扩展外部并行 I/O 口。
串行发送时,外部可扩展一片 ( 或几片 ) 串入并出的移位寄存器,如图 9-11 所示。
第 9章 串行接口及串行通信技术
图 9-11 方式 0 扩展并行输出口
第 9章 串行接口及串行通信技术
串行接收时,外部可扩展一片 ( 或几片 ) 并入串出的移位寄存器,如图 9-12 所示。当由软件使 REN 置为 1 , RI=0 时,即启动串行口以方式 0 接收数据。
第 9章 串行接口及串行通信技术
图 9-12 方式 0 扩展并行输入口
第 9章 串行接口及串行通信技术 2 .工作方式 1
在方式 1 下,串行口工作在 10 位异步通信方式,发送或接收一帧信息中,除 8 位数据移位外,还包含一个起始位 (0) 和一个停止位 (1) ,其波特率是可变的。
工作方式 1 的波特率是可变的,由定时器 T1 的计数溢出率决定。相应的公式为
波特率 = × 定时器 T1 溢出率32
2SMOD
第 9章 串行接口及串行通信技术 定时器 T1 的计数溢出率计算公式为
定时器 T1 溢出率 = 值 初 1T21
12fosc
K
式中, K 为定时器 T1 的位数,与定时器 T1 的工作方式有关 ( 见第 5 章介绍 ) ,则波特率计算公式为
波特率 = 值 初 1T2
112
fosc32
2K
SMOD
第 9章 串行接口及串行通信技术
3 .工作方式 2
在方式 2 下,串行口工作在 11 位异步通信方式。一帧信息包含一个起始位“ 0” ,八个数据位,一个可编程第九数据位和一个停止位“ 1” 。其中可编程位是 SCON 中的 TB8 位,在八个数据位之后,可作奇偶校验位或地址 / 数据帧的标志位使用,由使用者确定。方式2 的波特率是固定的。
第 9章 串行接口及串行通信技术 4 .工作方式 3
在方式 3 下,串行口同样工作在 11 位异步通信方式,其通信过程与方式 2 完全相同,所不同的是波特率,方式 3 的波特率由定时器 T1 的计数溢出率决定,确定方法与工作方式 1 中的完全一样。
第 9章 串行接口及串行通信技术 表 9-2 常用波特率及误差
晶振频率 /MHz 波特率 /Hz SMOD TH1 包装初值 实际波特率 误差12.00 9600 1 F9H 8923 7 %12.00 4800 0 F9H 4460 7 %12.00 2400 0 F3H 2404 0.16 %12.00 1200 0 E6H 1202 0.16 %
11.0592 19 200 1 FDH 19 200 0
11.0592 9600 0 FDH 9600 0
11.0592 4800 0 EAH 4800 0
11.0592 2400 0 F4H 2400 0
11.0592 1200 0 E8H 1200 0
第 9章 串行接口及串行通信技术
9.2.3 多机通信 AT89C51 单片机串行口工作在方式 2 或方式 3 时,
可实现多机通信功能,即一台主机和多台从机之间通信,如图 9-13 所示。
当主机向从机发送信息时,主机首先发送一个地址帧,此帧数据的第九数据位 TB8 应设置为“ 1” ,以表示是地址帧, 8 位数据位是某台从机的地址。
第 9章 串行接口及串行通信技术
TXD
RXD
89C51Ö÷»ú
TXD RXD
89C2051´Ó»ú1
TXD RXD
89C2051´Ó»ú2
TXD RXD
89C2051´Ó»ú3
图 9-13 多机通信连接图
第 9章 串行接口及串行通信技术
这种通信只能在主从机之间进行,从机之间的通信需经主机作中介才能实现。经过上面分析,多机通信的过程可总结如下:
(1) 主、从机均初始化为方式 2 或方式 3 ,且置 SM2=1 , REN=1 ,串行开中断。
(2) 主机置位 TB8=1 ,向从机发送寻址地址帧,各从机因满足接收条件 (SM2=1 , RB8=1) ,从而接收到主机发来的地址,并与本机地址比较。
第 9章 串行接口及串行通信技术 (3) 地址一致的从机将 SM2 清零,并向主机返回地
址,供主机核对,不一致的从机恢复初始状态。 (4) 主机核对返回的地址,若与刚才发出的地址一致
则准备发送数据,若不一致则返回 (1) 重新开始。 (5) 主机向从机发送数据,此时主机 TB8=0 ,只有
被选中的那台从机能接收到该数据,其他从机则舍弃该数据。
(6) 本次通信结束后,主从机重新置 SM2=1 ,又可进行新一次的通信。