单片微机原理与应用part-06课件.ppt

上传人(卖家):三亚风情 文档编号:3504434 上传时间:2022-09-08 格式:PPT 页数:70 大小:2.02MB
下载 相关 举报
单片微机原理与应用part-06课件.ppt_第1页
第1页 / 共70页
单片微机原理与应用part-06课件.ppt_第2页
第2页 / 共70页
单片微机原理与应用part-06课件.ppt_第3页
第3页 / 共70页
单片微机原理与应用part-06课件.ppt_第4页
第4页 / 共70页
单片微机原理与应用part-06课件.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、 2022-7-2612022-7-262【基本知识点与要求【基本知识点与要求】(1)了解通信的概念,理解串行通信和并行通信原理。了解通信的概念,理解串行通信和并行通信原理。(2)理解理解串行通信的串行通信的3种方式。种方式。(3)掌握串行通信的标准、掌握串行通信的标准、51系列单片系列单片机串行接口的结构与控制应用方法。机串行接口的结构与控制应用方法。(4)理解理解51系列单片机的系列单片机的通信工作方式及其应用。通信工作方式及其应用。【重点与难点【重点与难点】重点是重点是51系列单片机串行接口的结构与控制应用方法、系列单片机串行接口的结构与控制应用方法、51系系列单片机之间及单片机与列单片

2、机之间及单片机与PC之间的通信。难点是之间的通信。难点是51系列单片机系列单片机之间及单片机与之间及单片机与PC之间的通信。之间的通信。本章首先介绍本章首先介绍串行通信的基本方式串行通信的基本方式;其次介绍;其次介绍51系列单片机系列单片机串行接口的结构与控制串行接口的结构与控制;然后介绍;然后介绍51系列单片机串行接口的工作系列单片机串行接口的工作模式并举例说明应用方法模式并举例说明应用方法;最后介绍;最后介绍51系列单片机之间及单片机系列单片机之间及单片机与与PC之间的通信之间的通信。2022-7-2636.1.1 6.1.1 串行通信的基本方式串行通信的基本方式通信:通信:计算机与计算机

3、之间或者与外设之间的信息交换。计算机与计算机之间或者与外设之间的信息交换。通信的基本方式:通信的基本方式:并行通信和串行通信。并行通信和串行通信。并行通信:并行通信:一个数据编码字符的所有位都同时发送、并排传输,一个数据编码字符的所有位都同时发送、并排传输,又同时被接收的方式。又同时被接收的方式。串行通信:串行通信:一个数据编码字符的所有位按一定顺序,一位接着一一个数据编码字符的所有位按一定顺序,一位接着一 位被发送和接收的方式。位被发送和接收的方式。1.1.异步通信方式:异步通信方式:在异步通信中,数据是以字符为单位进行传送的,一个字符在异步通信中,数据是以字符为单位进行传送的,一个字符又称

4、为一帧信息(或者一帧数据)。又称为一帧信息(或者一帧数据)。按照串行通信数据的时钟同步方式,可分为按照串行通信数据的时钟同步方式,可分为异步通信异步通信方式和方式和同步通信同步通信方式。方式。2022-7-264 起始位:逻辑起始位:逻辑“0”0”,占,占1 1位位。发送器通过发送起始位以发送器通过发送起始位以通知接收端有一个字符数据开始传送,准备接收。通知接收端有一个字符数据开始传送,准备接收。数据位:数据位:起始位之后就是传送的数据位,数据位可以是起始位之后就是传送的数据位,数据位可以是5位、位、6位、位、7位或位或8位,是逻辑位,是逻辑“0”或者逻辑或者逻辑“1”。数据位中,总。数据位中

5、,总是低位在前(左),高位在后(右)。是低位在前(左),高位在后(右)。(1 1)帧结构)帧结构 一帧信息由一帧信息由4部分组成部分组成:起始位、数据位、奇偶校验位和停止位:起始位、数据位、奇偶校验位和停止位。2022-7-265 奇偶校验位:奇偶校验位:位于数据位后,占位于数据位后,占1位。用于对字符传送作位。用于对字符传送作 正确性检查。常有正确性检查。常有3种情况:奇校验、偶校验和无校验。当该位不种情况:奇校验、偶校验和无校验。当该位不用于校验时可作为控制位,用于表征该字符所代表的信息性质用于校验时可作为控制位,用于表征该字符所代表的信息性质(地址(地址/数据)。数据)。停止位:停止位:

6、停止位在最后,用于标志一个字符信息传送结停止位在最后,用于标志一个字符信息传送结束,它对应于逻辑束,它对应于逻辑“1”状态。停止位可以是状态。停止位可以是1位、位、1.5位或者位或者2位。位。两帧信息之间可以无空闲位,也可以有若干空闲位。两帧信息之间可以无空闲位,也可以有若干空闲位。(2 2)波特率()波特率(Baud RateBaud Rate)波特率是指单位时间内传送的信息量。波特率是指单位时间内传送的信息量。当用二进制数位表示当用二进制数位表示时,即为每秒钟传送的二进制位数(也称比特率),单位是时,即为每秒钟传送的二进制位数(也称比特率),单位是bps(或(或b/s),即位),即位/秒。

