《单片机原理及应用》课件第10章 串行口通信_第1页
《单片机原理及应用》课件第10章 串行口通信_第2页
《单片机原理及应用》课件第10章 串行口通信_第3页
《单片机原理及应用》课件第10章 串行口通信_第4页
《单片机原理及应用》课件第10章 串行口通信_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

第10章串行口通信10.1串行通信概述10.28051串行口10.38051串行口的应用10.4串行通信总线标准及其接口10.5单片机与PC机通信的接口电路10.6常用的串行总线接口简介10.7实践训练——单片机与单片机之间

的串行通信10.8思考与练习随着网络通信技术的应用,人们越来越多的采用计算机与单台或多台单片机构成小型集散控制系统,它即利用了单片机系统成本低、面向控制和抗干扰等优点,又结合了计算机极为丰富软件资源,为用户提供了一个非常友好的人机见面。通过单片机与计算机通行采用串行通信,能够实现智能化控制、汉字与图形显示等诸多功能。本章要点:串行通信的基本概念8051单片机串行口的结构和工作原理串行口的4种工作方式RS-232串行接口的含义及应用单片机双机通信的应用程序的设计CONTNTS10.1串行通信概述01计算机的通信可分为并行通信和串行通信两种方式。同时传送多位数据的方式称为并行通信,如图10-1(a)所示。并行通信的特点是数据传输速度快,但需要的传输线多,因此成本高,适合近距离的数据通信。计算机内部的数据传送都采用并行方式。数据传输速度慢,但最少只需要一条传输线,故成本低,适合远距离的数据通信。计算机与外界的数据传送大多是串行方式,其传送的距离可以从几米到几千米。10.1串行通信概述01

异步通信的数据或字符是分为一帧一帧地传送的,在异步通信中,用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如图所示。在一帧格式中,先是一个起始位0,然后是5~8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。一帧数据传送结束后,可以接着传送下一帧数据,也可以等待,等待期间数据线为高电平(空闲位)。如果要传送下一帧,只要让数据线由高电平变为低电平,即下一帧的起始位,以便接收器接收下一帧数据。异步通信中每个字符都要额外附加起始位和停止位,所以工作速度较低,但对硬件的要求较低,实现起来比较简单、灵活,适用于数据的随机发送和接收,在单片机中主要采用异步通信方式。10.1串行通信概述01

在计算机与一些高速设备进行数据通信时,为了提高数据块传递速度,可以去掉起始位和停止位标志,采用同步传送。同步通信的传送格式如图所示。

同步通信由1~2个同步字符和多字节数据位组成,由同步字符作为起始位以触发同步时钟开始发送或接收数据,由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂,适用于成批数据传送。10.1串行通信概述01

串行通信按照数据传送的方向可分为三种制式,单工制式、半双工制式和全双工制式,如图所示。(1)单工制式单工制式是指甲乙双方通信时只能单向传输数据,如图10-4(a)所示。(2)半双工制式半双工制式是指通信双方都有发送器和接收器,既可以发送也可以接收,但不能同时发送和接收,如图10-4(b)所示。(3)全双工制式全双工制式是指通信双方都有发送器和接收器,且信道划分为发送信道和接收信道,可以实现甲方(乙方)同时发送和接收数据,如图10-4(c)所示。10.1串行通信概述01

在串行通信中,数据是按位传送的,传送速率用每秒传送数据的位数来表示,称为波特率或比特率,以波特为单位。1波特=1位/秒(1bit/s)例如数据传送的速率是120字符/s,而每个字符如上述规定包含10数位,则传送波特率为1200波特。10.1串行通信概述CONTNTS10.2

