串行通信及其接口.ppt

上传人:cl****1 文档编号:570606135 上传时间:2024-08-05 格式:PPT 页数:86 大小:1.76MB
返回 下载 相关 举报
串行通信及其接口.ppt_第1页
第1页 / 共86页
串行通信及其接口.ppt_第2页
第2页 / 共86页
串行通信及其接口.ppt_第3页
第3页 / 共86页
串行通信及其接口.ppt_第4页
第4页 / 共86页
串行通信及其接口.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《串行通信及其接口.ppt》由会员分享,可在线阅读,更多相关《串行通信及其接口.ppt(86页珍藏版)》请在金锄头文库上搜索。

1、单片机应用技术单片机应用技术单片机应用技术主讲教师:主讲教师:苏晓龙苏晓龙全校公共选修课全校公共选修课计算机学院信息科学系计算机学院信息科学系办公室:计办公室:计A315-1答疑地点:答疑地点:计计A315-1E-mail:单片机应用技术单片机应用技术第第7章章 串行通信及其接口串行通信及其接口7.1串行通信的基本概念串行通信的基本概念7.2 MCS-51的串行口的串行口7.3 串行口的控制串行口的控制7.4 串行口的串行口的应用应用单片机应用技术单片机应用技术7.1 串行通信的基本概念串行通信的基本概念返回本章首页计算机与外部的信息交换称为通信计算机与外部的信息交换称为通信计算机与外部的信息

2、交换称为通信计算机与外部的信息交换称为通信, ,基本的通信方基本的通信方基本的通信方基本的通信方式有两种式有两种式有两种式有两种: : 并行通信并行通信并行通信并行通信(parallel communication)和和和和串行串行串行串行通信通信通信通信(serial communication)。 并行通信:并行通信:所传送数据的各位同时发送或接收。所传送数据的各位同时发送或接收。串行通信:串行通信:所传送数据的各位按顺序一所传送数据的各位按顺序一位一位地发送或接收。位一位地发送或接收。并行通信并行通信并行通信并行通信: : 速度快速度快速度快速度快, ,但成本高但成本高但成本高但成本高,

3、 ,传输距离受限传输距离受限传输距离受限传输距离受限; ;串行通信串行通信串行通信串行通信: : 通信线少通信线少通信线少通信线少, ,传输距离远传输距离远传输距离远传输距离远, ,但速度较慢但速度较慢但速度较慢但速度较慢单片机应用技术单片机应用技术7.1 串行通信的基本概念串行通信的基本概念返回本章首页图图7.1 并行通信与串行通信并行通信与串行通信(a) 并行通信;并行通信; (b) 串行通信串行通信 单片机应用技术单片机应用技术7.1 串行通信的基本概念串行通信的基本概念一一一一、串行通信按数据流传输方向分串行通信按数据流传输方向分1 1 、单工单工单工单工(Simplex)(Simpl

4、ex) 两个传输站点之间一方只能发送两个传输站点之间一方只能发送两个传输站点之间一方只能发送两个传输站点之间一方只能发送, ,另一方只能接收另一方只能接收另一方只能接收另一方只能接收TA ARB B数据流数据流数据流数据流2 2 、半双工半双工半双工半双工(Half Duplex)(Half Duplex) 两个传输站点之间任何一方都能发送数据,但由两个传输站点之间任何一方都能发送数据,但由两个传输站点之间任何一方都能发送数据,但由两个传输站点之间任何一方都能发送数据,但由于设备之间只有一条通信线路,在同一时刻只能在一于设备之间只有一条通信线路,在同一时刻只能在一于设备之间只有一条通信线路,在

5、同一时刻只能在一于设备之间只有一条通信线路,在同一时刻只能在一个方向上传输数据,如对讲机。个方向上传输数据,如对讲机。个方向上传输数据,如对讲机。个方向上传输数据,如对讲机。TA ATB B数据流数据流数据流数据流RR单片机应用技术单片机应用技术串行通信的基本概念串行通信的基本概念一、一、一、一、串行通信按数据流传输方向分串行通信按数据流传输方向分两个传输站点之间双方使用不同的通信线路两个传输站点之间双方使用不同的通信线路两个传输站点之间双方使用不同的通信线路两个传输站点之间双方使用不同的通信线路, ,同时同时同时同时发送和接收数据发送和接收数据发送和接收数据发送和接收数据. .如电话。如电话

6、。如电话。如电话。3 3 、全双工全双工全双工全双工(Full Duplex)(Full Duplex)TA ARB BRT数据流数据流数据流数据流数据流数据流数据流数据流单片机应用技术单片机应用技术串行通信的基本概念串行通信的基本概念二、二、串行通信的两种基本工作方式串行通信的两种基本工作方式异步方式、同步方式。异步方式、同步方式。异步方式、同步方式。异步方式、同步方式。 所有串行通信都需要一个时钟信号来作为数据的定所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟来决定何时发送和读时参考。发送器和接收器用时钟来决定何时发送和读取每一位数据。取每一位数据。 根据采用根据

7、采用统一时钟统一时钟还是还是本地局部时钟本地局部时钟,分为,分为同步传同步传输输和和异步传输异步传输两种。两种。 同步传输用一个时钟确定一个数据位。同步传输用一个时钟确定一个数据位。 异步传输用多个时钟确定一个数据位。异步传输用多个时钟确定一个数据位。单片机应用技术单片机应用技术串行通信的基本概念串行通信的基本概念二、二、串行通信的两种基本工作方式串行通信的两种基本工作方式 不发送数据时,传输线呈现高电平不发送数据时,传输线呈现高电平不发送数据时,传输线呈现高电平不发送数据时,传输线呈现高电平(MARK(MARK状态状态状态状态) )。1 、异步方式异步方式(Asynchronous) 采用不

8、同的编码方案采用不同的编码方案采用不同的编码方案采用不同的编码方案, ,发送字符可为发送字符可为发送字符可为发送字符可为5,6,7,5,6,7,或或或或8 8位位位位; ;采用奇校验采用奇校验采用奇校验采用奇校验, ,保证保证保证保证“ “1”1”的个数为奇数;采用偶校验的个数为奇数;采用偶校验的个数为奇数;采用偶校验的个数为奇数;采用偶校验, ,保证保证保证保证 11的个数为偶数的个数为偶数的个数为偶数的个数为偶数; ; 异步串行通信数据格式异步串行通信数据格式: :单片机应用技术单片机应用技术串行通信的基本概念串行通信的基本概念二、二、串行通信的两种基本工作方式串行通信的两种基本工作方式1

9、 、异步方式异步方式(Asynchronous)例例: : 发送一个由发送一个由8位数据位构成的字符位数据位构成的字符45H,奇校,奇校 验、验、1位停止位。位停止位。停止位可以是停止位可以是停止位可以是停止位可以是1, 1.51, 1.5或或或或2 2位。位。位。位。异步传输先发送低位异步传输先发送低位(LSB)单片机应用技术单片机应用技术异步传输的时钟定时方法异步传输的时钟定时方法:数据数据(61H)100011停停止止位位发送方利用内部时钟来决定什么时候发送每个位发送方利用内部时钟来决定什么时候发送每个位接收方检测开始信号的下降沿,然后利用接收方检测开始信号的下降沿,然后利用它的内部时钟

10、从每一位的中间接收该位它的内部时钟从每一位的中间接收该位00起起始始位位LSBMSB串行通信的基本概念串行通信的基本概念单片机应用技术单片机应用技术串行通信的基本概念串行通信的基本概念2 、同步方式同步方式(Synchronous)格式格式格式格式: :同步字符同步字符 字符字符1 字符字符2 字符字符n 校验字符校验字符数据块数据块 不发送数据时,传输线呈现高电平不发送数据时,传输线呈现高电平不发送数据时,传输线呈现高电平不发送数据时,传输线呈现高电平(MARK(MARK(MARK(MARK状态状态状态状态) ) ) )。 同步字符可以为同步字符可以为同步字符可以为同步字符可以为1 1个或个