7、要求接收和发送方保持相同的波特率。秒。要求接收和发送方保持相同的波特率。常常用的波特率是用的波特率是50、75、100、150、300、600、1200、2400、4800、9600、19200位位/秒。秒。2022-7-2662.2.同步通信方式同步通信方式 同步通信是以数据块的方式传送的。每一数据块开头附加一同步通信是以数据块的方式传送的。每一数据块开头附加一个或两个同步字符,在数据块的末尾加差错校验字符。在同步通个或两个同步字符,在数据块的末尾加差错校验字符。在同步通信中,由同一频率的时钟脉冲来实现发送与接收双方的同步。信中,由同一频率的时钟脉冲来实现发送与接收双方的同步。2022-7-

8、2676.1.2 6.1.2 串行通信的数据传送方式串行通信的数据传送方式串行数据通信按照数据传输方向可以分为三种方式。串行数据通信按照数据传输方向可以分为三种方式。1.1.单工单工(Simplex)(Simplex)方式方式 单工方式的数据传送是单方向的单工方式的数据传送是单方向的。通信双方中一方固定为发。通信双方中一方固定为发送端,另一方则固定为接收端。单工方式的串行通信,只需要一送端,另一方则固定为接收端。单工方式的串行通信,只需要一条数据线。如图所示。例如计算机与打印机之间的串行通信就是条数据线。如图所示。例如计算机与打印机之间的串行通信就是单工方式,因为只能是计算机向打印机传送数据,

9、而不可能有相单工方式,因为只能是计算机向打印机传送数据,而不可能有相反方向的数据传送。反方向的数据传送。(a)单工方式)单工方式2022-7-268 半双工方式的数据传送是双向的,但同一时间只能由其中的半双工方式的数据传送是双向的,但同一时间只能由其中的一方发送数据,另一方接收数据,任何一方不可同时发送和接收一方发送数据,另一方接收数据,任何一方不可同时发送和接收数据。数据。因此半双工方式既可以使用一条数据线,也可以使用两条因此半双工方式既可以使用一条数据线,也可以使用两条数据线。如图数据线。如图(b)所示。所示。2.2.半双工半双工(Half-duplex)(Half-duplex)方式方式

10、(b)半双工方式)半双工方式 2022-7-269 3.3.全双工全双工(Full-duplex)(Full-duplex)方式方式 全双工方式的数据传送是双向的,任何一方可以同时发送和全双工方式的数据传送是双向的,任何一方可以同时发送和接收数据,因此全双工方式的串行通信需要两条数据线。如图接收数据,因此全双工方式的串行通信需要两条数据线。如图(c)所示。所示。(c)全双工方式)全双工方式 2022-7-2610 在设计通信接口时,根据需要选择接口标准在设计通信接口时,根据需要选择接口标准(明确定义由若干明确定义由若干条信号线,使接口电路标准化、通用化条信号线,使接口电路标准化、通用化),并考

11、虑传输介质、电平,并考虑传输介质、电平转换等问题。如果是几米的数据传送,只需要转换等问题。如果是几米的数据传送,只需要TXD、RXD和和GND三条线;如果距离小于三条线;如果距离小于15米,采用米,采用RS-232C接口标准,可提高信接口标准,可提高信号幅度加大传送距离。如果是长距离传送,可采用号幅度加大传送距离。如果是长距离传送,可采用RS-422标准。标准。6.1.3 6.1.3 串行通信的接口标准串行通信的接口标准1.RS-232C1.RS-232C标准标准 1969年,美国电子工业协会年,美国电子工业协会(Electronics Industries Association,EIA)将

