1 / 22

9.2 AT89C51 的串行接口

9.2 AT89C51 的串行接口. 9.2.1 串行接口的结构及功能 AT89C51 串行口的结构框图如图 9-8 所示,主要由发送器、接收器和串行控制寄存器组成。. 图 9-8 AT89C51 串行口结构框图. 1 .发送器和接收器 发送器主要由发送缓冲寄存器 SBUF 和发送控制器组成。 接收器主要由接收缓冲寄存器 SBUF ,接收移位寄存器和接收控制器组成。. 2 .串行口控制寄存器

Télécharger la présentation

9.2 AT89C51 的串行接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9.2 AT89C51的串行接口 • 9.2.1 串行接口的结构及功能 • AT89C51串行口的结构框图如图9-8所示,主要由发送器、接收器和串行控制寄存器组成。

  2. 图9-8 AT89C51串行口结构框图

  3. 1.发送器和接收器 • 发送器主要由发送缓冲寄存器SBUF和发送控制器组成。 • 接收器主要由接收缓冲寄存器SBUF,接收移位寄存器和接收控制器组成。

  4. 2.串行口控制寄存器 • 串行口控制寄存器SCON用于设置串行口的工作方式、监视串行口工作状态、发送与接收的状态控制等。它是一个既可字节寻址又可位寻址的特殊功能寄存器。其格式如图9-9所示。

  5. 图9-9 控制寄存器SCON的格式

  6. SCON寄存器各位的功能如下: • (1)  SM0、SM1:串行口工作方式选择位,可构成四种工作方式,如表9-1所示。 • (2)  SM2:在方式2和方式3中多机通信的控制位。 • (3)  REN:串行接收允许位。 • (4)  TB8:在方式2或方式3中,是将要发送的第九位数据,由软件置位或清零,它可作为数据奇偶校验位,也可在多机通信中作为地址帧或数据帧的标志位使用。

  7. SM0 SM1 工作方式 功  能 波特率 0 0 0 1 1 0 1 1 方式0 方式1 方式2 方式3 同步移位寄存器 10位异步收发 11位异步收发 11位异步收发 fosc/12 可变 fosc/64或fosc/32 可变 • 表9-1 串行口工作方式选择

  8. (5)  RB8:在方式2或方式3中,是已接收到的第九位数据,可作为奇偶校验位。 • (6)  TI:发送中断标志位。 • (7)  RI:接收中断标志位,方式0中,在接收完第八位数据时由硬件置位。 • 电源控制寄存器PCON中的第八位也与串行口有关,如图9-10所示。 • (8)  SMOD:为波特率选择位。

  9. 图9-10 电源控制寄存器PCON的格式

  10. 9.2.2 串行通信的工作方式 • 1.工作方式0 • 在方式0下,串行口是作为同步移位寄存器使用的。其波特率固定为单片机振荡频率(fosc)的1/12,串行传送数据8位为一帧(没有起始、停止、奇偶校验位)。由RXD(P3.0)端输出或输入,低位在前,高位在后。TXD(P3.1)端输出同步移位脉冲,可以作为外部扩展的移位寄存器的移位时钟,因而串行口方式0常用于扩展外部并行I/O口。 • 串行发送时,外部可扩展一片(或几片)串入并出的移位寄存器,如图9-11所示。

  11. 图9-11 方式0扩展并行输出口

  12. 串行接收时,外部可扩展一片(或几片)并入串出的移位寄存器,如图9-12所示。当由软件使REN置为1,RI=0时,即启动串行口以方式0接收数据。

  13. 图9-12 方式0扩展并行输入口

  14. 2.工作方式1 • 在方式1下,串行口工作在10位异步通信方式,发送或接收一帧信息中,除8位数据移位外,还包含一个起始位(0)和一个停止位(1),其波特率是可变的。 • 工作方式1的波特率是可变的,由定时器T1的计数溢出率决定。相应的公式为 • 波特率= ×定时器T1溢出率

  15. 定时器T1溢出率= • 定时器T1的计数溢出率计算公式为 式中,K为定时器T1的位数,与定时器T1的工作方 式有关(见第5章介绍),则波特率计算公式为 波特率=

  16. 3.工作方式2 • 在方式2下,串行口工作在11位异步通信方式。一帧信息包含一个起始位“0”,八个数据位,一个可编程第九数据位和一个停止位“1”。其中可编程位是SCON中的TB8位,在八个数据位之后,可作奇偶校验位或地址/数据帧的标志位使用,由使用者确定。方式2的波特率是固定的。

  17. 4.工作方式3 • 在方式3下,串行口同样工作在11位异步通信方式,其通信过程与方式2完全相同,所不同的是波特率,方式3的波特率由定时器T1的计数溢出率决定,确定方法与工作方式1中的完全一样。

  18. 晶振频率/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-2 常用波特率及误差

  19. 9.2.3 多机通信 • AT89C51单片机串行口工作在方式2或方式3时,可实现多机通信功能,即一台主机和多台从机之间通信,如图9-13所示。 • 当主机向从机发送信息时,主机首先发送一个地址帧,此帧数据的第九数据位TB8应设置为“1”,以表示是地址帧,8位数据位是某台从机的地址。

  20. 图9-13 多机通信连接图

  21. 这种通信只能在主从机之间进行,从机之间的通信需经主机作中介才能实现。经过上面分析,多机通信的过程可总结如下:这种通信只能在主从机之间进行,从机之间的通信需经主机作中介才能实现。经过上面分析,多机通信的过程可总结如下: • (1) 主、从机均初始化为方式2或方式3,且置SM2=1,REN=1,串行开中断。 • (2) 主机置位TB8=1,向从机发送寻址地址帧,各从机因满足接收条件(SM2=1,RB8=1),从而接收到主机发来的地址,并与本机地址比较。

  22. (3) 地址一致的从机将SM2清零,并向主机返回地址,供主机核对,不一致的从机恢复初始状态。 • (4) 主机核对返回的地址,若与刚才发出的地址一致则准备发送数据,若不一致则返回(1)重新开始。 • (5) 主机向从机发送数据,此时主机TB8=0,只有被选中的那台从机能接收到该数据,其他从机则舍弃该数据。 • (6) 本次通信结束后,主从机重新置SM2=1,又可进行新一次的通信。

More Related