11、或个或个或2 2个个个个。根据双方约定,接收方监测到同步字符后,接收被根据双方约定,接收方监测到同步字符后,接收被根据双方约定,接收方监测到同步字符后,接收被根据双方约定,接收方监测到同步字符后,接收被发送的字符流;将接收到的字符转换成并行数据发送的字符流;将接收到的字符转换成并行数据发送的字符流;将接收到的字符转换成并行数据发送的字符流;将接收到的字符转换成并行数据。内同步、外同步。内同步、外同步。内同步、外同步。内同步、外同步。单片机应用技术单片机应用技术同步传输的时钟定时方法同步传输的时钟定时方法 : : 数据数据(61H)1位位1100001先发送高位先发送高位(MSB) 发送方在时钟

12、信号的下降沿发送字节发送方在时钟信号的下降沿发送字节接收方在时钟信号的上升沿接收字节接收方在时钟信号的上升沿接收字节时钟时钟串行通信的基本概念串行通信的基本概念0同步通信的帧格式:同步通信的帧格式:同步传输需要定义一个帧的开同步传输需要定义一个帧的开始和结束。通常用始和结束。通常用1个同步字符个同步字符(标志符标志符)来表示。来表示。单片机应用技术单片机应用技术串行通信的基本概念串行通信的基本概念三、三、串行传送速率串行传送速率在串行通信中,常用在串行通信中,常用波特率波特率来表示数据传输的速率。来表示数据传输的速率。波特率:每秒传送的二进制位数。波特率:每秒传送的二进制位数。波特率:每秒传送

13、的二进制位数。波特率:每秒传送的二进制位数。单位:单位:单位:单位:波特波特波特波特 BdBd如串行通信规定:一个串行字符包括如串行通信规定:一个串行字符包括如串行通信规定:一个串行字符包括如串行通信规定:一个串行字符包括1 1个起始位,个起始位,个起始位,个起始位,7 7个个个个数据位,数据位,数据位,数据位,1 1个奇偶校验位和个奇偶校验位和个奇偶校验位和个奇偶校验位和1 1个停止位,共个停止位,共个停止位,共个停止位,共1010个数据位个数据位个数据位个数据位构成,每秒传送构成,每秒传送构成,每秒传送构成,每秒传送120120个字符,则波特率为:个字符,则波特率为:个字符,则波特率为:个

14、字符,则波特率为: 1010位位位位/ /字符字符字符字符 120120字符字符字符字符/ /秒秒秒秒=1200=1200位位位位/ /秒秒秒秒 传送每一位占用的时间为:传送每一位占用的时间为:传送每一位占用的时间为:传送每一位占用的时间为: 1 1秒秒秒秒/1200=0.833/1200=0.833毫秒毫秒毫秒毫秒 波特率因子波特率因子:发送:发送/接收时钟与波特率之比。接收时钟与波特率之比。单片机应用技术单片机应用技术7.2 MCS-51的串行口的串行口7.2.1 串行口的结构串行口的结构7.2.2 串行口的工作方式串行口的工作方式7.2.3 波特率的计算波特率的计算返回本章首页单片机应用

15、技术单片机应用技术MCS-51有一个可编程的全双工串行通信接口,有一个可编程的全双工串行通信接口,可作为通用异步接收可作为通用异步接收/发送器发送器(UART- Universal Asychronous Receiver/Transmitter),也可作为同步,也可作为同步移位寄存器。其帧格式可为移位寄存器。其帧格式可为8位、位、10位、位、11位,并可位,并可设置多种不同的波特率。它通过引脚设置多种不同的波特率。它通过引脚RXD和和TXD与与外界进行通信。外界进行通信。7.2.1 串行口的结构串行口的结构单片机应用技术单片机应用技术MCS-51内部有两个物理上独立的接收、发送缓内部有两个物

16、理上独立的接收、发送缓冲器冲器SBUF。SBUF属于特殊功能寄存器。一个用于属于特殊功能寄存器。一个用于存放接收到的数据,另一个用于存放欲发送的数据,存放接收到的数据,另一个用于存放欲发送的数据,可同时发送和接收数据。两个缓冲器共用一个地址可同时发送和接收数据。两个缓冲器共用一个地址99H,通过对,通过对SBUF的读、写指令来区别是对接收缓的读、写指令来区别是对接收缓冲器还是对发送缓冲器进行操作。冲器还是对发送缓冲器进行操作。CPU在写在写SBUF时,时,就是修改发送缓冲器;读就是修改发送缓冲器;读SBUF,就是读接收缓冲器,就是读接收缓冲器的内容。接收或发送数据,是通过串行口对外的两的内容。

17、接收或发送数据,是通过串行口对外的两条独立收发信号线条独立收发信号线RXD(P3.0)、TXD(P3.1)来实现的,来实现的,因此可以同时发送、接收数据。串行口的结构如图因此可以同时发送、接收数据。串行口的结构如图7.3所示。所示。7.2.1 串行口的结构串行口的结构单片机应用技术单片机应用技术图图7.3 串行口结构示意图串行口结构示意图7.2.1 串行口的结构串行口的结构单片机应用技术单片机应用技术7.2.1 串行口的结构串行口的结构1串行口控制寄存器串行口控制寄存器SCON图图7-6 SCON格式格式SCON位地址位地址SM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9

18、BH9AH99H98H D7D6D5 D4 D3 D2 D1 D0该寄存器的字节地址为该寄存器的字节地址为98H,可位寻址。可位寻址。SCON格格式如图式如图7-6所示。所示。其各位的含义如下:其各位的含义如下:SM0、SM1串行口串行口4种工作方式的选择位。串行口种工作方式的选择位。串行口的的4种工作方式如表种工作方式如表7.1所示。所示。单片机应用技术单片机应用技术表表8.1 串行口的串行口的4种工作方式种工作方式1串行口控制寄存器串行口控制寄存器SCON单片机应用技术单片机应用技术SM2多机通信控制位,用于方式多机通信控制位,用于方式2或方式或方式3中。中。1串行口控制寄存器串行口控制寄

19、存器SCON当串行口以方式当串行口以方式2或方式或方式3接收时,如果接收时,如果SM2=1,只有当接收到的第只有当接收到的第9位数据位数据(RB8)为为“1”时,才将接收时,才将接收到的前到的前8位数据送入位数据送入SBUF,并将,并将RI置置“1”,产生中断,产生中断请求;当接收到的第请求;当接收到的第9位数据位数据(RB8)为为“0”时,则将接时,则将接收到的前收到的前8位数据丢弃。如果位数据丢弃。如果SM2=0,则不论第,则不论第9位数位数据是据是“1”还是还是“0”,都将前,都将前8位数据送入位数据送入SBUF中,中,并将并将RI置置“1”,产生中断请求。,产生中断请求。在方式在方式1

20、时,如果时,如果SM2=1,则只有收到停止位时才,则只有收到停止位时才会激活会激活RI。在方式。在方式0时,时,SM2必须为必须为0。单片机应用技术单片机应用技术REN 允许串行接收位,由软件置允许串行接收位,由软件置“1”或清或清“0”。REN=1时,允许串行口接收数据;时,允许串行口接收数据;REN=0时,禁止串行口接收数据。时,禁止串行口接收数据。1串行口控制寄存器串行口控制寄存器SCONTB8 发送的第发送的第9位数据。方式位数据。方式2和方式和方式3时,时,TB8是是要发送的第要发送的第9位数据,可作为奇偶校验位使用,位数据,可作为奇偶校验位使用,也可作为地址帧或数据帧的标志。其中,