12、将RS-232C作为串行通信接口标准。作为串行通信接口标准。RS是英是英文文“推荐标准推荐标准”的缩写,的缩写,232为标识号,为标识号,C表示修改次数。该标准表示修改次数。该标准规定数据通信设备(规定数据通信设备(Data Communication Equipment,DCE)使用插座,数据终端设备使用插座,数据终端设备(Data Terminal Equipment,DTE)使用使用插头。插头。2022-7-2611 RS-232C接口标准设有接口标准设有25条信号线,常用的有条信号线,常用的有9条条。因此串。因此串行接口的连接器分为行接口的连接器分为9芯芯D型连接器(插头和插座)和型连

13、接器(插头和插座)和25芯芯D型连型连接器(插头和插座)两种,它们之间的信号对应关系如表所示。接器(插头和插座)两种,它们之间的信号对应关系如表所示。在距离小于在距离小于15米时,计算机、计算机终端和一些外围设备可通过米时,计算机、计算机终端和一些外围设备可通过自身的自身的RS-232C总线,总线,只需要只需要3条连接线,即条连接线,即“发送数据发送数据”、“接收数据接收数据”和和“信号地信号地”,直接将通信双方连接起来进行通信。直接将通信双方连接起来进行通信。RS-232C接口标准是在接口标准是在TTL集成电路之前制定的,所以它的集成电路之前制定的,所以它的电平和电平和TTL电平是不兼容的,

14、不能直接相连电平是不兼容的,不能直接相连。RS-232C接口标准接口标准规定了数据和控制信号的电压范围和逻辑表示,逻辑规定了数据和控制信号的电压范围和逻辑表示,逻辑“0”的电压的电压在在+3V+15V之间,逻辑之间,逻辑“1”的电压在的电压在3V15V之间。之间。2022-7-261225芯芯D型型连接器连接器9芯芯D型型连接器连接器信号名称信号名称信号传信号传送方向送方向含义含义23TXD输出输出数据发送线数据发送线32RXD输入输入数据接收线数据接收线47RTS请求发送(计算机要求发送请求发送(计算机要求发送数据)数据)58CTS清除发送(清除发送(Modem准备接收准备接收数据)数据)6

15、6DSR数据设备准备就绪数据设备准备就绪75SG信号地信号地81DCD数据载波检测数据载波检测204DTR数据终端准备就绪数据终端准备就绪(计算机计算机)229RI振铃指示振铃指示2022-7-26132.RS-422A2.RS-422A标准标准 RS-422A标准电路由发送器、平衡连接电缆、电缆终端负载、标准电路由发送器、平衡连接电缆、电缆终端负载、接收器等部分组成。采用双端线传送信号,可以全双工工作。其接收器等部分组成。采用双端线传送信号,可以全双工工作。其中一条是逻辑中一条是逻辑“1”状态,另一条是逻辑状态,另一条是逻辑“0”状态。发送器采用平状态。发送器采用平衡输出,接收器采用差分输入

16、。通过传输线驱动器,把逻辑电平衡输出,接收器采用差分输入。通过传输线驱动器,把逻辑电平变换成电位差,完成发送端的信息传递;通过传输线接收器,把变换成电位差,完成发送端的信息传递;通过传输线接收器,把电位差变换成逻辑电平,实现接收端的信息接收。电位差变换成逻辑电平,实现接收端的信息接收。RS-422标准在标准在电缆长度不超过电缆长度不超过12米时,最大位速率为米时,最大位速率为10Mb/s;采用低速率;采用低速率90000b/s时,最大传输距离时,最大传输距离1200m。2022-7-26143.RS-4853.RS-485标准标准 RS-485是是RS-422A的一种变型,它只能进行半双工的串

17、行通的一种变型,它只能进行半双工的串行通信,但多站互连时,可节省信号线。因此,信,但多站互连时,可节省信号线。因此,RS-485几乎成了各种几乎成了各种智能仪器的标准接口。智能仪器的标准接口。RS-485扩展了扩展了RS-422A的性能,一个发送的性能,一个发送器能够驱动器能够驱动32个负载设备,负载设备可以是被动发送器、接收器个负载设备,负载设备可以是被动发送器、接收器或收发器。但或收发器。但RS-485没有规定在何时控制发送器发送或接收器接没有规定在何时控制发送器发送或接收器接收的规则,电缆要求比收的规则,电缆要求比RS-422A更严格,采用屏蔽双绞线传输。更严格,采用屏蔽双绞线传输。RS

18、-485主要性能指标如下:主要性能指标如下:2022-7-2615(1)驱动方式)驱动方式:平衡驱动器和差分接收器的组合,抗噪声干扰性好平衡驱动器和差分接收器的组合,抗噪声干扰性好(2)总线容量:)总线容量:32台驱动器;台驱动器;32台接收器。台接收器。(3)最大传输距离:)最大传输距离:1200m,对应的速率为:,对应的速率为:9600b/s。(4)最大传输速率:)最大传输速率:10Mb/s,对应的距离为:,对应的距离为:12m。(5)驱动器输出电压:无负载时为)驱动器输出电压:无负载时为5V;有负载时为有负载时为1.5V。(6)驱动器负载电阻:)驱动器负载电阻:54欧姆欧姆(7)接收器输

19、入电压)接收器输入电压-7V +12V;接收器输入敏感度;接收器输入敏感度200mV;接收器输入电阻接收器输入电阻12千欧千欧 2022-7-2616 为了实现串行通信,单片机必须要有相应的硬件接口电路。该为了实现串行通信,单片机必须要有相应的硬件接口电路。该接口电路作为单片机的一个组成部分,集成在单片机内部。接口电路作为单片机的一个组成部分,集成在单片机内部。AT89S51单片机有一个全双工的串行接口,可作为通用异步接收和单片机有一个全双工的串行接口,可作为通用异步接收和发送器(发送器(UART)使用,也可作同步移位寄存器使用,还可以用于)使用,也可作同步移位寄存器使用,还可以用于网络通信。