8051串行口028051串行口的内部结构如图10-5所示。10.28051串行口02串行口有发送数据和接收数据的工作过程。1.串行口发送数据串行口发送数据时,从片内总线向发送SBUF写入数据(MOVSBUF,A),启动发送过程,由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平),A中的数据送入SBUF,在发送控制器控制下,按设定的波特率,每来一个移位脉冲,数据移出一位,先发送一位起始位(低电平),再由低位到高位一位一位通过TXD(P3.1)把数据发送到外部电缆上,数据发送完毕,最后发一位停止位(高电平),一帧数据发送结束。发送控制寄存器通过或门向CPU发出中断请求(TI=1),CPU可以通过查询TI或者响应中断的方式,将下一帧数据送入SBUF,开始发送下一帧数据。2.串行口接收数据在接收数据时,若RXD(P3.2)接收到一帧数据的起始信号(低电平),串行控制寄存器SCON向接收控制器发出允许接收信号,按设定的波特率,每来一个移位脉冲,将数据从RXD端移入一位,放在输入移位寄存器中,数据全部移入后,寄存器再将全部数据送入接收SBUF中,同时接收控制器通过或门向CPU发出中断请求(RI=1),CPU可以通过查询RI或者响应中断的方式,将接收SBUF中的数据取走(MOVA,SBUF),从而完成了一帧数据的接收。其后各帧数据的接收过程与上述相同。由以上叙述可得,串行通信双方的移位速度必须一致,否则会造成数据位的丢失。因此,在设计串行程序时,通信双方必须采用相同的波特率。10.28051串行口02控制8051系列单片机串行口的控制寄存器有两个:特殊功能寄存器SCON和PCON。下面对这两个寄存器的各位功能予以介绍。1.串行控制寄存器SCONSCON是一个逐位定义的8位寄存器,用于控制串行通信的方式选择、接收和发送,指示串口的状态,SCON即可以字节寻址,也可以位寻址,其字节地址为98H,地址位为98H~9FH。它的各个位定义见表10-1。10.28051串行口02(1)SM0和SM1——串口的工作方式选择位2个选择位对应4种工作方式,见表10-2。其中

是振荡器的频率,UART是通用异步接收/发送器。10.28051串行口02(2)SM2——多机通信控制位在工作方式2和3中SM2是多机通信的使能位,若SM2=1且接收到的第9位数据(RB8)为0,则将接收到的前8位数据丢弃,中断标志RB8不会被激活;若接收到的第9位数据(RB8)为1,则将接收到的前8位数据送入SBUF,且RI置位。若SM2=0,则无论第9位数据是1还是0,都将前8位数据送入SBUF,且RI置位。此功能可用于多处理机通信。在工作方式0中,SM2必须为0。在工作方式1中,若SM2=1且没有接收到有效的停止位,则接收中断标志位RI不会被激活。(3)REN——允许串行接收位由软件置位或清除,置位时允许串行接收,清除时禁止串行接收。

(4)TB8——工作方式2和工作方式3要发送的第9位数据在许多通信协议中该位是奇偶位,可以按需要由软件置位或清除。在多处理机通信中,该位用于表示是地址帧还是数据帧。10.28051串行口02(5)RB8——工作方式2和工作方式3中接收到的第9位数据可以是奇偶位或者地址/数据标识位等,在工作方式1中若SM2=0,则RB8是已接收的停止位。在工作方式0中RB8不使用。(6)TI——发送中断标志位由硬件置位,软件清除。工作方式0中在发送第8位末尾由硬件置位;在其他工作方式时,在发送停止位开始时由硬件置位。TI=1时,申请中断。CPU响应中断后,发送下一帧数据。在任何工作方式中都必须由软件清除TI。(7)RI——接收中断标志位由硬件置位,软件清除。工作方式0中在接收第8位末尾由硬件置位;在其他工作方式时,在接收到停止位时由硬件置位。RI=1时,申请中断,要求CPU取走数据。但在工作方式1中,SM2=1且未接收到有效的停止位时,不会对RI置位。在任何工作方式中都必须由软件清除RI。系统复位时,SCON的所有位都被清0。10.28051串行口022.电源控制寄存器PCONPCON也是一个逐位定义的8位寄存器,字节地址为87H,只能按字节寻址,目前仅仅有几位有定义,见表10-3。PCON中仅最高位SMOD与串行口的控制有关。SMOD是串行通信波特率系数控制位,当串行口工作在工作方式1或工作方式2时,若使用T1作为波特率发生器,SMOD=1则波特率加倍,因此SMOD也称为串行口的波特率倍增位。系统复位时,SMOD被清0。10.28051串行口0210.2.4串行口的工作方式按照串行通信的数据格式和波特率的不同,8051系列单片机的串行口有4种工作方式,可以通过SM0SM1进行选择。10.28051串行口0210.28051串行口0210.28051串行口0210.28051串行口0210.28051串行口10.2.5波特率的设定0210.28051串行口CONTNTS10.38051串行口的应用03

