串行通信及其接口.ppt_第1页
串行通信及其接口.ppt_第2页
串行通信及其接口.ppt_第3页
串行通信及其接口.ppt_第4页
串行通信及其接口.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机应用技术,主讲教师:苏晓龙,全校公共选修课,计算机学院信息科学系,办公室:计A315-1,答疑地点:计A315-1,E-mail:,第7章 串行通信及其接口,7.1串行通信的基本概念 7.2 MCS-51的串行口 7.3 串行口的控制 7.4 串行口的应用,7.1 串行通信的基本概念,返回本章首页,计算机与外部的信息交换称为通信,基本的通信方式有两种: 并行通信(parallel communication)和串行通信(serial communication)。,并行通信:所传送数据的各位同时发送或接收。串行通信:所传送数据的各位按顺序一位一位地发送或接收。,并行通信: 速度快,但成本

2、高,传输距离受限; 串行通信: 通信线少,传输距离远,但速度较慢,7.1 串行通信的基本概念,返回本章首页,图7.1 并行通信与串行通信 (a) 并行通信; (b) 串行通信,7.1 串行通信的基本概念,一、串行通信按数据流传输方向分,1 、单工(Simplex) 两个传输站点之间一方只能发送,另一方只能接收,2 、半双工(Half Duplex),两个传输站点之间任何一方都能发送数据,但由于设备之间只有一条通信线路,在同一时刻只能在一个方向上传输数据,如对讲机。,串行通信的基本概念,一、串行通信按数据流传输方向分,两个传输站点之间双方使用不同的通信线路,同时发送和接收数据.如电话。,3 、全

3、双工(Full Duplex),串行通信的基本概念,二、串行通信的两种基本工作方式,异步方式、同步方式。,所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟来决定何时发送和读取每一位数据。,根据采用统一时钟还是本地局部时钟,分为同步传输和异步传输两种。,同步传输用一个时钟确定一个数据位。 异步传输用多个时钟确定一个数据位。,串行通信的基本概念,二、串行通信的两种基本工作方式,不发送数据时,传输线呈现高电平(MARK状态)。,1 、异步方式(Asynchronous),采用不同的编码方案,发送字符可为5,6,7,或8位;,采用奇校验,保证“1”的个数为奇数;采用偶校验,保证

4、1的个数为偶数;,异步串行通信数据格式:,串行通信的基本概念,二、串行通信的两种基本工作方式,1 、异步方式(Asynchronous),例: 发送一个由8位数据位构成的字符45H,奇校 验、1位停止位。,停止位可以是1, 1.5或2位。,异步传输先发送低位(LSB),异步传输的时钟定时方法:,数据 (61H),1,0,0,0,1,1,停止位,发送方利用内部时钟来决定什么时候发送每个位,接收方检测开始信号的下降沿,然后利用它的内部时钟从每一位的中间接收该位,0,0,起始位,LSB,MSB,串行通信的基本概念,串行通信的基本概念,不发送数据时,传输线呈现高电平(MARK状态)。,同步字符可以为1

5、个或2个。,根据双方约定,接收方监测到同步字符后,接收被发送的字符流;将接收到的字符转换成并行数据。,内同步、外同步。,同步传输的时钟定时方法 :,数据(61H),1位,1,1,0,0,0,0,1,先发送高位(MSB),发送方在时钟信号的下降沿发送字节,接收方在时钟信号的上升沿接收字节,时钟,串行通信的基本概念,0,同步通信的帧格式:同步传输需要定义一个帧的开始和结束。通常用1个同步字符(标志符)来表示。,串行通信的基本概念,三、串行传送速率,在串行通信中,常用波特率来表示数据传输的速率。,波特率:每秒传送的二进制位数。,单位:波特 Bd,如串行通信规定:一个串行字符包括1个起始位,7个数据位

6、,1个奇偶校验位和1个停止位,共10个数据位构成,每秒传送120个字符,则波特率为: 10位/字符120字符/秒=1200位/秒 传送每一位占用的时间为: 1秒/1200=0.833毫秒,波特率因子:发送/接收时钟与波特率之比。,7.2 MCS-51的串行口,7.2.1 串行口的结构 7.2.2 串行口的工作方式 7.2.3 波特率的计算,返回本章首页,MCS-51有一个可编程的全双工串行通信接口,可作为通用异步接收/发送器(UART- Universal Asychronous Receiver/Transmitter),也可作为同步移位寄存器。其帧格式可为8位、10位、11位,并可设置多种