20、网络通信。6.2.1 6.2.1 串行接口的结构串行接口的结构 2022-7-2617 AT89S51串行接口串行接口主要主要由两个物理上独立的接收和发送数据由两个物理上独立的接收和发送数据缓冲寄存器(缓冲寄存器(SBUF)、发送控制器、接收控制器、输入移位寄存)、发送控制器、接收控制器、输入移位寄存器和输出控制门等组成器和输出控制门等组成。发送缓冲器发送缓冲器SBUF只能写入,不能读出;接收缓冲器只能写入,不能读出;接收缓冲器SBUF只只能读出,不能写入。虽然两个缓冲寄存器共用同一个物理地址能读出,不能写入。虽然两个缓冲寄存器共用同一个物理地址(99H),但可以使用读),但可以使用读/写指令

21、来区分它们。写指令来区分它们。例如,例如,执行执行MOV SBUF,A指令,使将数据写入发送缓冲器;指令,使将数据写入发送缓冲器;执行执行MOV A,SBUF指令,从接收缓冲器中读取数据。指令,从接收缓冲器中读取数据。串行接口还有两个专用寄存器串行接口还有两个专用寄存器SCON、PCON,SCON用来存用来存放串行接口的控制和状态信息,放串行接口的控制和状态信息,PCON用于改变串行接口通信的波用于改变串行接口通信的波特率,定时器特率,定时器T1作为波特率发生器。作为波特率发生器。2022-7-2618 AT89S51单片机通过引脚单片机通过引脚RXD(P3.0)和引脚)和引脚TXD(P3.1

22、)与与外界进行通信。串行收、发的工作由串行接口来完成。外界进行通信。串行收、发的工作由串行接口来完成。发送时,发送时,CPU执行执行 MOV SBUF,A指令,将数据写入发送缓指令,将数据写入发送缓冲器,启动发送。冲器,启动发送。发送缓冲器中的数据被转换成一定格式的串行数发送缓冲器中的数据被转换成一定格式的串行数据,从据,从TXD(P3.1)引脚上按规定的波特率逐位输出;)引脚上按规定的波特率逐位输出;接收时,要监视接收时,要监视RXD(P3.0)引脚,一旦出现起始位)引脚,一旦出现起始位“0”,就,就一位一位地接收数据,将接收来的一定格式的串行数据转换成并行一位一位地接收数据,将接收来的一定

23、格式的串行数据转换成并行数据,送入接收缓冲器数据,送入接收缓冲器。然后通知。然后通知CPU,CPU执行执行MOV A,SBUF指令指令,从接收缓冲器读取数据。,从接收缓冲器读取数据。6.2.2 6.2.2 串行接口的控制串行接口的控制 1.串行接口状态控制寄存器串行接口状态控制寄存器 SCON SCON用于用于设置设置串行接口通信的串行接口通信的工作模式工作模式、接收接收/发送控制发送控制及及指示指示串行接口的串行接口的中断状态中断状态。该寄存器的字节地址为。该寄存器的字节地址为98H,具有位,具有位寻址功能,位地址为寻址功能,位地址为98H9FH。2022-7-2619(1 1)SM0SM0

24、(SCON.7SCON.7)、)、SM1SM1(SCON.6SCON.6):):串行接口工作模式选择位。串行接口工作模式选择位。可选择可选择4种工作模式,如下表所示。种工作模式,如下表所示。位地址位地址9FH9EH9DH9CH9BH9AH99H98H位功能位功能 SM0SM1SM2RENTB8RB8TIRI11位异步接收发送,波特率可变(由定时器位异步接收发送,波特率可变(由定时器控制)控制)31 121 010位异步接收发送,波特率可变(由定时位异步接收发送,波特率可变(由定时器控制)器控制)10 1同步移位寄存器方式(用于扩展同步移位寄存器方式(用于扩展I/O口),口),波特率为波特率为

25、00 0功能说明功能说明工作模式工作模式 SM0 SM132/oscf12/oscf64/oscf11位异步接收发送,波特率为位异步接收发送,波特率为或或2022-7-2620(2)SM2(SCON.5):):多处理机通信控制位。主要用于模式多处理机通信控制位。主要用于模式2和模式和模式3中。中。模式模式0时时:SM2必须为必须为0。模式模式1时时:若若SM2l,只有接收到有效的停止位时,接收中只有接收到有效的停止位时,接收中断断RI置置“1”,以便接收下一帧数据。,以便接收下一帧数据。模式模式2和模式和模式3时时:SM21,则允许多机通信。在主则允许多机通信。在主-从式多机从式多机通信中,通