21、也可作为地址帧或数据帧的标志。其中,TB8=1为地址帧,为地址帧,TB8=0为数据帧。为数据帧。RB8 接收到的第接收到的第9位数据。方式位数据。方式2和方式和方式3时,时,RB8存放接收到的第存放接收到的第9位数据。在方式位数据。在方式1,如果,如果SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0,不使用不使用RB8。单片机应用技术单片机应用技术TI 发送中断标志位。发送中,发送中断标志位。发送中,TI必须保持零电平。必须保持零电平。方式方式0时,串行发送第时,串行发送第8位数据结束时由硬件置位数据结束时由硬件置“1”。其它工作方式,串行口发送停止位的开。其它工作方式,串

22、行口发送停止位的开始时置始时置“1”。TI=1,表示一帧数据发送结束,表示一帧数据发送结束,可供软件查询,也可申请中断。可供软件查询,也可申请中断。CPU响应中断响应中断后,在中断服务程序中向后,在中断服务程序中向SBUF写入要发送的下写入要发送的下一帧数据,一帧数据,TI必须由软件再清必须由软件再清“0”。 1串行口控制寄存器串行口控制寄存器SCONRI 接收中断标志位。接收中接收中断标志位。接收中RI必须保持零电平。必须保持零电平。方式方式0时,接收完第时,接收完第8位数据时,位数据时,RI由硬件置由硬件置1。其它工作方式,串行口接收到停止位时,该位其它工作方式,串行口接收到停止位时,该位

23、置置“1”。RI=1,表示一帧数据接收完毕,并申,表示一帧数据接收完毕,并申请中断请中断,要求要求CPU从接收从接收SBUF取走数据。该位取走数据。该位的状态也可供软件查询。如果再接收,的状态也可供软件查询。如果再接收,RI必须必须由软件再清由软件再清“0”。单片机应用技术单片机应用技术2特殊功能寄存器特殊功能寄存器PCON图图7-7 PCON格式格式返回本节其其字字节节地地址址为为87H,没没有有位位寻寻址址功功能能。PCON的的格式如图格式如图7-7所示,其中与串行接口有关的只有所示,其中与串行接口有关的只有D7位。位。SMODD7D6D5D4D3D2D1D0 SMOD:波特率选择位。当:

24、波特率选择位。当SMOD=1时,比时,比SMOD=0时的波特率加倍,因此也称时的波特率加倍,因此也称SMOD位为波特率倍增位。位为波特率倍增位。单片机应用技术单片机应用技术7.2.2 串行口的工作方式串行口的工作方式串行口工作方式单片机应用技术单片机应用技术方式方式0为同步移位寄存器输入为同步移位寄存器输入/输出方式,常用于输出方式,常用于外接移位寄存器,以扩展并行外接移位寄存器,以扩展并行I/O口。口。8位数据为一帧,位数据为一帧,不设起始位和停止位,先发送或接收最低位。波特率不设起始位和停止位,先发送或接收最低位。波特率固定为固定为fosc/12。方式方式0发送发送 当当CPU执行一条将数

25、据写入发送缓冲执行一条将数据写入发送缓冲器器SBUF的指令时,产生一个正脉冲,串行口即把的指令时,产生一个正脉冲,串行口即把SBUF中的中的8位数据以位数据以fosc/12的固定波特率从的固定波特率从RXD引脚引脚串行输出,低位在先,串行输出,低位在先,TXD引脚输出同步移位脉冲,引脚输出同步移位脉冲,发送完发送完8位数据后将中断标志位位数据后将中断标志位TI置置“1”。时序如图。时序如图7.8所示。所示。7.2.2 串行口的工作方式串行口的工作方式1方式方式0单片机应用技术单片机应用技术图图7.8 方式方式0发、收时序发、收时序7.2.2 串行口的工作方式串行口的工作方式RI单片机应用技术单

26、片机应用技术方式方式0接收接收 方式方式0接收时,接收时,REN为串行口接收为串行口接收允许接收控制位,允许接收控制位,REN=0,禁止接收。,禁止接收。方式方式0下,下,SCON中的中的TB8、RB8位没有用到,位没有用到,发送或接收完发送或接收完8位数据由硬件将位数据由硬件将TI或中断标志位或中断标志位RI置置“1”,CPU响应中断。响应中断。TI或或RI标志位须由用户标志位须由用户软件清软件清“0”,可采用如下指令:,可采用如下指令:CLR TI;TI位清位清“0”CLR RI ;RI位清位清“0”方式方式0时,时,SM2位位(多机通信控制位多机通信控制位)必须为必须为0。7.2.2 串

27、行口的工作方式串行口的工作方式单片机应用技术单片机应用技术2 方式方式17.2.2 串行口的工作方式串行口的工作方式方式方式1用于数据的串行发送和接收。用于数据的串行发送和接收。TXD脚和脚和RXD脚分别用于发送和接收数据。脚分别用于发送和接收数据。方式方式1收、发一帧的数据为收、发一帧的数据为10位,位,1位起始位位起始位(0),8位数据位,位数据位,1位停止位位停止位(1),先发送或接收最低位。,先发送或接收最低位。波特率由下式确定:波特率由下式确定:方式方式1波特率波特率=(2SMOD/32)定时器定时器T1的溢出率的溢出率SMOD为为PCON寄存器的最高位的值寄存器的最高位的值(0或或

28、1)。单片机应用技术单片机应用技术方式方式1发送发送 方式方式1输出时,数据位由输出时,数据位由TXD端输出。端输出。当当CPU执行一条数据写发送缓冲器执行一条数据写发送缓冲器SBUF的指令时,的指令时,就启动发送。图就启动发送。图7.9(a)TX时钟的频率就是发送的波特时钟的频率就是发送的波特率。发送开始时,内部发送控制信号变为有效,将起率。发送开始时,内部发送控制信号变为有效,将起始位向始位向TXD输出。此后,每经过一个输出。此后,每经过一个TX时钟周期,时钟周期,便产生一个移位脉冲,并由便产生一个移位脉冲,并由TXD输出一个数据位。输出一个数据位。8位数据位全部发送完毕后,中断标志位位数

29、据位全部发送完毕后,中断标志位TI置置“1”。TI必须由用户清必须由用户清0,以便下一次发送。,以便下一次发送。2 方式方式17.2.2 串行口的工作方式串行口的工作方式单片机应用技术单片机应用技术图图7.9 方式方式1发、收时序发、收时序(a) 发送时序;发送时序;(b) 接收时序接收时序单片机应用技术单片机应用技术方式方式1接收接收 接收数据的时序如图接收数据的时序如图7.9(b)所示。当所示。当CPU采样到采样到RXD端从端从1到到0的跳变时的跳变时(3次采样中至少次采样中至少2次有效次有效),开始接收数据。一帧数据接收完毕以后,开始接收数据。一帧数据接收完毕以后,必须同时满足以下两个条

30、件,这次接收才真正有效,必须同时满足以下两个条件,这次接收才真正有效,然后然后RI自动置自动置1。(1) RI=0。(2) SM2=0或收到的停止位或收到的停止位=1。若这两个条件不满足,则收到的数据不能装入若这两个条件不满足,则收到的数据不能装入SBUF,该帧数据将丢失。中断标志,该帧数据将丢失。中断标志RI必须由用户清必须由用户清0,以便下一次接收。通常情况下,串口以方式,以便下一次接收。通常情况下,串口以方式1工作工作时,时,SM2=0。 2 方式方式17.2.2 串行口的工作方式串行口的工作方式单片机应用技术单片机应用技术3 方式方式27.2.2 串行口的工作方式串行口的工作方式方式方