7、不同的波特率。它通过引脚RXD和TXD与外界进行通信。,7.2.1 串行口的结构,MCS-51内部有两个物理上独立的接收、发送缓冲器SBUF。SBUF属于特殊功能寄存器。一个用于存放接收到的数据,另一个用于存放欲发送的数据,可同时发送和接收数据。两个缓冲器共用一个地址99H,通过对SBUF的读、写指令来区别是对接收缓冲器还是对发送缓冲器进行操作。CPU在写SBUF时,就是修改发送缓冲器;读SBUF,就是读接收缓冲器的内容。接收或发送数据,是通过串行口对外的两条独立收发信号线RXD(P3.0)、TXD(P3.1)来实现的,因此可以同时发送、接收数据。串行口的结构如图7.3所示。,7.2.1 串行

8、口的结构,图7.3 串行口结构示意图,7.2.1 串行口的结构,7.2.1 串行口的结构,1串行口控制寄存器SCON,图7-6 SCON格式,该寄存器的字节地址为98H,可位寻址。SCON格式如图7-6所示。,其各位的含义如下:,SM0、SM1串行口4种工作方式的选择位。串行口的4种工作方式如表7.1所示。,表8.1 串行口的4种工作方式,1串行口控制寄存器SCON,SM2多机通信控制位,用于方式2或方式3中。,1串行口控制寄存器SCON,当串行口以方式2或方式3接收时,如果SM2=1,只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并将RI置“1”,产生中断

9、请求;当接收到的第9位数据(RB8)为“0”时,则将接收到的前8位数据丢弃。如果SM2=0,则不论第9位数据是“1”还是“0”,都将前8位数据送入SBUF中,并将RI置“1”,产生中断请求。在方式1时,如果SM2=1,则只有收到停止位时才会激活RI。在方式0时,SM2必须为0。,REN 允许串行接收位,由软件置“1”或清“0”。REN=1时,允许串行口接收数据;REN=0时,禁止串行口接收数据。,1串行口控制寄存器SCON,TB8 发送的第9位数据。方式2和方式3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为地址帧或数据帧的标志。其中,TB8=1为地址帧,TB8=0为数据帧。,

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

11、收到停止位时,该位置“1”。RI=1,表示一帧数据接收完毕,并申请中断,要求CPU从接收SBUF取走数据。该位的状态也可供软件查询。如果再接收,RI必须由软件再清“0”。,2特殊功能寄存器PCON,图7-7 PCON格式,返回本节,其字节地址为87H,没有位寻址功能。PCON的格式如图7-7所示,其中与串行接口有关的只有D7位。,SMOD:波特率选择位。当SMOD=1时,比SMOD=0时的波特率加倍,因此也称SMOD位为波特率倍增位。,7.2.2 串行口的工作方式,串行口工作方式,方式0为同步移位寄存器输入/输出方式,常用于外接移位寄存器,以扩展并行I/O口。8位数据为一帧,不设起始位和停止位

12、,先发送或接收最低位。波特率固定为fosc/12。方式0发送 当CPU执行一条将数据写入发送缓冲器SBUF的指令时,产生一个正脉冲,串行口即把SBUF中的8位数据以fosc/12的固定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲,发送完8位数据后将中断标志位TI置“1”。时序如图7.8所示。,7.2.2 串行口的工作方式,1方式0,图7.8 方式0发、收时序,7.2.2 串行口的工作方式,方式0接收 方式0接收时,REN为串行口接收允许接收控制位,REN=0,禁止接收。方式0下,SCON中的TB8、RB8位没有用到,发送或接收完8位数据由硬件将TI或中断标志位RI置“1”,

13、CPU响应中断。TI或RI标志位须由用户软件清“0”,可采用如下指令:CLR TI;TI位清“0”CLR RI ;RI位清“0”方式0时,SM2位(多机通信控制位)必须为0。,7.2.2 串行口的工作方式,2 方式1,7.2.2 串行口的工作方式,方式1用于数据的串行发送和接收。TXD脚和RXD脚分别用于发送和接收数据。,方式1收、发一帧的数据为10位,1位起始位(0),8位数据位,1位停止位(1),先发送或接收最低位。,波特率由下式确定:方式1波特率=(2SMOD/32)定时器T1的溢出率,SMOD为PCON寄存器的最高位的值(0或1)。,方式1发送 方式1输出时,数据位由TXD端输出。当C

