《最新嵌入式第6章3MCS-51的串行接口PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式第6章3MCS-51的串行接口PPT课件.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式第嵌入式第6 6章章3MCS-513MCS-51的串行的串行接口接口6.3.1串行通信基础串行通信基础(a)并行通信方式 (b)串行通信方式图4.10 并行和串行通信方式Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.1串行通信基础串行通信基础1)单工:数据传输仅能从发送设备传输到接收设备。2)半双工:两个串行通信设备之间只有一条数据线,数据传输可以沿两个方向,但需要分时进行。3)全双工:是指两个串行通信
2、设备之间可以同时进行 接收和发送。3种方式中,全双工方式的效率最高;半双工方式配置和编程相对灵活,传输成本较低;串行通信设备常选用半双工方式。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.1串行通信基础串行通信基础v3.波特率数据的传输速率可以用波特率表示。波特率是信号每秒变化的次数,单位是:符号/s比特率是每秒传送二进制数的位数单位是:(bit/s或kbit/s)。如每秒传送240个字符,而每个字符格式包含
3、10位这时的波特率为10位(bit)240个/s=2400 bit/s。在异步串行通信中,接收方和发送方应使用相同的波特率,才能成功传送数据。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.2串行接口的基本结构串行接口的基本结构vMCS-51单片机内部有一个全双工异步串行I/O接口。MCS-51串行接口的内部简化结构如图4.13所示。图4.13 MCS-51串行接口结构图Evaluation only.Crea
4、ted with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.2串行接口的基本结构串行接口的基本结构P3.0是串行数据接收端RXD,P3.1是串行数据发送端TXD。串行接口的结构由串行接口控制电路、发送电路和接收电路3部分组成。发送电路由发送缓冲器(SBUF)、发送控制电路组成,用于串行接口的发送。接收电路由接收缓冲器(SBUF)、接收控制电路组成,用于串行接口的接收。两个数据缓冲器(SBUF)在物理上相互独立,在逻辑上却占用同一字节地址99H。Evaluatio
5、n only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现 v 单片机串行接口工作方式是通过初始化设置,将两个相应控制字分别写入串行控制寄存器SCON(98H)和电 源控制寄存器PCON(97H)即可。v1.和串行接口有关的特殊功能寄存器v1)数据缓冲器(99H)发送缓冲器:只管发送数据,CPU写入SBUF的时候 (MOV SUBF,A)即为发送;接收缓冲器:只管接收数据,CPU读取SBUF的过程
6、 (MOV A,SUBF)即为接收。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。所以可同时发送数据、接收数据。对于发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。接收缓冲器是双缓冲结构,以避免在接收下一帧 数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,就会丢失前一个字节的内容。Ev
7、aluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现 v2)串行接口控制寄存器SCON(98H)用于控制串行接口的工作状态,其格式如下:位D7D6D5D4D3D2D1D0字节地址SCONSM0SM1SM2RENTB8RB8TIRI98H位地址9FH9EH9DH9CH9BH9AH99H98HEvaluation only.Created with Aspose.Slides fo
8、r.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v(1)SM0和SM1:用于设置串行接口的工作方式,2位可选择4种工作方式,如表4-3所示。其中,UART是通用异步接收和发送器的英文缩写,是晶振频率。表4-3 串行接口的工作方式设置/64或SM0SM1方 式功能说明波特率000移位寄存器 /120118位UART可变1029位UART /321139位UART 可变Evaluation only.Created with Aspose.Slides for.
9、NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v(2)REN:允许串行接收位。由软件置位或清零。REN=1时,串行接口允许接收数据;REN=0时,则禁止接收。v(3)TB8:在方式2或方式3中,是发送数据的第9位。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。v(4)RB8:在方式2或方式3中,是接收到数据的第9位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。Evaluation only
10、.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v(5)TI:发送中断标志位。由内部硬件使TI置“1”,向CPU发中断申请。必须用软件将其清“0”,取消此中断申请。v(6)RI:接收中断标志位。由内部硬件使RI置“1”,向CPU发中断申请。必须用软件将其清“0”,取消此中断申请。v(7)SM2:为多机通信控制位,主要用于方式2和方式3。通过控制SM2,可以实现多机通信。Evaluation only
11、.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7.3.2多机通信接口多机通信接口1多机通信原理多机通信原理v串串行行口口控控制制寄寄存存器器SCON中中的的SM2为为多多机机通通信信接接口口控控制制位位。串串行行口口以以方方式式2或或3接接收收时时,若若SM2为为1,则则仅仅当当接接收收到到的的第第9位位数数据据RB8为为1时时,数数据据才才装装入入SBUF,置置位位RI,请请求求CPU对对数数据据进进行行处处理理;当当SM2为为0时时,则则接接
12、收收到到一一个个数数据据后后,不不管管第第9位位数数据据RB8是是0还还是是1,都都将将数数据据装装入入接接收收缓缓冲冲器器SBUF并并置位中断标志置位中断标志RI,请求,请求CPU处理。处理。v发送:先发送地址帧(发送:先发送地址帧(TB8=1),),再发送数据帧(再发送数据帧(TB8=0)。)。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.MCS-51单片机多机通信系统举例单片机多机通信系统举例TXDRXD803
13、1主机主机TXD RXD80310#从机从机TXD RXD80311#从机从机TXD RXD80312#从机从机发送分二步:发送分二步:1.先发送地址先发送地址(第九位为第九位为1 即即TB8=1)所有子机都能接收所有子机都能接收 2.再发送数据再发送数据(第九位为第九位为0即即TB8=0)只有地址指定的子机接收只有地址指定的子机接收接收分二步:接收分二步:1.待接收状态待接收状态 置置SM2=1,只接收只接收RB8=1的信息帧的信息帧,即地址信息即地址信息 2.收到的地址与本机符合时,置收到的地址与本机符合时,置SM2=0,即可接收数据信息即可接收数据信息 因为因为:数据帧的数据帧的RB8=
14、0Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v(8)电源控制寄存器PCON(97H)其中只有1位SMOD与串行接口工作有关,格式如下:v(9)SMOD:波特率系数控制位。在串行接口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率加倍,否则不加倍。复位时,SMOD=0。v PCON的地址为97H,不能位寻址,需要字节传送。位D7D6D5D4D
15、3D2D1D0字节地址PCONSMOD97HEvaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v2.串行接口的工作方式 串行接口可由SCON中的SM0、SM1设置4种工作方式。v1)方式0串行接口为同步移位寄存器的输入/输出方式,而不是 通信方式,可外接移位寄存器,用于扩展并行I/O接口。注意:数据都由RXD(P3.0)引脚输入或输出,TXD引脚 总是用于输出同步移位脉冲
16、。发送和接收均为8位数据,低位在先,高位在后。波特 率固定为/12。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v2)方式0输出 方式0时输出时序如图4.14所示。图4.14 方式0 输出时序Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright
17、2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现当执行任何一条写SBUF的指令时,就启动了串行接口的发送过程(如MOV SBUF,A)。内部的定时逻辑在SBUF写入数据之后,经过一个完整的机器周期,输出移位寄存器中输出位的内容送RXD引脚输出;移位脉冲由TXD引脚输出,它使RXD引脚输出的数据移入外部移位寄存器。当数据的最高位D7位移出后,停止发送数据和移位脉冲,就完成了1B的输出,并把中断标志(TI)置“1”。如要再发送下一字节数据,必须用软件先将TI清“0”。Evaluation only.Created with Aspose.Slid
18、es for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v3)方式0输入 方式0时输入时序如图4.15所示。当SCON中的接收允许位REN=1和 RI=0时,就会启动一次串行接口接收过程。串行数据从RXD引脚输入,移位脉冲由TXD引脚输出。当接收完一帧数据后,由硬件将输入移位寄存器中的内容写入SBUF,并把中断标志(RI)置“1”。如要再接收数据,就再用软件将RI清“0”。Evaluation only.Created with Aspose.Slides
19、 for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现 方式0时输入时序如图4.15所示。图4.15 方式0 输入时序Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v4)方式1串行接口为波特率可变的8位数据的异步通信接口。TXD为数
20、据发送引脚,RXD为数据接收引脚。传送1帧数据为10位,其中,1位起始位(0),8位数据位(低位在先),1位停止位(1)。方式1的波特率由定时器(T1)的溢出率和SMOD的状态决定。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v5)方式1输出 方式1的发送时序如图4.16所示。图4.16 方式1的发送时序Evaluation only.Created with As
21、pose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现执行一条写SBUF的指令就启动了发送过程。在发送移位时钟的作用下,从TXD引脚先送出起始位 (0),然后是8位数据位,最后是停止位(1)。1帧10位数据发送完后,将中断标志(TI)置“1”,向CPU申请中断。如要再发送下一字节数据,必须用软件先将TI清“0”。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client P
22、rofile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v6)方式1输入软件使REN=1和RI=0时,就启动了接收过程。接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,说明起始位有 效,将其移入输入移位寄存器,并开始接收这1帧信息 的其余位。接收过程中,将每个数据位宽度分成16个状态,并在中 间的第7、8、9状态时对RXD采样,采样数据从输入移 位寄存器右边移入,起始位移至输入移位寄存器最左边 时,控制电路进行最后一次移位。Evaluation only.Cr
23、eated with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现当RI=0,且SM2=0(或接收到的停止位为“1”)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。如要再接收数据,就再用软件将RI清“0”。图4.17 方式1的接收时序Evaluation only.Created with Aspose.Slides for.NET 3.5 Client P
24、rofile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v7)方式2和方式3串行接口为9位数据的异步通信接口。TXD为数据发送引脚,RXD为数据接收引脚。传送1帧数据为11位。其中1位起始位(0),然后是8位数据位(低位在先),第10位是SCON中的TB8或RB8,最后1位是停止位(1)。方式2的波特率固定为晶振频率的1/64或1/32,方式3波特率由定时器(T1)的溢出率和SMOD的状态决定。Evaluation only.Created with Aspose.Slides for.NET 3.5
25、 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v8)方式2和方式3 输出 方式2和方式3的发送时序如图4.18所示。图4.18 方式2和方式3的发送时序Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现CPU向SBUF写入数据时,就启动了发送过程。SC
26、ON中的TB8写入输出移位寄存器的第9位,8位数据装入SBUF。发送开始时,先把起始位0输出到TXD引脚,然后是9位数据位,最后是停止位(1)。1帧11位数据发送完后,将中断标志(TI)置“1”,向CPU申请中断。如要再发送下一字节数据,必须用软件先将TI 清0。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v9)方式2和方式3输入 方式2和方式3的接收时序如图4.1
27、9所示。图4.19 方式2、方式3的接收时序Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现软件使REN=1和RI=0时,就启动了接收过程。接收器就以所选频率的16 倍速率开始采样RXD引脚的电平状态,当检测到RXD引脚发生负跳变时,说明起始位有效,将其移入输入移位寄存器,开始接收这1帧数据。接收时,将每个数据位宽度分成16个状态,并在中间的第7、8、9状态时对RXD采
28、样,采样数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现当RI=0,且SM2=0(或接收到的第9位数据为“1”)时,接收到的数据装入接收缓冲器和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如要再接收数据,就再用软件将RI清“0”。如果条件不满足,则数据丢失,且不置位RI,继续搜
29、索RXD引脚的负跳变。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现v3.波特率的计算串行通信双方对发送或接收数据的波特率事先要约定好保持一致。MCS-51单片机的波特率设置与工作方式有关,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率和SMOD的状态决定。Evaluation only.Created with Aspos
30、e.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现各种方式的波特率计算由以下公式确定:方式0的波特率=/12 方式2的波特率=(2SMOD/64)方式1的波特率=(2SMOD/32)(T1溢出率)方式3的波特率=(2SMOD/32)(T1溢出率)Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011
31、Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现当T1作为波特率发生器时,常使T1工作在自动重装初值的8位定时器方式,并禁止T1中断。这种方式可避免重新设定定时初值而产生波特率误差。TH1从初值计数到产生溢出,它每秒溢出的次数称为溢出率。T1溢出率=/12256-(TH1)Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现在单片机的应用中,
32、相同机种单片机的波特率很容易达到一致,只要晶振频率相同,可以采用完全一致的设置参数。异机种单片机的波特率设置较难达到一致,这时的设计原则应使两个通信设备之间的波特率误差小于2.5%。常用的串行接口波特率、晶振频率以及各参数的关系如表4-4所示。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.3串行接口的控制与实现串行接口的控制与实现表4-4常用波特率、晶振频率与定时器(T1)的参数关系串口工作方式及波特率/(b
33、it/s)fosc/MHzSMOD定时器(T1)C/T工作方式初值方式01MHz12无关方式2375kHz121无关方式1方式362.5 kHz12102FFH19.2 kHz11.0592102FDH9600Hz11.0592002FDH4800Hz11.0592002FAH2400Hz11.0592002F4H1200Hz11.0592002E8HEvaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.4用串行接口
34、扩展并行用串行接口扩展并行I/O接口接口v串行接口工作在方式0时用于扩展并行I/O接口。v74LS164为一个1位串行输入8位并行输出的移位寄存器,TXD引脚输出的移位脉冲将RXD引脚输出的数据(低位在先)逐位移入74LS164,扩展8个LED指示灯。v74LS165为一个8位并行输入1位串行输出的移位寄存器,TXD引脚输出的移位脉冲将74LS165的8位并行输入的数据(低位在先)逐位移入RXD引脚,扩展8个按键。v图4.20为一个串行接口扩展并行I/O接口方案。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Prof
35、ile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.4用串行接口扩展并行用串行接口扩展并行I/O接口接口【例】【功能】如图4.20所示的8个LED指示灯,指示8个按键闭合状态,有键按下时对应的指示灯亮。图4.20 串行接口扩展并行I/O接口方案Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.4用串行接口扩展并行用串行接口扩展并行I/O接口接口【实现程序】SIO:
36、MOV SCON,#10H;REN=1,RI=0,SM0=0,SM1=0,;串行口工作在方式0,且启动接收过程LOOP:CLR P1.0 ;允许并行读入按键到74LS165,S/=0 ;有按键的位读数为0 SETB P1.0;允许串行移位,S/=1 CLR RI;启动接收 JNB RI,$;若RI=0,8位数据未接收完,等待 MOV A,SBUF;若RI=1,8位数据接收完,读入A CLR TI;清发送标志,准备发送 MOV SBUF,A;启动发送,输出数据位0,;将点亮对应位LED JNB TI,$;8位数据未发送完,等待 SJMP LOOP;8位数据发送完,循环Evaluation onl
37、y.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准v除了满足波特率、工作方式和特殊功能寄存器的设定外,串行通信双方必须采用相同的接口标准,才能进行正常的通信。v由于不同设备串行接口的信号线定义、电气规格等特性都不尽相同,因此要使这些设备能够互相连接,需要统一的串行通信接口。v下面介绍常用的RS-232C和RS-485串行通信接口标准。Evaluation only.Created with Aspose.S
38、lides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准v1.RS-232C接口 RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。接口标准包括引脚定义、电气特性和电平转换几方面内容:1)引脚定义 RS-232C接口规定使用25针“D”型口连接器,常用9针“D”型口连接器替代25针连接器。连接器引脚定义如图:Evaluation only.Created with Aspose.Slides for.NET 3.5 Cli
39、ent Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准 RS-232C接口主要信号线的功能定义如表4-5所示。表4-5 RS-232C标准接口主要引脚定义插针序号信号名称功能1DCD载波检测2RXD接收数据(串行输入)3TXD发送数据(串行输出)4DTRDTE就绪(数据终端准备就绪)Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty
40、Ltd.6.3.5串行通信接口标准串行通信接口标准插针序号信号名称功能5SGND信号接地6DSRDCE就绪(数据建立就绪)7RTS请求发送8CTS允许发送9RI振铃指示Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准v2)电气特性RS-232C采用负逻辑电平,规定DC(-3-15V)为逻辑1,DC(+3+15V)为逻辑0。通常RS-232C的信号传输最大距离为30m。最高传输速
41、率为20kbit/s。RS-232C的逻辑电平与通常的TTL和MOS电平不兼容,为了实现与TTL或MOS电路的连接,要外加电平转换电路。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准v3)RS-232C电平与TTL电平转换驱动电路 常见的TTL到RS-232C的电平转换器有MC1488、MC1489和MAX 202/232/232A等芯片。图4.22 MAXM 202/232
42、/232A内部逻辑功能Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准v2.RS-485接口RS-232C推出的时间较早,传输速率慢,传输距离短,无法满足许多工业现场的使用要求。EIA相继公布了RS-449、RS-423、RS-422和RS-485等替代标准。RS-485以其优秀的特性、较低的成本在工业控制领域得到了广泛的应用。Evaluation only.Created w
43、ith Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准1)引脚定义RS-485使用两种标准接口连接器,37针“D”型口连接器和9针“D”型口连接器,主要信号线的功能定义如表4-6所示。表4-6 RS-422标准接口主要引脚定义插针序号信号名称功能1Shield屏蔽地2RTS+请求发送+3RTS-请求发送-4TXD+发送数据+5TXD-发送数据-6CTS+允许发送+7CTS-允许发送-8RXD+接收数据+9RXD-接收数据-Evalu
44、ation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准v2)电气特性RS-485工作于半双工方式,采用一对平衡差分信号线。RS-485是一种多发送器标准,在通信线路上最多可以使用32 对差分驱动器/接收器。驱动器输出电平DC(-1.5-6V)为逻辑“1”,DC(+3+15V)为逻辑“0”。接收器输入差分电压在-200mV以下时为逻辑“1”,在+200mV以上时为逻辑“0”。通常RS-485的信
45、号传输最大距离为1200m,最高传输速率为10Mbit/s。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准3)RS-485电平与TTL电平转换驱动电路RS-485的驱动接口部分通常由Maxim公司生产的差分平衡器收发芯片MAX 481/483/485/487/489等,每种型号的芯片内部均集成了一个驱动器和一个接收器。MAX 481/483/485/487为8引脚封装,引脚功
46、能说明如下。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准(1)RO:接收器输出;(2):接收器输出使能,引脚为“0”,允许接收器,引脚为输出“1”,接收器输出被禁止;(3)DE:驱动器输出使能,引脚为“1”,允许驱动器工 作,引脚为“0”,驱动器工作被禁止;(4)DI:驱动器输入;(5)GND:接地端;(6)A:接收器非反相输入和驱动器非反相输出端;(7)B:接收器反相输入
47、和驱动器反相输出端;(8)VCC:电源端,电压范围可以是4.755.25V;Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.5串行通信接口标准串行通信接口标准 其引脚分布与典型工作电路如图4.23所示:图4.23 MAX 481/483/485/487引脚图及接口示意图Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.
48、2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.6单片机串行接口通信技术举例单片机串行接口通信技术举例v1.单片机与单片机之间的双机通信双机之间通信应考虑接口电路、通信协议和程序编 制等几个方面问题。1)接口电路TTL电平通信接口:系统之间的距离在1m范围内RS-232C通信接口:系统之间的距离在30m范围内RS-485通信接口:系统之间的距离在1200m范围内 Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-201
49、1 Aspose Pty Ltd.6.3.6单片机串行接口通信技术举例单片机串行接口通信技术举例v双机通信根据通信距离和抗干扰性,可选择TTL电平直连,RS-232C和RS-485等接口方法如图4.24所示。(a)TTL电平传输通信接口电路 b)RS-232C通信接口电路 图4.24 双机通信接口电路Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.6单片机串行接口通信技术举例单片机串行接口通信技术举例(c)RS
50、-485通信接口电路 图4.24 双机通信接口电路 Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6.3.6单片机串行接口通信技术举例单片机串行接口通信技术举例 2)通信协议TTL电平直连,RS-232C双机通信的软件设计方法是一样的。RS-485双机通信是半双工方式,在单片机系统发送或接收数据前,应先将MAX485的发送门或接收门打开。当P1.0=1时,发送门打开,接收门关闭;当P1.0=0时,接收门打开,发送门关