31、式2为为9位异步通信方式。每帧数据均为位异步通信方式。每帧数据均为11位,位,1位起始位位起始位0,8位数据位位数据位(先低位先低位),1位可程控的第位可程控的第9位数据和位数据和1位停止位。位停止位。方式方式2的波特率由下式确定:的波特率由下式确定:方式方式2波特率波特率=(2SMOD/64)fosc方式方式2发送前,先根据通信协议由软件设置发送前,先根据通信协议由软件设置SCON中的中的TB8(例如,双机通信时的奇偶校验位或多机通信例如,双机通信时的奇偶校验位或多机通信时的地址时的地址/数据的标志位数据的标志位)。方式。方式2发送数据波形如图发送数据波形如图7.10所示。所示。单片机应用技

32、术单片机应用技术图图7.10 方式方式2发送时序发送时序单片机应用技术单片机应用技术方式方式2接收接收 SM0、SM1=10,且,且REN=1。数据。数据由由RXD端输入,接收端输入,接收11位信息。当位检测逻辑采样位信息。当位检测逻辑采样到到RXD引脚从引脚从1到到0的负跳变,并判断起始位有效后,的负跳变,并判断起始位有效后,便开始接收一帧信息。在接收完第便开始接收一帧信息。在接收完第9位数据后,需满位数据后,需满足以下两个条件,才能将接收到的数据送入足以下两个条件,才能将接收到的数据送入SBUF。 (1) RI=0,意味着接收缓冲器为空。,意味着接收缓冲器为空。(2) SM2=0或接收到的

33、第或接收到的第9位数据位位数据位RB8=1。3 方式方式27.2.2 串行口的工作方式串行口的工作方式当上述两个条件满足时,接收到的数据送入当上述两个条件满足时,接收到的数据送入SBUF(接收缓冲器接收缓冲器),第,第9位数据送入位数据送入SCON中的中的RB8,并将并将RI置置“1”。若不满足这两个条件,则接收的信息。若不满足这两个条件,则接收的信息将被丢弃。将被丢弃。单片机应用技术单片机应用技术串行口方式串行口方式2接收数据的时序波形如图接收数据的时序波形如图7.11所示。所示。由方式由方式2的的TI,RI也必须由用户清也必须由用户清0,才能进行下,才能进行下一次的发送和接收。一次的发送和

34、接收。3 方式方式27.2.2 串行口的工作方式串行口的工作方式图图7.11 方式方式2接收时序接收时序单片机应用技术单片机应用技术4方式方式3 当当SM0SM1=11时,串行口工作在方式时,串行口工作在方式3。方式。方式3为为波特率可变的波特率可变的9位异步通信方式,除了波特率外,方式位异步通信方式,除了波特率外,方式3和方式和方式2相同。相同。 方式方式3的波特率由下式确定:的波特率由下式确定: 方式方式3波特率波特率=(2SMOD/32)定时器定时器T1的溢出率的溢出率 返回本节方式方式3发送和接收数据的时序波形见方式发送和接收数据的时序波形见方式2的图的图(图图7.10和图和图7.11

35、)。单片机应用技术单片机应用技术7.2.3 波特率的计算波特率的计算表7-2 波特率计算公式单片机应用技术单片机应用技术方式方式0和方式和方式2的波特率是固定的;方式的波特率是固定的;方式1和方式和方式3的波特率可由定时器的波特率可由定时器T1的溢出率来确定。的溢出率来确定。7.2.3 波特率的计算波特率的计算(1) 方式方式0时时,波特率固定为时钟频率,波特率固定为时钟频率fosc的的1/12,且不受且不受SMOD位的值的影响。若位的值的影响。若fosc=12 MHz,则波,则波特率为特率为fosc/12,即,即1 Mb/s。(2) 方式方式2时时,波特率与,波特率与SMOD位的值有关。位的

36、值有关。方式方式2波特率波特率=(2SMOD/64)fosc若若fosc=12 MHz,则当,则当SMOD=0时,波特率时,波特率=187.5 kb/s;当;当SMOD=1时,波特率时,波特率=375 kb/s。单片机应用技术单片机应用技术(3) 串行口工作在方式串行口工作在方式1或方式或方式3时时,常用定时器,常用定时器T1作为波特率发生器,其波特率为:作为波特率发生器,其波特率为:波特率波特率=(2SMOD/64)T1的溢出率的溢出率7.2.3 波特率的计算波特率的计算实际设定波特率时,实际设定波特率时,T1常设置为方式常设置为方式2定时定时(自自动装初值动装初值),这种方式不仅操作方便,

37、也可避免因软,这种方式不仅操作方便,也可避免因软件重装初值而带来的定时误差。件重装初值而带来的定时误差。实际使用时,经常根据已知波特率和时钟频率实际使用时,经常根据已知波特率和时钟频率来计算来计算T1的初值。为避免繁杂的初值计算,常用的的初值。为避免繁杂的初值计算,常用的波特率和初值间的关系列成表波特率和初值间的关系列成表7.3,以供查用。,以供查用。单片机应用技术单片机应用技术表表7.3 定时器定时器T1产生的常用波特率产生的常用波特率7.2.3 波特率的计算波特率的计算单片机应用技术单片机应用技术表表7.3中有两点需要注意:中有两点需要注意:7.2.3 波特率的计算波特率的计算 时钟振荡频

38、率为时钟振荡频率为12 MHz或或6 MHz时,表中初值和时,表中初值和相应的波特率之间有一定误差。相应的波特率之间有一定误差。例如,例如,FDH的对应的理论值是的对应的理论值是10416波特波特(时钟时钟6 MHz ),与,与9600波特相差波特相差816波特。波特。消除误差可以通过调整时钟振荡频率消除误差可以通过调整时钟振荡频率fosc来来实现。例如采用的时钟振荡频率为实现。例如采用的时钟振荡频率为11.0592 MHz。 如果串行通信选用很低的波特率,例如,波特率如果串行通信选用很低的波特率,例如,波特率选为选为55,可将定时器,可将定时器T1设置为方式设置为方式1定时。但在定时。但在这

39、种情况下,这种情况下,T1溢出时,需要在中断服务程序中溢出时,需要在中断服务程序中重新装入初值。中断响应时间和执行指令时间会重新装入初值。中断响应时间和执行指令时间会使波特率产生一定的误差,可用改变初值的方法使波特率产生一定的误差,可用改变初值的方法加以调整。加以调整。单片机应用技术单片机应用技术例:例:若若51单片机的时钟振荡频率为单片机的时钟振荡频率为11.0592 MHz,选,选用用T1为方式为方式2定时作为波特率发生器,波特率为定时作为波特率发生器,波特率为2400 b/s,求初值。,求初值。 结果可直接从表结果可直接从表7.3中查到,为中查到,为F4H。这里因时钟振荡频率选为这里因时

40、钟振荡频率选为11.0592 MHz,计算过,计算过程中无余数,可使初值为整数,从而产生精确的波特程中无余数,可使初值为整数,从而产生精确的波特率。率。7.2.3 波特率的计算波特率的计算单片机应用技术单片机应用技术4. 波特率的自动检测波特率的自动检测 在分布式多波特率通信系统中,常常要求从设在分布式多波特率通信系统中,常常要求从设备在软件上能做到波特率随主设备自动调整,使系备在软件上能做到波特率随主设备自动调整,使系统适应性更强,智能化程度更高。当然,一般情况统适应性更强,智能化程度更高。当然,一般情况下,波特率自动检测的范围仅限于标准波特率。下,波特率自动检测的范围仅限于标准波特率。7.