26、信中,SM2用于从机的接收控制。用于从机的接收控制。当当SM2=1时,时,只有当从机接只有当从机接收到的第收到的第9位数据(位数据(RB8)为)为“1”时(地址帧),才将收到的前时(地址帧),才将收到的前8位数据送入位数据送入SBUF中,并把中,并把RI置置“1”、同时向、同时向CPU申请中断;若收申请中断;若收到的第到的第9位数据(位数据(RB8)为)为“0”(数据帧),置接收中断标志(数据帧),置接收中断标志RI=0,将接收到的前将接收到的前8位数据丢弃。位数据丢弃。当当SM20时,时,则不论收到的笫则不论收到的笫9位数位数据是据是“0”还是还是“1”,都将前,都将前8位数据装入位数据装入

27、SBUF中,置位中断标志中,置位中断标志RI、并向、并向CPU申请中断。申请中断。2022-7-2621(3)REN(SCON.4):允许串行接收控制位。:允许串行接收控制位。REN1时,允许串行接口接收数据;时,允许串行接口接收数据;REN0时,禁止串行时,禁止串行接口接收数据。接口接收数据。(4)TB8(SCON.3):模式模式2和模式和模式3中该位是要发送的第中该位是要发送的第9位数位数 根据需要由软件置位或复位。在通信协议中,常规定根据需要由软件置位或复位。在通信协议中,常规定TB8作为作为奇偶校验位。在奇偶校验位。在51系列单片机的多机通信中,系列单片机的多机通信中,TB8=0表示数

28、据帧;表示数据帧;TB8=1表示地址帧。在模式表示地址帧。在模式0或模式或模式1中该位未用。中该位未用。(5)RB8(SCON.2):模式):模式2和模式和模式3中接收到的第中接收到的第9位数据位数据。它可以是约定的奇偶校验位,也可以是约定的地址它可以是约定的奇偶校验位,也可以是约定的地址/数据标志位。数据标志位。在多机通信中,在多机通信中,RB8=0表示收到的是数据帧;表示收到的是数据帧;RB8=1表示收到的表示收到的是地址帧。在模式是地址帧。在模式1中,若中,若SM2=0,则,则RB8是接收的停止位。在是接收的停止位。在模式模式0中该位未用。中该位未用。2022-7-2622(6)TI(S

29、CON.1):发送中断标志位。):发送中断标志位。在一帧信息发送结束时由硬件置位。在一帧信息发送结束时由硬件置位。模式模式0中,在发送完中,在发送完8位位数据时置位;在其它模式时,在发送停止位开始时置位。数据时置位;在其它模式时,在发送停止位开始时置位。TI=1表表示示“发送缓冲器已空发送缓冲器已空”,需要通知需要通知CPU可以发送下一帧数据。可以发送下一帧数据。TI位可以查询、也可以作为中断申请标志。位可以查询、也可以作为中断申请标志。该位必须由软件清该位必须由软件清0。(7)RI(SCON.0):接收中断标志位。):接收中断标志位。模式模式0中,接收到第中,接收到第8位数据结束时置位;在其

30、它模式时,在位数据结束时置位;在其它模式时,在接收到停止位的中间时置位。接收到停止位的中间时置位。RI=1表示表示“接收缓冲器已满接收缓冲器已满”,需需要通知要通知CPU可以取走数据。可以取走数据。RI位可以查询、也可以作为中断申请位可以查询、也可以作为中断申请标志。标志。该位必须由软件清零。该位必须由软件清零。2022-7-26232.2.波特率选择寄存器波特率选择寄存器PCONPCON PCON的最高位的最高位SMOD是串行接口波特率倍增控制位,其它是串行接口波特率倍增控制位,其它位与位与CHMOS型单片机低功耗工作方式有关,在第型单片机低功耗工作方式有关,在第2章已经作了介章已经作了介绍

31、。字节地址为绍。字节地址为87H,不能进行位寻址。其格式如下:,不能进行位寻址。其格式如下:D7D6D5D4D3D2D1D0SMOD-GF1GF0PDIDL(1)SMOD串行接口波特率倍增位。串行接口波特率倍增位。当当SMOD=1、单片机在模式、单片机在模式1、模式、模式2和模式和模式3工作时,要比工作时,要比 SMOD=0时的波特率提高时的波特率提高1倍。倍。SMOD=0时,波特率不加倍。系时,波特率不加倍。系统复位后统复位后SMOD=0。2022-7-2624(2)GF1、GF0通用标志位。通用标志位。这两个标志位可供用户使用,可用软件置这两个标志位可供用户使用,可用软件置1或清或清0。(

32、3)PD掉电方式控制位。掉电方式控制位。若若PD=1,单片机进入掉电工作方式。,单片机进入掉电工作方式。(4)IDL待机待机(空闲空闲)方式控制位。方式控制位。若若IDL=1,单片机进入待机工作方式。,单片机进入待机工作方式。串行接口每秒钟发送(或接收)的二进制位数称为串行接口每秒钟发送(或接收)的二进制位数称为波特率。波特率。在异步串行通信中,在异步串行通信中,发送和接收双方发送和接收双方的波特率必须的波特率必须保持一致保持一致。51单片机的串行接口通过编程可设置单片机的串行接口通过编程可设置4种工作模式。其中种工作模式。其中模式模式0 0和模和模式式2 2的波特率是固定的波特率是固定的,而