14、PU执行一条数据写发送缓冲器SBUF的指令时,就启动发送。图7.9(a)TX时钟的频率就是发送的波特率。发送开始时,内部发送控制信号变为有效,将起始位向TXD输出。此后,每经过一个TX时钟周期,便产生一个移位脉冲,并由TXD输出一个数据位。8位数据位全部发送完毕后,中断标志位TI置“1”。TI必须由用户清0,以便下一次发送。,2 方式1,7.2.2 串行口的工作方式,图7.9 方式1发、收时序 (a) 发送时序;(b) 接收时序,方式1接收 接收数据的时序如图7.9(b)所示。当CPU采样到RXD端从1到0的跳变时(3次采样中至少2次有效),开始接收数据。一帧数据接收完毕以后,必须同时满足以下

15、两个条件,这次接收才真正有效,然后RI自动置1。(1) RI=0。(2) SM2=0或收到的停止位=1。若这两个条件不满足,则收到的数据不能装入SBUF,该帧数据将丢失。中断标志RI必须由用户清0,以便下一次接收。通常情况下,串口以方式1工作时,SM2=0。,2 方式1,7.2.2 串行口的工作方式,3 方式2,7.2.2 串行口的工作方式,方式2为9位异步通信方式。每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控的第9位数据和1位停止位。方式2的波特率由下式确定:方式2波特率=(2SMOD/64)fosc,方式2发送前,先根据通信协议由软件设置SCON中的TB8(例如,双机

16、通信时的奇偶校验位或多机通信时的地址/数据的标志位)。方式2发送数据波形如图7.10所示。,图7.10 方式2发送时序,方式2接收 SM0、SM1=10,且REN=1。数据由RXD端输入,接收11位信息。当位检测逻辑采样到RXD引脚从1到0的负跳变,并判断起始位有效后,便开始接收一帧信息。在接收完第9位数据后,需满足以下两个条件,才能将接收到的数据送入SBUF。 (1) RI=0,意味着接收缓冲器为空。(2) SM2=0或接收到的第9位数据位RB8=1。,3 方式2,7.2.2 串行口的工作方式,当上述两个条件满足时,接收到的数据送入SBUF(接收缓冲器),第9位数据送入SCON中的RB8,并

17、将RI置“1”。若不满足这两个条件,则接收的信息将被丢弃。,串行口方式2接收数据的时序波形如图7.11所示。由方式2的TI,RI也必须由用户清0,才能进行下一次的发送和接收。,3 方式2,7.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)。,7.2.3 波特率的计算,表7-2 波特率计算公式,方式0和方

18、式2的波特率是固定的;方式1和方式3的波特率可由定时器T1的溢出率来确定。,7.2.3 波特率的计算,(1) 方式0时,波特率固定为时钟频率fosc的1/12,且不受SMOD位的值的影响。若fosc=12 MHz,则波特率为fosc/12,即1 Mb/s。,(2) 方式2时,波特率与SMOD位的值有关。方式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

19、.3 波特率的计算,实际设定波特率时,T1常设置为方式2定时(自动装初值),这种方式不仅操作方便,也可避免因软件重装初值而带来的定时误差。,实际使用时,经常根据已知波特率和时钟频率来计算T1的初值。为避免繁杂的初值计算,常用的波特率和初值间的关系列成表7.3,以供查用。,表7.3 定时器T1产生的常用波特率,7.2.3 波特率的计算,表7.3中有两点需要注意:,7.2.3 波特率的计算, 时钟振荡频率为12 MHz或6 MHz时,表中初值和相应的波特率之间有一定误差。,例如,FDH的对应的理论值是10416波特(时钟6 MHz ),与9600波特相差816波特。消除误差可以通过调整时钟振荡频率