在进行串行口的应用时,要解决的问题主要是硬件的连接和编制应用程序。硬件的连接主要是串行口的RXD、TXD端与外部芯片引脚的连接,根据串行口工作方式和外部芯片的不同而有所不同。应用程序的编写内容主要分为串行口初始化和应用程序主体。1.串行口初始化程序主要内容(1)选择串行口的工作方式,即设定SCON中的SM0、SM1。(2)设定串行口的波特率。方式0可以省略这一点。设定SMOD的状态,若设定SMOD=1,则波特率加倍。若选择方式1和方式3,则需对定时器T1进行初始化并设定其初值。(3)若选择串行口接收数据或是双工通信方式,需设定REN=1。(4)若采用中断方式编写串行程序,需开串行中断,即设定ES=1,EA=1。032.串行口应用程序主体串行通信可采用两种方式编程,查询方式和中断方式。TI和RI是串行通信一帧数据发送完和接收完的标志。无论是查询方式还是中断方式编程,都需要用到TI或RI。两种方式编程方法如下。(1)查询方式发送数据块程序:发送一个数据→查询TI,直至TI=1→发送下一个数据。查询方式接收数据块程序:查询RI,直至RI=1→读入一个数据→查询RI,直至RI=1→读入下一个数据。(2)中断方式发送数据块程序:发送一个数据→等待中断→在中断程序中再发送下一个数据。中断方式接收数据块程序:等待中断→在中断程序中再接收一个数据。10.38051串行口的应用0310.3.1利用串行口扩展并行口单片机并行I/O口数量有限,当并行口不够使用时,可以利用串行口来扩展并行口。8051系列单片机串行口方式0为移位寄存器方式,外接一个并入串出的移位寄存器,可以扩展一个并行输入口,如图10-6所示;外接一个串入并出的移位寄存器,可以扩展一个并行输出口,如图10-7所示。10.38051串行口的应用0374LS165为并入串出移位寄存器,A、B、…、H为并行输入端(A为高位),QH为串行数据输出端,CLK为同步时钟输入端,S/L为预置控制端。S/L=0时,锁存并行输入数据;S/L=1时,可进行串行移位操作。74LS164为串入并出移位寄存器,其中A、B为串行数据输入端,QA、QB、…、QH为并行数据输出端(QA为高位),CLK为同步时钟输入端,CLR为输出清0端。若不需将输出数据清0,则CLR端接VCC。10.38051串行口的应用CONTNTS10.4

串行通信总线标准及其接口04串行通信是将数据一位一位地传送,它只需要一根数据线,硬件成本低,而且可使用现有通信信道(如电话),故在集散型控制系统(特别在远距离传输数据时),例如智能化控制仪表与上位机(IBM-PC机等)之间通常采用串行通信来完成数据的传送。