41、2.3 波特率的计算波特率的计算单片机应用技术单片机应用技术常用实现波特率自动检测的方法有常用实现波特率自动检测的方法有3种:种: (1) 从设备启动通信程序后,逐一选择标准波特从设备启动通信程序后,逐一选择标准波特率,向主设备发送某个事先约定的握手代码,直到率,向主设备发送某个事先约定的握手代码,直到收到主设备发回的确认码,即可判定通信波特率。收到主设备发回的确认码,即可判定通信波特率。 (2) 利用串行异步通信每一帧起始位为低电平、利用串行异步通信每一帧起始位为低电平、停止位为高电平,用定时器记录每帧长度,从而判停止位为高电平,用定时器记录每帧长度,从而判定系统通信波特率。定系统通信波特率

42、。 (3) 利用主设备发送某一特殊码型,从设备收到利用主设备发送某一特殊码型,从设备收到的码值会随主设备的波特率不同而不同,当从机收的码值会随主设备的波特率不同而不同,当从机收到约定的特殊码型时,便可确认系统的通信波特率。到约定的特殊码型时,便可确认系统的通信波特率。7.2.3 波特率的计算波特率的计算单片机应用技术单片机应用技术7.3 串行口的控制串行口的控制7.3.1 主从机间的通信主从机间的通信7.3.2 RS-232C串行接口标准及应用串行接口标准及应用返回本章首页单片机应用技术单片机应用技术7.3.1 主从机间的通信主从机间的通信1双机串行异步通信双机串行异步通信利用串行口可以实现两

43、台机器间的全双工通信。利用串行口可以实现两台机器间的全双工通信。如图如图7.12所示。所示。 设甲乙两台机器按全双工方式收发设甲乙两台机器按全双工方式收发ASCII码字符,码字符,数据位为数据位为8位,其中最高一位用来作奇偶校验位,采位,其中最高一位用来作奇偶校验位,采用偶校验方式,要求传送的波特率为用偶校验方式,要求传送的波特率为1200 b/s。假设。假设发送缓冲区发送缓冲区OUTBUF首址为片内首址为片内RAM 60H,接收缓,接收缓冲区冲区INBUF首址为首址为RAM 70H,时钟频率,时钟频率fosc=6 MHz,试编写有关的通信程序。试编写有关的通信程序。 单片机应用技术单片机应用

44、技术图图7.12 双机通信系统双机通信系统单片机应用技术单片机应用技术1) 确定通信方式确定通信方式根据系统要求,通信双方要相互约定:根据系统要求,通信双方要相互约定: 7位位ASCII码加码加1位校验位共位校验位共8位数据,故可采用串行口方位数据,故可采用串行口方式式1进行通信。进行通信。51单片机的奇偶校验位单片机的奇偶校验位P是当累加器是当累加器A中中“1”的个数为奇数时的个数为奇数时P=1,为偶数时,为偶数时P=0。直接把。直接把P的值放入的值放入ASCII码的最高位码的最高位(奇偶校验位奇偶校验位),即为偶,即为偶校验方式。校验方式。 7.3.1 主从机间的通信主从机间的通信1双机串

45、行异步通信双机串行异步通信单片机应用技术单片机应用技术2) 计算定时器计算定时器T1的计数初值的计数初值对于串行口方式对于串行口方式1,波特率由定时器,波特率由定时器T1的溢出率和的溢出率和SMOD决定,定时器决定,定时器T1采用工作方式采用工作方式2,可以避免计数,可以避免计数溢出后用软件重装定时初值。取溢出后用软件重装定时初值。取SMOD=0,按式,按式(5.4)可求得计数初值可求得计数初值X 为为7.3.1 主从机间的通信主从机间的通信1双机串行异步通信双机串行异步通信也可以通过查表也可以通过查表7.3确定确定X=F3H。单片机应用技术单片机应用技术3) 确定相关寄存器参数确定相关寄存器

46、参数(1) 串行口控制寄存器串行口控制寄存器SCON。 SM0、SM1=01时为方式时为方式1,在,在SM2=0和和REN=1条件下,允许接收数据,其余各位均取条件下,允许接收数据,其余各位均取0, 则则SCON)=01010000B=50H。 (2) 电源控制寄存器电源控制寄存器PCON。 7.3.1 主从机间的通信主从机间的通信1双机串行异步通信双机串行异步通信 由于由于SMOD=0,因此,因此(PCON)=00H(同系统复位以同系统复位以后的状态,可不赋值后的状态,可不赋值)。单片机应用技术单片机应用技术(3) 确定定时器方式寄存器确定定时器方式寄存器TMOD。3) 确定相关寄存器参数确

47、定相关寄存器参数1双机串行异步通信双机串行异步通信 由于只用由于只用T1,且为定时方式,且为定时方式2,因此,因此(TMOD)=00100000B=20H。请注意:请注意: 串行通信端口的接收中断串行通信端口的接收中断RI、发送中断、发送中断TI共用一个中断向量共用一个中断向量(0023H),因此,串行口中断请求,因此,串行口中断请求后,中断服务程序首先要判断是后,中断服务程序首先要判断是RI、TI当中的哪个请求当中的哪个请求中断。中断。单片机应用技术单片机应用技术4) 编写有关的通信程序编写有关的通信程序 主程序:主程序: ORG 0000H LJMP MAINORG 0023H ; 串行中

48、断入口串行中断入口LJMP SINOUT 1双机串行异步通信双机串行异步通信单片机应用技术单片机应用技术ORG 0030H MAIN:MOV TMOD,20H ;定时器;定时器T1设为方式设为方式2 MOV TL1, 0F3H ;装入定时器初值;装入定时器初值MOV TH1, 0F3H ; 8位重装值位重装值SETB TR1 ; 启动定时器启动定时器T1MOV SCON,50H ; 串行口设为方串行口设为方MOV R0,60H ; OUTBUF首址首址MOV R1,70H ; INBUF首址首址SETB EA ; 开中断开中断 SETB ES ; 允许串行口中断允许串行口中断 LCALL SO

49、UT ; 先发送先发送1个字符个字符 LJMP $ ; 等待中断等待中断 4) 编写有关的通信程序编写有关的通信程序1双机串行异步通信双机串行异步通信单片机应用技术单片机应用技术 ; 中断服务程序中断服务程序SINOUT: JNB RI,SEND ;若不是接收,则转向;若不是接收,则转向;发送发送 LCALL SIN ; 若是接收,则调用接若是接收,则调用接;收子程序收子程序RETI ; 中断返回中断返回SEND: LCALL SOUT ; 若是发送,则调用发若是发送,则调用发;送子程序送子程序 RETI ; 中断返回中断返回 ; 发送子程序发送子程序 4) 编写有关的通信程序编写有关的通信程

50、序1双机串行异步通信双机串行异步通信单片机应用技术单片机应用技术; 发送子程序发送子程序 SOUT: MOV A,R0 ; 取发送数据到取发送数据到A MOV C,P ; 偶校验位赋予偶校验位赋予C MOV ACC.7,C ; 送入送入ASCII码最高码最高 ;位中;位中 INC R0 ; 修改发送数据指针修改发送数据指针 MOV SBUF,A ; 发送数据发送数据 CLR TI ; 清发送中断标志清发送中断标志 RET ; 子程序返回子程序返回 4) 编写有关的通信程序编写有关的通信程序1双机串行异步通信双机串行异步通信单片机应用技术单片机应用技术 ; 接收子程序接收子程序SIN: MOV