20、fosc来实现。例如采用的时钟振荡频率为11.0592 MHz。, 如果串行通信选用很低的波特率,例如,波特率选为55,可将定时器T1设置为方式1定时。但在这种情况下,T1溢出时,需要在中断服务程序中重新装入初值。中断响应时间和执行指令时间会使波特率产生一定的误差,可用改变初值的方法加以调整。,例:若51单片机的时钟振荡频率为11.0592 MHz,选用T1为方式2定时作为波特率发生器,波特率为2400 b/s,求初值。 结果可直接从表7.3中查到,为F4H。这里因时钟振荡频率选为11.0592 MHz,计算过程中无余数,可使初值为整数,从而产生精确的波特率。,7.2.3 波特率的计算,4.

21、波特率的自动检测 在分布式多波特率通信系统中,常常要求从设备在软件上能做到波特率随主设备自动调整,使系统适应性更强,智能化程度更高。当然,一般情况下,波特率自动检测的范围仅限于标准波特率。,7.2.3 波特率的计算,常用实现波特率自动检测的方法有3种: (1) 从设备启动通信程序后,逐一选择标准波特率,向主设备发送某个事先约定的握手代码,直到收到主设备发回的确认码,即可判定通信波特率。 (2) 利用串行异步通信每一帧起始位为低电平、停止位为高电平,用定时器记录每帧长度,从而判定系统通信波特率。 (3) 利用主设备发送某一特殊码型,从设备收到的码值会随主设备的波特率不同而不同,当从机收到约定的特

22、殊码型时,便可确认系统的通信波特率。,7.2.3 波特率的计算,7.3 串行口的控制,7.3.1 主从机间的通信 7.3.2 RS-232C串行接口标准及应用,返回本章首页,7.3.1 主从机间的通信,1双机串行异步通信,利用串行口可以实现两台机器间的全双工通信。如图7.12所示。,设甲乙两台机器按全双工方式收发ASCII码字符,数据位为8位,其中最高一位用来作奇偶校验位,采用偶校验方式,要求传送的波特率为1200 b/s。假设发送缓冲区OUTBUF首址为片内RAM 60H,接收缓冲区INBUF首址为RAM 70H,时钟频率fosc=6 MHz,试编写有关的通信程序。,图7.12 双机通信系统

23、,1) 确定通信方式根据系统要求,通信双方要相互约定: 7位ASCII码加1位校验位共8位数据,故可采用串行口方式1进行通信。51单片机的奇偶校验位P是当累加器A中“1”的个数为奇数时P=1,为偶数时P=0。直接把P的值放入ASCII码的最高位(奇偶校验位),即为偶校验方式。,7.3.1 主从机间的通信,1双机串行异步通信,2) 计算定时器T1的计数初值对于串行口方式1,波特率由定时器T1的溢出率和SMOD决定,定时器T1采用工作方式2,可以避免计数溢出后用软件重装定时初值。取SMOD=0,按式(5.4)可求得计数初值X 为,7.3.1 主从机间的通信,1双机串行异步通信,也可以通过查表7.3

24、确定X=F3H。,3) 确定相关寄存器参数(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) 确定相关寄存器参数,1双机串行异步通信,由于只用T1,且为定时方式2,因此(TMOD)=00100000B=20H。请注意: 串行通信端口的接收中断RI、发送中断TI共用一个

25、中断向量(0023H),因此,串行口中断请求后,中断服务程序首先要判断是RI、TI当中的哪个请求中断。,4) 编写有关的通信程序 主程序: ORG 0000H LJMP MAINORG 0023H ; 串行中断入口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

26、; 开中断 SETB ES ; 允许串行口中断 LCALL SOUT ; 先发送1个字符 LJMP $ ; 等待中断 ,4) 编写有关的通信程序,1双机串行异步通信,; 中断服务程序SINOUT: JNB RI,SEND ;若不是接收,则转向;发送 LCALL SIN ; 若是接收,则调用接;收子程序RETI ; 中断返回SEND: LCALL SOUT ; 若是发送,则调用发;送子程序 RETI ; 中断返回 ; 发送子程序,4) 编写有关的通信程序,1双机串行异步通信,; 发送子程序 SOUT: MOV A,R0 ; 取发送数据到A MOV C,P ; 偶校验位赋予C MOV ACC.7,