常见的串行接口标准有RS-232C(recommendedstandard)、RS-422/485和20mA电流环等。PC上配置有COM1和COM2两个串行接口,它们都采用了RS-232C标准。RS-232C是美国电子工业协会(electronicsindustringassociation,EIA)制定的一种国际通用的串行接口标准。它最初是为远程通信连接数据终端设备(dataterminalequipment,DTE)和数据通信设备(datacommunicationequipment,DCE)制定的标准,目前已广泛用做计算机与终端或外部设备的串行通信接口标准。该标准规定了通信设备之间信号传送的机械特性、信号功能、电气特性及连接方式等。10.4串行通信总线标准及其接口041.机械特性及信号功能RS-232C的机械特性及引脚信号决定了微机与外部设备的连接方式,在PC中使用两种连接器(插头、插座)。一种是DB25连接器,如图10-9(a)所示。它具有25条信号线,分两排排列,1~13信号线为一排,14~25信号线为一排;RS-232C规定了两个信道(即通信通道):主信道和辅助信道,另外有4个引脚未定义。辅助信道的传输速率比主信道慢,一般不使用。用于主信道的有15个引脚,见表10-5。另外一种是DB9连接器,如图10-9(b)所示。它有9条信号线,也是分两排排列,1~5信号线为一排,6~9信号线为一排,其功能见表10-5。RS-232C所能直接连接的最长通信距离不大于15m,最高通信速率为20000bps。040404在RS-232C定义的引脚信号中,用于异步串行通信的信号除了发送数据TXxD和接收数据RXD外,还有以下几个联络信号。·数据终端就绪DTR(dataterminalready):数据终端设备已准备好。·据设备就绪DSR(datasetready):数据通信设备已准备好。·请求发送RTS(requesttosend):数据终端设备请求发送数据。·允许发送CTS(cleartosend):数据通信设备允许发送数据。·载波检测CD(carrieddetect):数据通信设备已检测到数据线路上传送的数据串。·振铃指示RI(ringingindicator):数据通信设备已经接收到电话交换机的拨号呼叫。·TXC(transmitterclock):控制数据终端发送串行数据的时钟信号。·RXC(receiverclock):控制数据终端接收串行数据的时钟信号。·保护地:这是一个起屏蔽作用的接地端,一般连接到设备的外壳和机架上,必要时连接到大地。上述信号的作用是在数据终端设备和数据通信设备之间进行联络。在计算机通信系统中,数据终端设备通常指计算机或终端,数据通信设备通常指调制解调器。042.电气特性及连接方式RS-232C的电气特性规定了各种信号传输的逻辑电平,即EIA电平。对于TXD和RXD上的数据信号,采用负逻辑。用-3~-25V(通常为-3~-15V)表示逻辑“1”,用+3~+25V(通常为+3~+15V)表示逻辑“0”。对于DTR,DSR,RTS,CTS,CD等控制信号,规定:-3~-25V表示信号无效,即断开(OFF),+3~+25V表示信号有效,即接通(ON)。显然,采用RS-232C标准电平与计算机连接时,它与计算机采用的TTL电平不兼容。TTL是标准正逻辑,用+5V表示逻辑“1”,用0V表示逻辑“0”。因此,RS-232C的EIA电平与CPU的TTL电平连接时,必须进行电平转换。常见的电平转换芯片有MC1488/MC1489和SN75150/SN75154。MC1488和SN75150芯片的功能是将TTL电平转换为EIA电平,MC1489和SN75154芯片的功能是将EIA电平转换为TTL电平。MC1488和MC1489的内部结构及引脚信号如图10-10和图10-11所示。MC1488芯片的2,4,5,9,10,12,13引脚用来输入TTL电平,3,6,8,11引脚用来输出EIA电平,引脚1接-12V,引脚14接+12V,7引脚接地。MC1489芯片1,4,10,13引脚用来输入EIA电平,3,6,8,11引脚用来输出TTL电平,2,5,9,12引脚接+5V,7引脚接地,14引脚接+5V。0404用MC1488和MC1489进行EIA电平与TTL电平转换的接口电路如图10-12所示。电平转换电路的一侧是RS-232C连接器,另一侧是计算机的串行接口(8250或16550)。计算机发送数据时,由串行接口发送端TXD送出TTL电平,经MC1488转换为RS-232C的EIA电平进行发送。同样的道理,计算机接收数据时,由MC1489将RS-232C送来的EIA电平转换为TTL电平,经串行接口接收端RXD送入计算机。随着大规模数字集成电路的发展,目前有许多厂家已经将MC1488和MC1489集成到一块芯片上,如美国美信(MAXIM)公司的产品MAX220,MAX232和MAX232A。MAX232的内部结构及引脚信号如图10-13所示。0404芯片内集成了两个发送驱动器和两个接收缓冲器,同时还集成了两个电源变换电路,其中一个升压泵,将+5V提高到+10V,另一个则将+10V转换成-10V。芯片为单一+5V电源供电。RS-232C通信接口的信号线有近距离和远距离两种连接方法。近距离(传输距离小于15m)线路连接比较简单,只需要三条信号线(TXD,RXD和GND),将通信双方的TXD与RXD对接,地线连接即可。双机近距离通信连接如图10-14所示。04在进行远距离通信时,通信线路使用公用电话网,因为电话线上只能传输音频模拟信号,而计算机传送的是数字信号,故需要在通信双方加MODEM进行数字信号与模拟信号之间的转换。双机远距离通信连接如图10-15所示。发送方将计算机发送的数字信号用调制器(modulator)转换为模拟信号,送到电话线路上;接收方将接收到的模拟信号由解调器(demodulator)转换为数字信号,送计算机处理。04DTR和DSR是一对握手信号,当甲方计算机准备就绪时,向MODEM发送DTR。乙方MODEM接收到DTR后,若同意通信,则向甲方计算机回送DSR,于是“握手”成功。RTS和CTS也是一对握手信号,当甲方计算机准备发送数据时,向MODEM发送RTS。乙方MODEM接收到RTS后,若同意接收,则向甲方计算机回送CTS,于是“握手”成功,甲方开始传送数据,乙方接收数据。0410.1.1RS-422与RS-485串行接口标准RS-232C串行接口为计算机与设备之间,以及计算机与计算机之间的串行通信提供了方便,但也存在一些缺点,其中最主要的是:RS-232C只能一对一地通信,不借助于MODEM时,数据传输距离仅15m。究其原因,是因为RS-232C采用的接口电路是单端驱动,单端接收,如图10-16所示。当距离增大时,两端的信号地将存在电位差,从而引起共模干扰。而单端输入的接收电路没有任何抗共模干扰的能力,所以只有通过抬高信号电平幅度来保证传输的可靠性。为了克服RS232C的缺点,提出了RS422接口标准,后来又出现了RS485接口标准。这两种总线一般用于工业测控系统中。043.RS-422电气规定RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。RS-422典型的四线接口电路如图10-17所示。实际上还有一条信号地线,共五条线。由于接收器采用高输入阻抗和发送驱动器,比RS232C具有更强的驱动能力,所以允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(master),其余为从设备(slave),从设备之间不能通信,所以RS422支持一点对多点的双向通信。接收器输入阻抗为4kW,故发送端最大负载能力是10×4kW+100W(终接电阻)。RS-422的最大传输距离为4000英尺(约1219m),最大传输速率为10Mbps。其平衡双绞线的长度与传输速率成反比,在100kbps速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100m长的双绞线上所能获得的最大传输速率仅为1Mbps。044.RS-485电气规定由于RS-422接口标准采用四线制,为了在距离较远的情况下进一步节省电缆的费用,推出了RS-485接口标准。RS-485接口标准采用两线制。由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相似。如都采用平衡传输方式,都需要在传输线上接终接电阻等。RS-485与RS-422的不同在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V至+7V之间;RS-485接收器最小输入阻抗为12kW,而RS-422是4kW。它们的接口基本没有区别,仅仅是RS-485在发送端增加了使能控制。因为RS-485满足所有RS-422的规范,所以RS-485驱动器可以在RS-422网络中应用。RS-485可以采用半双工和全双工通信方式,半双工通信的芯片有SN75176,SN75276,MAX485等,全双工通信的芯片有SN75179,SN75180,MAX488等。下面以MAX485和MAX488为例,介绍RS-485接口芯片的功能和接口电路。MAX485是8引脚双列直插式芯片,单一+5V供电,支持半双工通信方式,接收和发送的速率为2.5Mbps,最多可连接的标准节点数为32个。所谓节点数,即每个RS485接口芯片的驱动器能驱动多少个标准RS-485负载。MAX485芯片的引脚信号及接口电路如图10-18所示。0404·RO(receiveroutput):接收器输出引脚。当引脚A的电压高于引脚B的电压200mV时,RO引脚输出高电平;当引脚A的电压低于引脚B的电压200mV时,RO引脚输出低电平。·RE(receiveroutputenable):接收器输出使能引脚。当RE为低电平时,RO输出;当RE为高电平时,RO处于高阻状态。·DE(driveroutputenable):发送器输出使能引脚。当DE引脚为高电平时,发送器引脚A和B输出;当DE引脚为低电平时,引脚A和B处于高阻状态。·DI(driverinput):发送器输入引脚。当DI为低电平时,引脚A为低电平,引脚B为高电平;当DI为高电平时,引脚A为高电平,引脚B为低电平。·A(noninvertingreceiverinputandnoninvertingdriveoutput):接收器输入/发送器输出“+”引脚。·B(invertingreceiverinputandinvertingdriveoutput):接收器输入/发送器输出“-”引脚。·VCC:芯片供电电源。·GND:芯片供电电源地。04MAX485芯片采用半双工方式进行多个RS-485接口通信时,电路连接简单,只需要将各个接口的“+”端与“+”端相连、“-”端与“-”端相连,电路如图10-18(b)所示。连接的两条线就是RS-485的“物理总线”。这些相互连接的RS-485接口物理地位完全平等,在逻辑上取一个为主机,其他的为从机。在通信时,同样采用主机呼叫,从机应答的方式。MAX489是14引脚双列直插式芯片,单一+5V供电,支持全双工通信方式,接收和发送速率为0.25Mbps,最多可连接的标准节点数为32个。MAX489的引脚信号及接口电路如图10-19所示。04·RO:接收器输出引脚。当引脚A的电压高于引脚B的电压200mV时,RO引脚输出高电平;当引脚A的电压低于引脚B的电压200mV时,RO引脚输出低电平。·RE:接收器输出使能引脚。当RE为低电平时,RO输出;当RE为高电平时,RO处于高阻状态。·DE:发送器输出使能引脚。当DE引脚为高电平时,发送器引脚Y和Z输出;当DE引脚为低电平时,引脚Y和Z处于高阻状态。·DI:发送器输入引脚。当DI为低电平时,引脚Y为低电平,引脚Z为高电平;当DI为高电平时,引脚Y为高电平,引脚Z为低电平。·Y(noninvertingdriveoutput):发送器输出“+”引脚。·Z(invertingdriveoutput):发送器输出“-”引脚。·A(noninvertingreceiverinput):接收器输入“+”引脚。·B(invertingreceiverinput):接收器输入“-”引脚。·VCC:芯片供电电源。·GND:芯片供电电源地。·NC(noconnect)空脚,内部没有连接.CONTNTS10.5单片机与PC机通信的接口电路05利用PC机配置的异步通信适配器,可以很方便地完成PC机与单片机的数据通信。PC机与8051单片机最简单的连接是零调制3线经济型,这是进行全双工通信所必须的最少数目的线路。要完成PC机与单片机的数据通信.必须进行电平转换,MAX232单芯片就可以实现8051单片机与PC机的RS-232C之间的电平转换。RS-232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个。随着设备的不断改进,现在DB25针很少看到了,代替它的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。被广泛用于计算机的串行接口(COM1、COM2等)与单片机或其它终端之间的近地连接。因此现在都把RS232接口叫做DB9。该标准在数据传输速率20Kbps时,最长的通信距离为15米。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:05接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200bps,也是这个原因。接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。8051系列单片机上有UART(UniversalAsynchronousReceiver/Transmitter通用异步接收/发送)用于串行通信,发送数据时由TXD(P3.1)端送出,接收数据时由RXD(P3.0)端输入。单片机内部有两个数据传输缓冲器SBUF,一个作为发送,一个作为接收。UART是可编程的全双工串行口,短距离单片机之间通行可以直接互联,使用接口芯片MAX232可以接成RS-232接口与计算机COM口进行通行。图10-20是单片机常用的RS-232接口电路原路。05CONTNTS10.6常用的串行总线接口简介061.I2C(InterIntegratedCircuit)I2C总线是Philips公司推出的芯片间串行传输总线。它用两根线实现数据传送,可以极为方便地构成多机系统和外围器件扩展系统。I2C总线是二线制,采用器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。I2C总线简单,结构紧凑,易于实现模块化和标准化。I2C总线传送速率主要有两种:一种是标准S模式(100Kb/s),另一种是快速F模式(400Kb/s)。2.SPISPI总线是Motorola公司提出的一种同步串行外设接口。允许MCU与各种外围设备以同步串行方式进行通信。其外围设备种类繁多:最简单的TTL移位寄存器到复杂的LCD显示驱动器、网络控制器等。SPI总线是三线制,可直接与多种标准外围器件直接接口,在SPI从设备较少而没有总线扩展能力的单片机系统中使用特别方便。即使在有总线扩展能力的系统中采用SPI设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。063.MicrowareMicroware总线是NS公司提出的串行同步双工通信接口,用于8位COP800系列单片机和16位HPC系列单片机。Microware总线是三线制,由一根数据输出(SO)线、一根数据输入(SI)线和一根时钟(SK)线组成。所有从器件的时钟线连接到同一根SK线上,主器件向SK线发送时钟脉冲信号,从器件在时钟信号的同步沿输出/输入数据。主器件的数据输出线SO和所有从器件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线SI上。4.单总线(1-wire)1-wire总线是Dallas公司研制开发的一种协议,用于便携式仪表和现场监控系统。1-wire总线是利用一根线实现双向通信,由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合1-wire协议的从芯片都有一个唯一的地址,包括8位分类码、48位的序列号和8位CRC代码。主芯片对各个从芯片的寻找依据这64位的不同来进行。单总线节省I/O引脚资源、结构简单、成本低廉、便于总线扩展和维护。065.USB(UniversalSerialBus)USB总线是Compaq、Intel、Microsoft、NEC等公司联合制定的一种计算机串行通信协议。USB比较于其他传统接口的一个优势是即插即用的实现,即插即用(Plug-and-Play)也称为热插拔(HotPlugging)。数据传输速度快,USB1.1接口的最高传输率可达12Mb/s;USB2.0接口的最高传输率可达480Mb/s。扩展方便,使用USBHub扩展,可以连接127个USB设备,连接的方式十分灵活。6.CAN(ControllerAreaNetwork)CAN总线是德国Bosch公司最先提出的多主机局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备。在由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。当信号传输距离达到10km时,CAN仍可提供高达50Kbit/s的数据传输速率。CONTNTS10.7

实践训练—单片机与单片机之间的串行通信07一个单片机的功能是有限的,将数个乃至

温馨提示

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

评论

0/150

提交评论