51、A,SUBF ; 读入接收缓冲区内容读入接收缓冲区内容 JNB P,EXIT ; 若若P=0,则接收正确,则接收正确 ERROR: ; 若若P=1,则接收错误,则接收错误 ; 出错处理出错处理EXIT: ANL A,7FH ; 删去校验位删去校验位 MOV R1,A ; 存入接收缓冲区存入接收缓冲区 INC R1 ; 修改接收缓冲区指针修改接收缓冲区指针 CLR RI ; 清接收中断标志清接收中断标志 RET ; 子程序返回子程序返回 4) 编写有关的通信程序编写有关的通信程序1双机串行异步通信双机串行异步通信单片机应用技术单片机应用技术图图7-16 两台两台8751互传数据互传数据1双机串行

52、异步通信双机串行异步通信单片机应用技术单片机应用技术2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信51系列单片机的多机通信通常采用主从式多机系列单片机的多机通信通常采用主从式多机通信方式。在主从式多机系统中,有一台主机,多通信方式。在主从式多机系统中,有一台主机,多台从机,利用这种方式可以构成各种分布式控制系台从机,利用这种方式可以构成各种分布式控制系统,其系统结构如图统,其系统结构如图7.17所示。其中,所示。其中,n个从机各有个从机各有惟一的一个地址码,地址码是识别从机身份的标志。惟一的一个地址码,地址码是识别从机身份的标志。主机发出的信息可以传送到各个从机或传

53、送到某个主机发出的信息可以传送到各个从机或传送到某个指定的从机,而从机发出的信息只能被主机接收。指定的从机,而从机发出的信息只能被主机接收。 单片机应用技术单片机应用技术图图7.17 主从式多机通信系统主从式多机通信系统2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信单片机应用技术单片机应用技术多机通信中,要保证主机与从机间进行可靠的多机通信中,要保证主机与从机间进行可靠的通信,通信接口必须具有从机身份的识别功能。串通信,通信接口必须具有从机身份的识别功能。串行口控制寄存器行口控制寄存器SCON中的中的SM2位就是为满足这一要位就是为满足这一要求而设置的多机通信控制位

54、。求而设置的多机通信控制位。2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信串行口以方式串行口以方式2或方式或方式3实现多机通信,主机发实现多机通信,主机发出的信息有两类,一类为地址信息,用来确定需要出的信息有两类,一类为地址信息,用来确定需要和主机通信的从机,其特征是主机串行传送的第和主机通信的从机,其特征是主机串行传送的第9位位信息信息TB8为为1,即主机令,即主机令TB8=1呼叫从机;呼叫从机; 另一类是另一类是数据信息,特征是串行传送的第数据信息,特征是串行传送的第9位信息位信息TB8为为0,实现主从间的数据传输。实现主从间的数据传输。单片机应用技术单片机应用

55、技术对从机来说,也要利用对从机来说,也要利用SCON寄存器中的寄存器中的SM2位的控制功能来区分地址信息和数据信息。位的控制功能来区分地址信息和数据信息。2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信在接收时,令在接收时,令RI=0,若,若SM2为为1,则仅当接收到,则仅当接收到的第的第9位信息位信息RB8为为1时,接收到的一帧信息才有效,时,接收到的一帧信息才有效,接收到的数据才装入接收到的数据才装入SBUF,置位,置位RI,请求,请求CPU对主对主机发出的信息进行处理。若机发出的信息进行处理。若SM2为为1,接收到的第,接收到的第9位位信息信息RB8为为0时,则

56、接收到的一帧信息无效。时,则接收到的一帧信息无效。单片机应用技术单片机应用技术若从机令若从机令SM2为为0,则接收到一个数据后,不管,则接收到一个数据后,不管第第9位信息位信息RB8是是0还是还是1,都将数据装入接收缓冲器,都将数据装入接收缓冲器SBUF,并置位中断标志,并置位中断标志RI,请求,请求CPU处理。因此,处理。因此,对于从机来说,在接收地址时,应使对于从机来说,在接收地址时,应使SM2=1,以便,以便接收到主机发来的地址码,从而确定主机是否打算接收到主机发来的地址码,从而确定主机是否打算和从机通信。一经确认后,从机应使和从机通信。一经确认后,从机应使SM2=0,以便,以便接收数据

57、或识别下一个地址码。接收数据或识别下一个地址码。 2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信单片机应用技术单片机应用技术主从式多机通信的一般过程如下:主从式多机通信的一般过程如下:2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信(1) 使所有从机的使所有从机的SM2位置位置1(此时,所有的从机处于此时,所有的从机处于监听状态监听状态),以便接收主机发来的地址码。,以便接收主机发来的地址码。(2) 主机发出一帧地址信息,其中包括主机发出一帧地址信息,其中包括8位需要与之位需要与之通信的从机地址码,第通信的从机地址码,第9位信息位信息TB8

58、为为1。(3) 所有从机接收到地址帧后,各自将所接收到的所有从机接收到地址帧后,各自将所接收到的地址与本机地址相比较,若与本机地址相同,则地址与本机地址相比较,若与本机地址相同,则该从机便使该从机便使SM2位清位清0以接收主机随后发来的数以接收主机随后发来的数据信息;据信息; 对于地址不符合的从机,仍保持对于地址不符合的从机,仍保持SM2=1的状态的状态(仍处于监听状态仍处于监听状态),对主机随后发来的数,对主机随后发来的数据不予理睬,直至主机发送一个新的地址帧。据不予理睬,直至主机发送一个新的地址帧。单片机应用技术单片机应用技术(4) 主机给已被寻址的从机发送控制指令和数据主机给已被寻址的从

59、机发送控制指令和数据(数数据帧的第据帧的第9位为位为0)。2. 主从式多机通信主从式多机通信7.3.1 主从机间的通信主从机间的通信单片机应用技术单片机应用技术RS-232C是美国电子工业协会是美国电子工业协会EIA(Electronic Industry Association)于于1962年制定的一种串行通信接年制定的一种串行通信接口标准口标准(1987年年1月修改的月修改的RS-232C标准称为标准称为RS-232D,不过两者差别不大,因此仍可用旧标准不过两者差别不大,因此仍可用旧标准)。RS-232C标准规定了在串行通信中数据终端设备标准规定了在串行通信中数据终端设备(简称简称DTE,

60、如个人计算机,如个人计算机)和数据通信设备和数据通信设备(简称简称DCE,如调制解调器,如调制解调器)间物理连接线路的机械、电气特性,间物理连接线路的机械、电气特性,以及通信格式和约定,该标准是异步串行通信中应用以及通信格式和约定,该标准是异步串行通信中应用最广泛的总线标准。最广泛的总线标准。7.3.2 RS-232C串行接口标准及应用串行接口标准及应用单片机应用技术单片机应用技术1. RS-232C的引脚功能的引脚功能7.3.2 RS-232C串行接口标准及应用串行接口标准及应用完整的完整的RS-232C接口由主信道、辅信道共接口由主信道、辅信道共22根连线根连线组成,不过该标准对引脚的机械

61、特性并未做严格规定,组成,不过该标准对引脚的机械特性并未做严格规定,一般采用标准的一般采用标准的25芯芯D型插座型插座(通过通过25芯芯D型插头连接型插头连接),其接口信号名称及主要信号流向如图,其接口信号名称及主要信号流向如图7-18(a)所示。所示。尽管辅信道也可用于串行通信,但速率低,很少用。尽管辅信道也可用于串行通信,但速率低,很少用。此外,当两个设备以异步方式通信时,也无需使用主此外,当两个设备以异步方式通信时,也无需使用主信道中所有的联络信号,因此信道中所有的联络信号,因此RS-232C接口也可以采用接口也可以采用9芯芯D型插座型插座(如微机系统中的串行口如微机系统中的串行口),其