27、C ; 送入ASCII码最高 ;位中 INC R0 ; 修改发送数据指针 MOV SBUF,A ; 发送数据 CLR TI ; 清发送中断标志 RET ; 子程序返回 ,4) 编写有关的通信程序,1双机串行异步通信,; 接收子程序SIN: MOV A,SUBF ; 读入接收缓冲区内容 JNB P,EXIT ; 若P=0,则接收正确 ERROR: ; 若P=1,则接收错误 ; 出错处理EXIT: ANL A,7FH ; 删去校验位 MOV R1,A ; 存入接收缓冲区 INC R1 ; 修改接收缓冲区指针 CLR RI ; 清接收中断标志 RET ; 子程序返回,4) 编写有关的通信程序,1双机

28、串行异步通信,图7-16 两台8751互传数据,1双机串行异步通信,2. 主从式多机通信,7.3.1 主从机间的通信,51系列单片机的多机通信通常采用主从式多机通信方式。在主从式多机系统中,有一台主机,多台从机,利用这种方式可以构成各种分布式控制系统,其系统结构如图7.17所示。其中,n个从机各有惟一的一个地址码,地址码是识别从机身份的标志。主机发出的信息可以传送到各个从机或传送到某个指定的从机,而从机发出的信息只能被主机接收。,图7.17 主从式多机通信系统,2. 主从式多机通信,7.3.1 主从机间的通信,多机通信中,要保证主机与从机间进行可靠的通信,通信接口必须具有从机身份的识别功能。串

29、行口控制寄存器SCON中的SM2位就是为满足这一要求而设置的多机通信控制位。,2. 主从式多机通信,7.3.1 主从机间的通信,串行口以方式2或方式3实现多机通信,主机发出的信息有两类,一类为地址信息,用来确定需要和主机通信的从机,其特征是主机串行传送的第9位信息TB8为1,即主机令TB8=1呼叫从机; 另一类是数据信息,特征是串行传送的第9位信息TB8为0,实现主从间的数据传输。,对从机来说,也要利用SCON寄存器中的SM2位的控制功能来区分地址信息和数据信息。,2. 主从式多机通信,7.3.1 主从机间的通信,在接收时,令RI=0,若SM2为1,则仅当接收到的第9位信息RB8为1时,接收到

30、的一帧信息才有效,接收到的数据才装入SBUF,置位RI,请求CPU对主机发出的信息进行处理。若SM2为1,接收到的第9位信息RB8为0时,则接收到的一帧信息无效。,若从机令SM2为0,则接收到一个数据后,不管第9位信息RB8是0还是1,都将数据装入接收缓冲器SBUF,并置位中断标志RI,请求CPU处理。因此,对于从机来说,在接收地址时,应使SM2=1,以便接收到主机发来的地址码,从而确定主机是否打算和从机通信。一经确认后,从机应使SM2=0,以便接收数据或识别下一个地址码。,2. 主从式多机通信,7.3.1 主从机间的通信,主从式多机通信的一般过程如下:,2. 主从式多机通信,7.3.1 主从

31、机间的通信,(1) 使所有从机的SM2位置1(此时,所有的从机处于监听状态),以便接收主机发来的地址码。,(2) 主机发出一帧地址信息,其中包括8位需要与之通信的从机地址码,第9位信息TB8为1。,(3) 所有从机接收到地址帧后,各自将所接收到的地址与本机地址相比较,若与本机地址相同,则该从机便使SM2位清0以接收主机随后发来的数据信息; 对于地址不符合的从机,仍保持SM2=1的状态(仍处于监听状态),对主机随后发来的数据不予理睬,直至主机发送一个新的地址帧。,(4) 主机给已被寻址的从机发送控制指令和数据(数据帧的第9位为0)。,2. 主从式多机通信,7.3.1 主从机间的通信,RS-232

32、C是美国电子工业协会EIA(Electronic Industry Association)于1962年制定的一种串行通信接口标准(1987年1月修改的RS-232C标准称为RS-232D,不过两者差别不大,因此仍可用旧标准)。RS-232C标准规定了在串行通信中数据终端设备(简称DTE,如个人计算机)和数据通信设备(简称DCE,如调制解调器)间物理连接线路的机械、电气特性,以及通信格式和约定,该标准是异步串行通信中应用最广泛的总线标准。,7.3.2 RS-232C串行接口标准及应用,1. RS-232C的引脚功能,7.3.2 RS-232C串行接口标准及应用,完整的RS-232C接口由主信道

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