33、的,而模式模式1 1和模式和模式3 3的波特率是可变的波特率是可变的,由定的,由定时器时器T1的溢出率决定。的溢出率决定。4种工作模式的波特率计算如下。种工作模式的波特率计算如下。6.2.3 6.2.3 波特率设计波特率设计 2022-7-26251.1.模式模式0 0的波特率的波特率 2.2.模式模式2 2的波特率的波特率 模式模式2时的波特率由单片机系统的振荡频率和时的波特率由单片机系统的振荡频率和SMOD位确定。位确定。当当SMOD位位1时,波特率时,波特率1/32 ;当;当SMOD0时,波时,波特率特率1/64。模式模式2的的2232SMODoscf波特率3.3.模式模式1 1和模式和

34、模式3 3的波特率的波特率 模式模式1和和3时的波特率由定时器时的波特率由定时器T1的溢出率和的溢出率和SMOD共同确定。共同确定。在模式在模式0时,每一个机器周期发送或接收一位数据。因此,时,每一个机器周期发送或接收一位数据。因此,模式模式0时的波特率由单片机系统的振荡频率确定。波特率固定时的波特率由单片机系统的振荡频率确定。波特率固定为为 ,不受,不受SMOD位的影响。位的影响。模式模式0的波特率的波特率=12/oscf12/oscf2022-7-2626的溢出率定时器波特率1322modTs定时器定时器T1T1工作于模式工作于模式0 0时,则时,则 TC-211213oscf溢出率若定时

35、器若定时器T1T1工作于模式工作于模式1 1时,则时,则 TC-211216oscf溢出率 若定时器若定时器TlTl工作于模式工作于模式2 2,T1T1为为8 8位可重装的方式,用位可重装的方式,用TL1TL1计计数,用数,用TH1TH1装初值,则装初值,则 TC-21128oscf溢出率 通常定时器通常定时器T1工作在模式工作在模式2,若串行通信选用很低的波特率,若串行通信选用很低的波特率时,可将定时器时,可将定时器T1置于模式置于模式0或模式或模式1。表。表6-3列出了常用的波特列出了常用的波特率及相应的振荡器频率、率及相应的振荡器频率、T1工作模式和计数初值的关系。工作模式和计数初值的关

36、系。2022-7-26276.3 6.3 串行接口的工作模式串行接口的工作模式 6.3.1 6.3.1 模式模式0 0D0D1D2D3D4D5D6D7 当当SM0 SM100时,串行接口工作于模式时,串行接口工作于模式0。模式模式0是同步移是同步移位寄器输入位寄器输入/输出模式,这种模式不能用于两个输出模式,这种模式不能用于两个51系列单片机之间系列单片机之间的串行通信,常用于串行接口外接串行输入并行输出或者并行输的串行通信,常用于串行接口外接串行输入并行输出或者并行输入串行输出的移位寄存器,以扩展并行入串行输出的移位寄存器,以扩展并行I/O接口接口。模式模式0数据传输波特率固定(数据传输波特

37、率固定()。由)。由RXD引脚输入或输出引脚输入或输出串行数据串行数据,由,由TXD引脚输出同步移位脉冲引脚输出同步移位脉冲。接收发送的是。接收发送的是8位数位数据,传输时低位在前。数据帧格式为:据,传输时低位在前。数据帧格式为:12/oscf2022-7-26281.1.模式模式0 0移位输出移位输出 当执行一条写当执行一条写SBUF的指令(的指令(MOV SBUF,A)后,就)后,就启动启动串串行数据的发送。串行行数据的发送。串行数据由数据由RXD引脚移位输出,同步移位脉冲由引脚移位输出,同步移位脉冲由TXD引脚输出引脚输出。8位数据发送完毕后,位数据发送完毕后,TI位由硬件置位,向位由硬

38、件置位,向CPU请请求中断,在下次发送数据之前,必须用求中断,在下次发送数据之前,必须用软件使软件使TI清零清零。模式。模式0的串的串行数据输出时序如图所示。行数据输出时序如图所示。2022-7-26292.2.模式模式0 0移位输入移位输入 当当REN1且且RI位清除位清除时,就会启动一次接收过程。接收器时,就会启动一次接收过程。接收器以以 的波特率接收的波特率接收RXD引脚输入的数据,当接收器接收完引脚输入的数据,当接收器接收完8位数据后,置中断标志位数据后,置中断标志RI=1,向,向CPU申请中断。在再次接收数申请中断。在再次接收数据之前,必须用软件将据之前,必须用软件将RI清零。模式清