62、接口信号名,其接口信号名称及主要信号流向如图称及主要信号流向如图7-18(b)所示。所示。单片机应用技术单片机应用技术1. RS-232C的引脚功能的引脚功能图图7-18 RS-232C接口插座接口插座(a)(a) 25芯芯D型插座型插座RS-232C接口信号名称及主要信号流向;接口信号名称及主要信号流向;单片机应用技术单片机应用技术1. RS-232C的引脚功能的引脚功能图图7-18 RS-232C接口插座接口插座(b)(b) 9芯芯D型插座上的型插座上的RS-232C接口信号名称及主要信号流向接口信号名称及主要信号流向7.3.2 RS-232C串行接口标准及应用串行接口标准及应用单片机应用

63、技术单片机应用技术2. RS-232C串行接口标准中主信道重要信号的含义:串行接口标准中主信道重要信号的含义:7.3.2 RS-232C串行接口标准及应用串行接口标准及应用RS-232C串行接口标准中主信道重要信号的含义如下:串行接口标准中主信道重要信号的含义如下:TXD:串行数据发送引脚,输出。串行数据发送引脚,输出。RXD:串行数据接收引脚,输入。串行数据接收引脚,输入。DSR:数据设备数据设备(DCE)准备就绪信号,输入,主要准备就绪信号,输入,主要用于接收联络。当用于接收联络。当DSR信号有效时,表明本地的数据信号有效时,表明本地的数据设备设备(DCE)处于就绪状态。处于就绪状态。DT

64、R:数据终端数据终端(DTE)准备就绪信号,输出,用于准备就绪信号,输出,用于DTE向向DCE发送联络。当发送联络。当DTR信号有效时,表示信号有效时,表示DTE可以接收来自可以接收来自DCE的数据。的数据。单片机应用技术单片机应用技术2. RS-232C串行接口标准中主信道重要信号的含义:串行接口标准中主信道重要信号的含义:7.3.2 RS-232C串行接口标准及应用串行接口标准及应用RTS:发送请求,输出。当发送请求,输出。当DTE需要向需要向DCE发送数据发送数据时,向接收方时,向接收方(DCE)输出输出RTS信号。信号。CTS:发送允许或清除发送,输入。作为发送允许或清除发送,输入。作

65、为“清除发送清除发送”信号使用时,由信号使用时,由DCE输出,当输出,当CTS有效时,有效时,DTE将终止发送将终止发送(如如DCE忙或有重要数据要回送忙或有重要数据要回送DTE);而作为;而作为“允许发送允许发送”信号使用时,情况信号使用时,情况刚刚好相反:当接收方接收到好相反:当接收方接收到RTS信号后进入接收状信号后进入接收状态,接收方准备就绪后向请求发送方回送态,接收方准备就绪后向请求发送方回送CTS信信号,发送方检测到号,发送方检测到CTS有效后,启动发送过程。有效后,启动发送过程。单片机应用技术单片机应用技术3. 电平转换电平转换7.3.2 RS-232C串行接口标准及应用串行接口

66、标准及应用为保证数据的可靠传送,为保证数据的可靠传送,RS-232C标准规定发送标准规定发送数据线数据线TXD和接收数据线和接收数据线RXD均采用均采用EIA电平,即传电平,即传送数字送数字“1”时,传输线上的电平在时,传输线上的电平在3V15V之间;之间;传送数字传送数字“0”时,传输线上的电平在时,传输线上的电平在315V之之间。但单片机串行口采用正逻辑的间。但单片机串行口采用正逻辑的TTL电平,这样就电平,这样就存在存在TTL电平与电平与EIA电平之间的转换问题。电平之间的转换问题。例如当单片机与例如当单片机与PC机进行串行通信时,机进行串行通信时,PC机的机的COM1或或COM2口发送

67、引脚口发送引脚TXD信号是信号是EIA电平,不能电平,不能直接与单片机串行口接收端直接与单片机串行口接收端RXD引脚相连;同样单片引脚相连;同样单片机串行口发送端机串行口发送端TXD引脚输出信号采用正逻辑的引脚输出信号采用正逻辑的TTL电平,也不能直接与电平,也不能直接与PC机串行口机串行口COM1或或COM2的的RXD端相连。端相连。单片机应用技术单片机应用技术3. 电平转换电平转换7.3.2 RS-232C串行接口标准及应用串行接口标准及应用RS-232C与与TTL之间电平转换芯片主要有传输线之间电平转换芯片主要有传输线发送器发送器MC1488(把把TTL电平转成电平转成EIA电平电平)、

68、传输线接、传输线接收器收器MC1489(把把EIA电平转成电平转成TTL电平电平)、MAX232以以及及Sipex202/232系列系列RS-232电平转换专用芯片。电平转换专用芯片。其中其中MAX232以及以及Sipex202/232系列芯片集成度高,系列芯片集成度高,单单5V电源电源(内置了电压倍增电路及负电源电路内置了电压倍增电路及负电源电路)工作,工作,只需外接只需外接5个容量为个容量为0.11F的小电容即可完成两路的小电容即可完成两路RS-232与与TTL电平之间的转换,是单片机应用系统中电平之间的转换,是单片机应用系统中最常用的最常用的RS-232电平转换芯片。电平转换芯片。MAX

69、232电平转换芯电平转换芯片的引脚如图片的引脚如图7-19所示,内部结构及典型应用电路如所示,内部结构及典型应用电路如图图7-20所示。所示。单片机应用技术单片机应用技术图图7-19 MAX232管脚图管脚图3. 电平转换电平转换7.3.2 RS-232C串行接口标准及应用串行接口标准及应用单片机应用技术单片机应用技术图图7-20 MAX232芯片的典型应用电路芯片的典型应用电路 3. 电平转换电平转换7.3.2 RS-232C串行接口标准及应用串行接口标准及应用单片机应用技术单片机应用技术MAX232的推荐工作条件见表的推荐工作条件见表7.4。 3. 电平转换电平转换7.3.2 RS-232

70、C串行接口标准及应用串行接口标准及应用表表7.4 MAX232的推荐工作条件的推荐工作条件 单片机应用技术单片机应用技术MCS-51单片机利用单片机利用MAX232与与PC机通机通信典型电路如图所示。信典型电路如图所示。 4. RS-232C的连接的连接7.3.2 RS-232C串行接口标准及应用串行接口标准及应用单片机应用技术单片机应用技术4. RS-232C的连接的连接实际上,实际上,RS-232C接口联络信号没有严格定义,接口联络信号没有严格定义,通过通过RS-232C接口标准通信的两个设备可能只使用其接口标准通信的两个设备可能只使用其中的一部分联络信号,在极端情况下也可能不使用中的一部

71、分联络信号,在极端情况下也可能不使用联络信号,只通过联络信号,只通过TXD、RXD和和GND三根连线实现三根连线实现串行通信。此外,联络信号的含义和连接方式也可串行通信。此外,联络信号的含义和连接方式也可能因设备种类的不同而有差异。正因如此,通过能因设备种类的不同而有差异。正因如此,通过RS-232C接口通信的设备可能遇到不兼容的问题。接口通信的设备可能遇到不兼容的问题。7.3.2 RS-232C串行接口标准及应用串行接口标准及应用单片机应用技术单片机应用技术1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口在在“串入并出串入并出”芯片芯片(如如74LS164、 74LS1

72、65、 74HC595等等)的配合下,通过串行口方式的配合下,通过串行口方式0可扩展可扩展MCS-51 芯片的输出口。芯片的输出口。当使用当使用74LS164芯片扩展输出口时,芯片扩展输出口时,MCS-51 芯芯片的片的RXD引脚接引脚接74LS164芯片的串行数据输入端,芯片的串行数据输入端,TXD引脚接引脚接74LS164芯片的移位脉冲输入端芯片的移位脉冲输入端CLK,如图如图7-21(a)所示。所示。74HC595芯片功能比芯片功能比74LS164更强,采用更强,采用16引脚引脚封装,提供串行数据输出端封装,提供串行数据输出端SDO,级联方便,级联方便(将前一将前一片的串行数据输出端片的

73、串行数据输出端SDO接下一片的串行数据输入接下一片的串行数据输入端端SDI即可即可),当输出允许为高电平时,并行数据输,当输出允许为高电平时,并行数据输出端出端QAQH为高组态。为高组态。7.4 串行接口的应用串行接口的应用单片机应用技术单片机应用技术图图7-21 利用串行口方式利用串行口方式0扩展输出口扩展输出口(a) 通过通过74LS164“串入并出串入并出”芯片扩展输出口;芯片扩展输出口;(b) 通过通过74HC595“串入并出串入并出”芯片扩展输出口芯片扩展输出口单片机应用技术单片机应用技术1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口当使用当使用74HC595