34、S-232C接口插座(b)(b) 9芯D型插座上的RS-232C接口信号名称及主要信号流向,7.3.2 RS-232C串行接口标准及应用,2. RS-232C串行接口标准中主信道重要信号的含义:,7.3.2 RS-232C串行接口标准及应用,RS-232C串行接口标准中主信道重要信号的含义如下:TXD:串行数据发送引脚,输出。RXD:串行数据接收引脚,输入。DSR:数据设备(DCE)准备就绪信号,输入,主要用于接收联络。当DSR信号有效时,表明本地的数据设备(DCE)处于就绪状态。DTR:数据终端(DTE)准备就绪信号,输出,用于DTE向DCE发送联络。当DTR信号有效时,表示DTE可以接收来

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

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

37、,RS-232C与TTL之间电平转换芯片主要有传输线发送器MC1488(把TTL电平转成EIA电平)、传输线接收器MC1489(把EIA电平转成TTL电平)、MAX232以及Sipex202/232系列RS-232电平转换专用芯片。,其中MAX232以及Sipex202/232系列芯片集成度高,单5V电源(内置了电压倍增电路及负电源电路)工作,只需外接5个容量为0.11F的小电容即可完成两路RS-232与TTL电平之间的转换,是单片机应用系统中最常用的RS-232电平转换芯片。MAX232电平转换芯片的引脚如图7-19所示,内部结构及典型应用电路如图7-20所示。,图7-19 MAX232管脚

38、图,3. 电平转换,7.3.2 RS-232C串行接口标准及应用,图7-20 MAX232芯片的典型应用电路,3. 电平转换,7.3.2 RS-232C串行接口标准及应用,MAX232的推荐工作条件见表7.4。,3. 电平转换,7.3.2 RS-232C串行接口标准及应用,表7.4 MAX232的推荐工作条件,MCS-51单片机利用MAX232与PC机通信典型电路如图所示。,4. RS-232C的连接,7.3.2 RS-232C串行接口标准及应用,4. RS-232C的连接,实际上,RS-232C接口联络信号没有严格定义,通过RS-232C接口标准通信的两个设备可能只使用其中的一部分联络信号,

39、在极端情况下也可能不使用联络信号,只通过TXD、RXD和GND三根连线实现串行通信。此外,联络信号的含义和连接方式也可能因设备种类的不同而有差异。正因如此,通过RS-232C接口通信的设备可能遇到不兼容的问题。,7.3.2 RS-232C串行接口标准及应用,1. 应用方式0扩展MCS-51 芯片的输出口,在“串入并出”芯片(如74LS164、 74LS165、 74HC595等)的配合下,通过串行口方式0可扩展MCS-51 芯片的输出口。当使用74LS164芯片扩展输出口时,MCS-51 芯片的RXD引脚接74LS164芯片的串行数据输入端,TXD引脚接74LS164芯片的移位脉冲输入端CLK

40、,如图7-21(a)所示。74HC595芯片功能比74LS164更强,采用16引脚封装,提供串行数据输出端SDO,级联方便(将前一片的串行数据输出端SDO接下一片的串行数据输入端SDI即可),当输出允许为高电平时,并行数据输出端QAQH为高组态。,7.4 串行接口的应用,图7-21 利用串行口方式0扩展输出口 (a) 通过74LS164“串入并出”芯片扩展输出口;(b) 通过74HC595“串入并出”芯片扩展输出口,1. 应用方式0扩展MCS-51 芯片的输出口,当使用74HC595芯片扩展输出口时,MCS-51芯片的RXD引脚接74HC595芯片的串行数据输入端SDI,TXD引脚接74HC595芯片的串行移位脉冲输入端SRCLK,并行数据输出锁存脉冲RCLK可由CPU另一I/O引脚(如P1.7提供),串行移位寄存器清除端可接高电平,如图7-21(b)所示。值得注意的是,74HC595串行移位脉冲SRCLK对边缘有严格要求,当CPU I/O引脚驱动能力不足时,需在CPU I/O引脚与74HC595芯片的SRCLK输入端之间加驱动器,如CD40106芯片等;此外还必须注意通过74HC595“串入并出”芯片输出时,应先送b7位。,7.4 串行接口的应用,1. 应用方式0扩展MCS-51 芯片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论