39、零。模式0的串行数据输入时序如图的串行数据输入时序如图所示。所示。12/oscf2022-7-26306.3.2 6.3.2 模式模式1 1 SM0 SM10l时,串行接口工作于模式时,串行接口工作于模式1,是串行异步通信方,是串行异步通信方式。式。由由TXD引脚发送数据引脚发送数据,RXD引脚接收数据引脚接收数据。数据传输波特率。数据传输波特率可变,由可变,由T1的溢出率及的溢出率及SMOD位决定,可用程序设定。发送或接位决定,可用程序设定。发送或接收的一帧信息由收的一帧信息由10位组成:位组成:1位起始位(位起始位(0)、)、8位数据位位数据位(低位在低位在前前)和和l位停止位(位停止位(

40、1)。帧格式如下:)。帧格式如下:起始位起始位D0D1D2D3D4D5D6D7停止位停止位1.1.模式模式1 1发送发送 在在TI=0的条件下,当执行任何一条写发送缓冲器的条件下,当执行任何一条写发送缓冲器SBUF的指令的指令时,就启动串行数据的发送过程。发送电路自动在时,就启动串行数据的发送过程。发送电路自动在8位数据的开始位数据的开始和结尾分别添加起始位(逻辑和结尾分别添加起始位(逻辑“0”)和停止位)和停止位 2022-7-2631(逻辑逻辑“1”),在发送移位脉冲作用下,并开始从,在发送移位脉冲作用下,并开始从TXD端发出。一端发出。一帧数据发送完之后,维持帧数据发送完之后,维持TXD

41、端为高电平,并使端为高电平,并使TI标志位置位。标志位置位。由软件清零后,方可发送下一帧数据。模式由软件清零后,方可发送下一帧数据。模式1的发送数据时序如图的发送数据时序如图所示。所示。2.2.模式模式1 1接收接收 模式模式1 1时,在时,在RENREN1 1的条件下,串行接口从的条件下,串行接口从RXDRXD引脚上检测到引脚上检测到一个一个1 1到到0 0的跳变时,就开始接收一帧数据。在接收移位脉冲的控的跳变时,就开始接收一帧数据。在接收移位脉冲的控制下,把收到的数据一位一位地送入移位寄存器,直到制下,把收到的数据一位一位地送入移位寄存器,直到8 8位数据和位数据和停止位全部收到为止。当停

42、止位全部收到为止。当RI=0RI=0且停止位为且停止位为1 1或者或者SM2=0SM2=0时,将时,将 2022-7-2632接收到的接收到的9位数据的前位数据的前8位送入接收数据缓冲器位送入接收数据缓冲器SBUF、第、第9位(停位(停止位)送入止位)送入RB8,同时置位,同时置位RI,该位可供查询或请求中断;否则,该位可供查询或请求中断;否则8位数据不装入接收数据缓冲器位数据不装入接收数据缓冲器SBUF,丢掉接收的结果。模式,丢掉接收的结果。模式1的接收数据时序如下图所示。的接收数据时序如下图所示。2022-7-2633 在接收过程中,接收控制器以波特率的在接收过程中,接收控制器以波特率的1

43、6倍的速率对倍的速率对RXD引引脚进行检测。计数器的脚进行检测。计数器的16个状态把每一位的时间分为个状态把每一位的时间分为16份,将每份,将每一位时间的第一位时间的第7、8、9这这3个脉冲作为真正的对接收信号的采样脉个脉冲作为真正的对接收信号的采样脉冲,取冲,取3个采样值中至少有两个是一致的值,即采用个采样值中至少有两个是一致的值,即采用3中取中取2的方的方法,这样就可以抑制噪声干扰。同时,由于每一位时间的第法,这样就可以抑制噪声干扰。同时,由于每一位时间的第7、8、9这这3个脉冲对应于每一位的中间值。这样可避免发送端与接收端个脉冲对应于每一位的中间值。这样可避免发送端与接收端的波特率差异带

44、来的错位或漏码发生。的波特率差异带来的错位或漏码发生。2022-7-2634 SM0 SM110时,串行接口工作于模式时,串行接口工作于模式2、为异步通信接口,、为异步通信接口,常用于多机通信。由常用于多机通信。由TXD引脚发送数据,引脚发送数据,RXD引脚接收数据。一引脚接收数据。一帧数据由帧数据由11位组成,位组成,1位起始位(逻辑位起始位(逻辑“0”)、)、8位数据位位数据位(低位在低位在前前)、1位可编程位(逻辑位可编程位(逻辑“0/1”)和)和1位停止位(逻辑位停止位(逻辑“l”)。帧)。帧格式如下:格式如下:6.3.3 6.3.3 模式模式2 2起始位起始位D0D1D2D3D4D5