74、芯片扩展输出口时,芯片扩展输出口时,MCS-51芯芯片的片的RXD引脚接引脚接74HC595芯片的串行数据输入端芯片的串行数据输入端SDI,TXD引脚接引脚接74HC595芯片的串行移位脉冲输入端芯片的串行移位脉冲输入端SRCLK,并行数据输出锁存脉冲,并行数据输出锁存脉冲RCLK可由可由CPU另另一一I/O引脚引脚(如如P1.7提供提供),串行移位寄存器清除端可,串行移位寄存器清除端可接高电平,如图接高电平,如图7-21(b)所示。所示。值得注意的是,值得注意的是,74HC595串行移位脉冲串行移位脉冲SRCLK对边缘有严格要求,当对边缘有严格要求,当CPU I/O引脚驱动能力不足时,引脚驱

75、动能力不足时,需在需在CPU I/O引脚与引脚与74HC595芯片的芯片的SRCLK输入端输入端之间加驱动器,如之间加驱动器,如CD40106芯片等;此外还必须注意芯片等;此外还必须注意通过通过74HC595“串入并出串入并出”芯片输出时,应先送芯片输出时,应先送b7位。位。7.4 串行接口的应用串行接口的应用单片机应用技术单片机应用技术1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口串行数据输出过程概括如下:串行数据输出过程概括如下:在发送中断标志在发送中断标志TI为为0(即无效即无效)的情况下,执行写的情况下,执行写串行数据输出缓冲器串行数据输出缓冲器SBUF指令指令

76、(如如“MOV SBUF,A”)即可将即可将SBUF寄存器中的内容由低位到高位依次输出到寄存器中的内容由低位到高位依次输出到RXD引脚,同时引脚,同时TXD引脚输出移位脉冲,使外接的引脚输出移位脉冲,使外接的“串入并出串入并出”芯片逐一接收来自芯片逐一接收来自RXD引脚上的串行数据。引脚上的串行数据。当当8位数据发送结束后,发送中断标志位数据发送结束后,发送中断标志TI自动置自动置1,输,输出数据出数据(即即SBUF寄存器内容寄存器内容)也就出现在也就出现在74LS164芯片芯片的并行输出端。这样在执行写的并行输出端。这样在执行写SBUF寄存器操作后,可寄存器操作后,可通过查询通过查询TI标志

77、来确定发送过程是否完成。当然,在标志来确定发送过程是否完成。当然,在中断处于开放状态下中断处于开放状态下(串行中断允许串行中断允许ES为为1,中断允许,中断允许EA为为1),TI有效时,将产生串行中断请求。值得注意有效时,将产生串行中断请求。值得注意的是,的是,CPU响应串行中断后不会自动清除响应串行中断后不会自动清除TI,需要用,需要用“CLR TI”指令清除指令清除TI,以便输出新的串行数据。,以便输出新的串行数据。单片机应用技术单片机应用技术1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口参考程序如下:参考程序如下:MOV SCON,#00000000B;定义串行口

78、工作方;定义串行口工作方 ;式,并清除发送中断;式,并清除发送中断TIMOV SUBF, A ;输出串行数据;输出串行数据LOOP:JNB TI, LOOP ;等待一帧数据发送结束;等待一帧数据发送结束在在“并入串出并入串出”芯片芯片(如如74LS165、74HC597)的配的配合下,即可通过串行口方式合下,即可通过串行口方式0扩展扩展MCS-51的输入引脚,的输入引脚,其中其中MCS-51的的RXD引脚接引脚接74LS165芯片的串行数据输芯片的串行数据输出端,出端,TXD引脚接引脚接74LS165芯片的移位脉冲芯片的移位脉冲CLK,如,如图图7-22所示。所示。单片机应用技术单片机应用技术

79、图图7-22 利用串行口方式利用串行口方式0扩展输入口扩展输入口单片机应用技术单片机应用技术1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口串行数据输入过程概括如下:串行数据输入过程概括如下:在在REN位为位为1(允许接收允许接收)的情况下,通过执行的情况下,通过执行“CLR RI”指令启动串行接收过程,即在移位脉冲指令启动串行接收过程,即在移位脉冲(来自来自TXD引脚引脚)作用下,作用下,74LS165芯片并行数据芯片并行数据b0b7逐一移位到逐一移位到RXD引脚,并保存到引脚,并保存到CPU内的串行内的串行接收缓冲器内,当接收到接收缓冲器内,当接收到b7位数据时,串行

80、接收中位数据时,串行接收中断标志位断标志位RI为为1,表明已接收了一帧数据,表明已接收了一帧数据,CPU读读SBUF寄存器即可获得串行输入数据。这样在寄存器即可获得串行输入数据。这样在REN为为1后,可通过查询后,可通过查询RI标志来确定接收过程是否结束。标志来确定接收过程是否结束。当然,在中断处于开放状态下当然,在中断处于开放状态下(串行中断允许串行中断允许ES为为1,中断允许,中断允许EA为为1)且且RI有效时,将产生串行中断请有效时,将产生串行中断请求。值得注意的是,求。值得注意的是,CPU响应串行中断后,不会自响应串行中断后,不会自动清除动清除RI,需要用,需要用“CLR RI”指令清

81、除指令清除RI,以便接收,以便接收新的数据。新的数据。单片机应用技术单片机应用技术1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口在方式在方式0中,串行口控制寄存器中,串行口控制寄存器SCON内的内的TB8、RB8两位没有定义,可设为两位没有定义,可设为0,但,但SM2位必须为位必须为0;电源控制寄存器电源控制寄存器PCON中的波特率倍增位中的波特率倍增位SMOD1位位也没有定义,可以是任意值。也没有定义,可以是任意值。由于方式由于方式0不能自动插入及检测起始位、停止位,不能自动插入及检测起始位、停止位,因此工作在方式因此工作在方式0下的串行口不能作为串行通信口,下的串行

82、口不能作为串行通信口,只能用于扩展只能用于扩展I/O口。口。单片机应用技术单片机应用技术参考程序如下:参考程序如下:MOV SCON, #00000000B;定义串行口工;定义串行口工;作方式作方式CLR P1.7;输出送数脉冲;输出送数脉冲(允许允许; 74LS165芯片接收并芯片接收并; 锁存并行输入端数据锁存并行输入端数据)NOP SETB P1.7;延迟一个机器周期后,取消;延迟一个机器周期后,取消;送数负脉冲送数负脉冲 SETB REN;允许接收;允许接收CLR RI;清除接收中断标志;清除接收中断标志RI,启动,启动;接收串行接收串行LOOP:JNB RI,LOOP ;等待一帧数据接收结束;等待一帧数据接收结束 MOV A,SBUF;读串行输入数据;读串行输入数据1. 应用方式应用方式0扩展扩展MCS-51 芯片的输出口芯片的输出口7.4 串行接口的应用串行接口的应用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号