45、D6D7可编可编程位程位停止位停止位1.1.模式模式2 2发送发送 发送前,根据通信协议由软件设置发送前,根据通信协议由软件设置TB8(作奇偶校验位或地(作奇偶校验位或地址址/数据标志位),然后在数据标志位),然后在TI=0的条件下,将要发送的数据写入的条件下,将要发送的数据写入SBUF,即启动发送。串行接口能自动将,即启动发送。串行接口能自动将TB8取出并发送出去。发取出并发送出去。发送完毕送完毕TI位置位置“1”。模式。模式2发送数据时序如图所示。发送数据时序如图所示。2022-7-26352.2.模式模式2 2接收接收 当当REN=1REN=1时,允许接收时,允许接收。接收时,数据由。接

46、收时,数据由RXDRXD端输入,接收端输入,接收1111位信息。位信息。当检测到当检测到RXDRXD引脚从引脚从1 1到到0 0的跳变,并判断起始位有效后,的跳变,并判断起始位有效后,便开始接收一帧数据便开始接收一帧数据。在接收到第。在接收到第9 9位数据后,需满足以下两个条位数据后,需满足以下两个条件,才能将接收到的件,才能将接收到的8 8数据送入数据送入SBUFSBUF(接收缓冲器),第(接收缓冲器),第9 9位数据位数据送入送入RB8RB8,同时置位,同时置位RIRI。2022-7-2636 (1)RI0。即上一帧数据接收完毕时发出的中断请求已被。即上一帧数据接收完毕时发出的中断请求已被

47、响应,响应,SBUF中数据已被取走中数据已被取走 (2)SM20或接收到的停止位或接收到的停止位1。若第若第9位是奇偶校验位位是奇偶校验位(单机通信时)应使(单机通信时)应使SM2=0,以保证可靠接收;若第,以保证可靠接收;若第9位作为地址位作为地址/数据标志位(数据标志位(多机通信多机通信),),应使应使SM2=1,则当接收的第,则当接收的第9位数据位数据为为1时,接收的信息为地址。时,接收的信息为地址。若以上两个条件中有一个不满足,将丢失接收到的这一帧信若以上两个条件中有一个不满足,将丢失接收到的这一帧信息。模式息。模式2接收数据时序如图所示。接收数据时序如图所示。2022-7-26376

48、.3.4 6.3.4 模式模式3 3 SM0 SM1SM0 SM11111,选择模式,选择模式3 3。模式。模式3 3同样是串行异步通信方式,同样是串行异步通信方式,其一帧数据格式、接收、发送过程与模式其一帧数据格式、接收、发送过程与模式2 2完全相同,所不同的是完全相同,所不同的是波特率。模式波特率。模式3 3的波特率和模式的波特率和模式1 1相同由相同由T1T1的溢出率及的溢出率及SMODSMOD位共同位共同决定。决定。6.3.5 6.3.5 串行接口的初始化与应用编程方法举例串行接口的初始化与应用编程方法举例 1.1.串行接口的初始化串行接口的初始化 串行接口使用前,串行接口使用前,CP

49、U必须将一些命令(称为控制字)写入必须将一些命令(称为控制字)写入串行接口寄存器中,串行接口寄存器中,这个过程称为初始化这个过程称为初始化。串行接口的初始化包。串行接口的初始化包括:设置括:设置SCON和和PCON,T1做波特率发生器时还有进行做波特率发生器时还有进行T1的初的初始化。初始化的步骤为:始化。初始化的步骤为:(1)选择串行口工作模式,确定模式控制字,并写入)选择串行口工作模式,确定模式控制字,并写入SCON中;中;(2)对)对PCON设波特率加倍位设波特率加倍位“SMOD”(缺省值(缺省值=0););2022-7-2638 如果是接收数据,要先置位如果是接收数据,要先置位REN。

50、(3)如果)如果T1做波特率发生器,还要进行做波特率发生器,还要进行T1的初始化,包括:的初始化,包括:选定时器工作模式选定时器工作模式2;将计算(或查表)得到的初值赋值给;将计算(或查表)得到的初值赋值给TH1、TL1;启动;启动T1;T1关中断。关中断。2.2.串行接口的应用编程方法举例串行接口的应用编程方法举例 【例题【例题6-16-1】设有甲、乙两个单片机系统(距离设有甲、乙两个单片机系统(距离5米以内),将它米以内),将它们的串行接口交叉相连,以实现全双工的双机通信。设甲机发送数们的串行接口交叉相连,以实现全双工的双机通信。设甲机发送数据,乙机接收数据。待发送的数据是标准的据,乙机接

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片微机原理与应用part-06课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|