版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、15:051第第第第第第8 8 8章章章章章章 串行口及应用串行口及应用串行口及应用串行口及应用串行口及应用串行口及应用 15:052内容内容串行通信基础知识串行通信基础知识8.180C51单片机的串行口单片机的串行口8.2串行口的应用串行口的应用 8.315:0538.1 串行通信基础知识串行通信基础知识8.1.1 计算机对外通信方式计算机对外通信方式计算机与计算机之间、计算机与外设之间的数据交换称为计算机与计算机之间、计算机与外设之间的数据交换称为通信。通信。计算机通信有两种基本方式:计算机通信有两种基本方式:并行通信和串行通信。并行通信和串行通信。 数据的各位被同时传送的通信方法称为数据
2、的各位被同时传送的通信方法称为并行通信。并行通信。 图图8-1 并行通信收发设备连接示意图并行通信收发设备连接示意图 图图8-2 并行通信传送时序图并行通信传送时序图并行通信的特点并行通信的特点是是控制简单,传输速度快控制简单,传输速度快。由于传输线较多,。由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。长距离传送时成本高且接收方的各位同时接收存在困难。 。 15:054串行通信串行通信是将数据字节分成一位一位的形式在一条传输线上逐是将数据字节分成一位一位的形式在一条传输线上逐个地传送。个地传送。 串行通信串行通信具有传输线少,长距离传送时成本低,抗干扰能力强具有传输线少,长
3、距离传送时成本低,抗干扰能力强等优点,对于单片机来说,其所占用的引脚资源少。但串行通等优点,对于单片机来说,其所占用的引脚资源少。但串行通信数据的传送控制比并行通信复杂。信数据的传送控制比并行通信复杂。15:0558.1.2 串行通信的基本概念串行通信的基本概念1. 1. 串行通信的方式串行通信的方式(1) 异步通信异步通信异步通信异步通信是指通信的发送与接收设备使用各自的时钟控制是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。和接收设备的时钟尽可能一致。 15:056 异
4、步通信是以字符异步通信是以字符(构成的帧构成的帧)为单位进行传输,字符与为单位进行传输,字符与字符之间的间隙字符之间的间隙(时间间隔时间间隔)是任意的,但每个字符中的各位是任意的,但每个字符中的各位是以固定的时间传送的。是以固定的时间传送的。 为了实现异步传输字符的同步,采用的办法是使传送的为了实现异步传输字符的同步,采用的办法是使传送的每一个字符都以起始位每一个字符都以起始位“0”开始,以停止位开始,以停止位“1”结束。这结束。这样,传送的每一个字符都用起始位来进行收发双方的同步。样,传送的每一个字符都用起始位来进行收发双方的同步。停止位和间隙作为时钟频率偏差的缓冲,即使双方时钟频停止位和间
5、隙作为时钟频率偏差的缓冲,即使双方时钟频率略有偏差,总的数据流也不会因偏差的积累而导致数据率略有偏差,总的数据流也不会因偏差的积累而导致数据错位。错位。 15:057 异步通信的每帧数据由异步通信的每帧数据由4部分组成:起始位部分组成:起始位(占占1位位)、字符代码数据位、字符代码数据位(占占58位位)、奇偶校验位、奇偶校验位(占占1位,也可以没有校验位位,也可以没有校验位)和停止位和停止位(占占1或或2位位)。 图图8-6中给出的是中给出的是7位数据位、位数据位、1位奇偶校验位和一位停止位,加上固位奇偶校验位和一位停止位,加上固定的定的1位起始位,共位起始位,共10位组成一个传输帧。传送时数
6、据的低位在前,高位组成一个传输帧。传送时数据的低位在前,高位在后。字符之间允许有不定长度的空闲位。起始位位在后。字符之间允许有不定长度的空闲位。起始位“0”作为联络信作为联络信号,它告诉接收方传送的开始,接下来的是数据位和奇偶校验位、停号,它告诉接收方传送的开始,接下来的是数据位和奇偶校验位、停止位、止位、“1”表示一个字符的结束。表示一个字符的结束。 异步通信的特点异步通信的特点是不要求收发双方时钟的严格一致,实现容易,设备是不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加起止位、停止位,各帧之间还有间隔,开销较小,但每个字符要附加起止位、停止位,各帧之间还有间隔,因此
7、传输效率不高。因此传输效率不高。15:058(2) 同步通信同步通信同步通信同步通信时要建立发送方时钟对接收方时钟的直接控制,时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均使双方达到完全同步。此时,传输数据的位之间的距离均为为“位间隔位间隔”的整数倍,同时传送的字符间不留间隙,即的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。保持位同步关系,也保持字符同步关系。 15:0592. 串行通信的传输方向串行通信的传输方向串行通信根据数据传输的方向及时间关系可分为单工、半串行通信根据数据传输的方向及时间关系可分为单工、半双工和全
8、双工。传输方向示意图如图双工和全双工。传输方向示意图如图8-108-10所示。所示。(1) 单工:单工:是指数据传输仅能沿一个方向,不能实现反向传输。是指数据传输仅能沿一个方向,不能实现反向传输。(2) 半双工:半双工:是指数据传输可以沿两个方向,但需要分时进行。是指数据传输可以沿两个方向,但需要分时进行。(3) 全双工:全双工:是指数据可以同时进行双向传输。是指数据可以同时进行双向传输。15:05103. 串行通信的错误校验串行通信的错误校验在通信过程中往往要对数据传送的正确与否进行校验。校验是保证准在通信过程中往往要对数据传送的正确与否进行校验。校验是保证准确无误传输数据的关键。常用的校验
9、方法有奇偶校验、代码和校验及确无误传输数据的关键。常用的校验方法有奇偶校验、代码和校验及循环冗余码校验。循环冗余码校验。 (1) 奇偶校验奇偶校验在发送数据时,数据位尾随的在发送数据时,数据位尾随的1位为奇偶校验位位为奇偶校验位(1或或0)。当约定为奇校。当约定为奇校验时,数据位与校验位中验时,数据位与校验位中“1”的个数之和应为奇数;当约定为偶校验时,的个数之和应为奇数;当约定为偶校验时,数据位与校验位中数据位与校验位中“1”的个数之和应为偶数。接收方与发送方的校验方式的个数之和应为偶数。接收方与发送方的校验方式应一致。接收字符时,对应一致。接收字符时,对“1”的个数进行校验,若发现收、发双
10、方不一致,的个数进行校验,若发现收、发双方不一致,则说明数据传输过程中出现了差错。则说明数据传输过程中出现了差错。(2) 代码和校验代码和校验代码和校验是发送方将所发数据块求和代码和校验是发送方将所发数据块求和(或各字节异或或各字节异或),产生一个字节,产生一个字节的校验字符的校验字符(校验和校验和)附加到数据块末尾。接收方接收数据同时对数据块附加到数据块末尾。接收方接收数据同时对数据块(除除校验字节外校验字节外)求和求和(或各字节异或或各字节异或),将所得的结果与发送方的,将所得的结果与发送方的“校验和校验和”进进行比较,相符则无差错,否则即认为传送过程中出现了差错。行比较,相符则无差错,否
11、则即认为传送过程中出现了差错。(3) 循环冗余校验循环冗余校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验,这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对磁盘信息的传输、存储区的完整性校验等。这种校验方法纠错能常用于对磁盘信息的传输、存储区的完整性校验等。这种校验方法纠错能力强,广泛应用于同步通信中。力强,广泛应用于同步通信中。 15:05114. 信号的调制与解调信号的调制与解调 计算机的通信要求传送的是计算机的通信要求传送的是数字信号数字信号。在远程数据通信。在远程数据通信时,通常要借用时,通常要借用公用电话网公用电话网。但是。但是电话网是为电话网是
12、为3003003400Hz3400Hz的音频模拟信号设计的,的音频模拟信号设计的,对二进制数据的传输是不合适的。对二进制数据的传输是不合适的。 为此,在发送时需要对二进制数据进行调制,使之适合为此,在发送时需要对二进制数据进行调制,使之适合在电话网上传输。在接收时,需要进行解调,以将模拟信在电话网上传输。在接收时,需要进行解调,以将模拟信号还原成数字信号。号还原成数字信号。 15:0512 利用利用调制器调制器(Modulator) 把数字信号转换成模拟信号,然后把数字信号转换成模拟信号,然后送到通信线路上去,再由送到通信线路上去,再由解调器解调器(Demodulator) 把从通信线路把从通
13、信线路上收到的模拟信号转换成数字信号。上收到的模拟信号转换成数字信号。 由于通信是双向的,由于通信是双向的,调制器和解调器调制器和解调器合并在一个装置中,这合并在一个装置中,这就是调制解调器就是调制解调器MODEM。如图。如图8-11所示。所示。 图中,调制器和解调器是进行数据通信所需的设备,因此把它叫做图中,调制器和解调器是进行数据通信所需的设备,因此把它叫做数据通信数据通信设备设备(Data Communications Equipment ,简称,简称DCE)。计算机是。计算机是终端设备终端设备(Data Terminal Equipment ,简称,简称DTE ),通信线路是电话线,也
14、可以是专用通信线路是电话线,也可以是专用线。线。15:05135. 波特率(波特率(Baud Rade) 在异步通信中,发送方和接收方必须保持相同的波特率才在异步通信中,发送方和接收方必须保持相同的波特率才能实现正确的数据传送。能实现正确的数据传送。 波特率是指单位时间内传送的信息量,即每秒钟传送的二波特率是指单位时间内传送的信息量,即每秒钟传送的二进制位数(也称为比特率),单位是进制位数(也称为比特率),单位是bps,即位,即位/秒。秒。 波特率越高,数据传输速度越快,但和字符的实际传输速波特率越高,数据传输速度越快,但和字符的实际传输速率不同。字符的传输速率是指每秒钟内所传输字符帧数,和率
15、不同。字符的传输速率是指每秒钟内所传输字符帧数,和字符格式有关。字符格式有关。 常用的标准波特率是:常用的标准波特率是:110波特、波特、300波特、波特、600波特、波特、1200波特、波特、2400波特、波特、4800波特、波特、9600波特和波特和19200波特等。波特等。 例如,在异步通信中使用例如,在异步通信中使用1位起始位,位起始位,8位数据位,无奇偶位数据位,无奇偶校验位,校验位,1位停止位,即一帧数据长度位位停止位,即一帧数据长度位10bit,如果要求数据,如果要求数据传送的速率是传送的速率是1秒送秒送120帧字符,则传送波特率为帧字符,则传送波特率为1200波特。波特。 15
16、:05146.6.串行通信的协议串行通信的协议 通信协议是指单片机之间进行信息传输时的一些约定,约通信协议是指单片机之间进行信息传输时的一些约定,约定的内容包括定的内容包括数据格式数据格式、同步方式、波特率、校验方式同步方式、波特率、校验方式等。等。为了保证计算机之间能够准确、可靠地通信,相互之间必须为了保证计算机之间能够准确、可靠地通信,相互之间必须遵循统一的协议,在通信之前一定要设置好。遵循统一的协议,在通信之前一定要设置好。 15:05158.1.3串行通信接口标准串行通信接口标准 从本质说,从本质说,通信通信是是CPU与外部设备间交换信息的一种方式。与外部设备间交换信息的一种方式。 所
17、有的所有的串行通信接口串行通信接口电路都是以并行数据形式与电路都是以并行数据形式与CPU连接、连接、而以串行数据形式与外部设备进行数据传送。而以串行数据形式与外部设备进行数据传送。 它们的基本功能都是从外部设备接收串行数据,转换为并它们的基本功能都是从外部设备接收串行数据,转换为并行数据后传送给行数据后传送给CPU;或从;或从CPU接收并行数据,转换成串行接收并行数据,转换成串行数据后输出给外部设备。数据后输出给外部设备。 能够实现异步通信的硬件电路称为能够实现异步通信的硬件电路称为通用异步接收器通用异步接收器/发送器发送器 (Universal Asynchronous Receive/Tr
18、ansmitter,简称,简称UART)。 能够实现同步通信的硬件电路称为能够实现同步通信的硬件电路称为通用同步接收器通用同步接收器/发送器发送器 (Universal Synchronous Receive/Transmitter,简称,简称USRT)。15:0516所谓所谓接口标准接口标准,就是,就是明确的定义若干条信号线,明确的定义若干条信号线,使接口电路使接口电路标准化、通用化。标准化、通用化。 采用标准接口,可以方便地把计算机、外部设备和测量仪器采用标准接口,可以方便地把计算机、外部设备和测量仪器等有机的联系起来,并实现其间的通信。等有机的联系起来,并实现其间的通信。在单片机控制系统
19、中,常用的串行通信接口标准有:在单片机控制系统中,常用的串行通信接口标准有:RS-232C、RS-422A、RS-485等总线接口标准。等总线接口标准。15:05171RS-232C总线总线 RS-232C标准(协议)的全称是标准(协议)的全称是EIA-RS-232C标准,其中标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,代表美国电子工业协会,RS(Recommended Standard)代表推荐标准,代表推荐标准,232是标识号是标识号,C代表代表RS232的最早一次修改(的最早一次修改(1969)。)。 1969年修订为年修订为R
20、S-232C,1987年修订为年修订为EIA-232D, 1991年修年修订为订为EIA-232E, 1997年又修订为年又修订为EIA-232E。由于修改的不多,。由于修改的不多,所以人们习惯于早期的名字所以人们习惯于早期的名字“RS-232C”。 RS-232C定义了定义了数据终端设备数据终端设备(DTE)与与数据通信设备数据通信设备(DCE)之间的物理接口标准。接口标准包括之间的物理接口标准。接口标准包括机械特性机械特性、功能特性功能特性和和电气特性电气特性几方面内容。几方面内容。15:0518(1) 机械特性机械特性 RS-232C接口规定使用接口规定使用25针连接器,连接器的尺寸及每
21、个针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。插针的排列位置都有明确的定义。 一般的应用中并不一定用到一般的应用中并不一定用到RS-232C标准的全部信号线,所标准的全部信号线,所以在实际应用中常常使用以在实际应用中常常使用9针连接器替代针连接器替代25针连接器。针连接器。 计算机的计算机的COM1和和COM2使用的是使用的是9针连接器针连接器。 连接器引脚定义如图连接器引脚定义如图8-12所示。图中所示为阳头定义,通所示。图中所示为阳头定义,通常用于计算机侧,对应的阴头用于连接线侧。常用于计算机侧,对应的阴头用于连接线侧。图图8-12 DB-25(阳头阳头)和和DB-9(阳头阳
22、头)连接器定义连接器定义15:0519(2) 功能特性功能特性 RS-232C接口的主要信号线的功能定义如表接口的主要信号线的功能定义如表8-1所示。所示。表表8-1 RS-232C接口的主要信号线的功能定义接口的主要信号线的功能定义15:0520(3) 电气特性电气特性 RS-232C采用采用负逻辑电平负逻辑电平,规定,规定逻辑逻辑1为为DC-3V-15V,逻辑逻辑0为为DC+3V+15V。-3 V+3V为过渡区,不作定义。为过渡区,不作定义。注意:注意:RS-232C的逻辑电平与通常的的逻辑电平与通常的TTL和和MOS电平不兼容。电平不兼容。为了实现与为了实现与TTL或或MOS电路的连接,
23、要外加电平转换电路。电路的连接,要外加电平转换电路。 RS-232C发送方和接收方之间的信号线采用多芯信号线,要发送方和接收方之间的信号线采用多芯信号线,要求多芯信号线的求多芯信号线的总负载电容不能超过总负载电容不能超过2 500pF。 通常,通常,RS-232C的传输距离为几十米,的传输距离为几十米,传输速率小于传输速率小于20Kbps。15:0521(4) 过程特性过程特性 过程特性过程特性规定了信号之间的时序关系,以便正确地接收和发送规定了信号之间的时序关系,以便正确地接收和发送数据。数据。 如果通信双方均具备如果通信双方均具备RS-232C接口,则二者可以直接连接,不接口,则二者可以直
24、接连接,不必考虑电平转换问题。必考虑电平转换问题。但是对于单片机与计算机通过但是对于单片机与计算机通过RS-232C的连接,必须考虑电平转的连接,必须考虑电平转换问题,因为换问题,因为80C51系列单片机串行口不是标准系列单片机串行口不是标准RS-232C接口。接口。15:052215:0523(5) RS-232C电平与电平与TTL电平转换驱动电路电平转换驱动电路 80C51单片机串行口与单片机串行口与PC机的机的RS-232C接口不能直接对接,必须进行电平转接口不能直接对接,必须进行电平转换,常见的换,常见的TTL到到RS-232C的电平转换器有的电平转换器有MC1488、MC1489和和
25、MAX232等等芯片。芯片。MC1488输入为输入为TTL电平,输出为电平,输出为RS232电平;电平;MC1489输入为输入为RS-232电平,输出为电平,输出为TTL电平。电平。MC1488的供电电压为的供电电压为12V,MC 1489的供电电压为的供电电压为+5V。MC1488和和MC 1489的逻辑功能如图的逻辑功能如图8-15所示。所示。 15:0524MC 1488和和MC 1489与与RS-232电平转换如图电平转换如图8-16所示。所示。15:0525 近来一些系统中,愈来愈多地采用了近来一些系统中,愈来愈多地采用了自升压电平转换电路。自升压电平转换电路。各厂商生产的此类各厂商
26、生产的此类芯片虽然不同,但原理类似,并可代换。其主要功能是在单芯片虽然不同,但原理类似,并可代换。其主要功能是在单+5V电源下,有电源下,有TTL信信号输入到号输入到RS-232C输出的功能,也有输出的功能,也有RS-232C输入到输入到TTL输出的功能。输出的功能。 如如RS-232C双工发送器双工发送器/接收器接口电路接收器接口电路MAX232,它能满足,它能满足RS-232C的电气规的电气规范,且仅需要范,且仅需要+5V电源,内置电子泵电压转换器将电源,内置电子泵电压转换器将+5V转换成转换成-10V+10V。该芯片。该芯片与与TTL/CMOS电平兼容,片内有电平兼容,片内有2个发送器,
27、个发送器,2个接收器,使用比较方便。个接收器,使用比较方便。MAX232芯片封装如图芯片封装如图8-17所示,采用所示,采用MAX232芯片实现芯片实现TTL电平和电平和RS232电平转换的电路电平转换的电路如图如图8-18所示。所示。 15:0526(6) 采用采用RS-232C接口存在的问题接口存在的问题 1) 接口的信号电平值较高,接口的信号电平值较高,易损坏接口电路的芯片,易损坏接口电路的芯片,又因为又因为与与TTL电平不兼容,故电平不兼容,故需使用电平转换电路方能与需使用电平转换电路方能与TTL电路连接;电路连接; 2) 传输速率较低,传输速率较低,在异步传输时,波特率为在异步传输时
28、,波特率为20kbps; 3) 接口使用一根信号线和一根信号返回线而构成共地的传输接口使用一根信号线和一根信号返回线而构成共地的传输形式,形式,这种共地传输容易产生共模干扰,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱,所以抗噪声干扰性弱,为了提高信噪比,为了提高信噪比,RS-232C总线标准不得不采用比较大的电压摆总线标准不得不采用比较大的电压摆幅。幅。 4) 传输距离有限,传输距离有限,最大传输距离标准值为最大传输距离标准值为15m,实际上也只,实际上也只能在能在50m左右。左右。15:05272. RS-422A接口接口串行通信标准串行通信标准RS-422A是是平衡型电压数字接口电路
29、的电气标准平衡型电压数字接口电路的电气标准。 图图8-19 RS-422A平衡驱动差分接收电路平衡驱动差分接收电路 RS-422A电路由电路由发送器、平衡连接电缆、电缆终端负载、接收器发送器、平衡连接电缆、电缆终端负载、接收器等部分组成。电等部分组成。电路中规定只许有一个发送器,可有多个接收器。路中规定只许有一个发送器,可有多个接收器。 RS-422A与与RS-232C的主要区别是,的主要区别是,收发双方的信号地不再共用。收发双方的信号地不再共用。另外,每个方另外,每个方向用于传输数据的是两条平衡导线。向用于传输数据的是两条平衡导线。 所谓所谓“平衡平衡”,是指输出驱动器为双端平衡驱动器。如果
30、其中一条线为逻辑,是指输出驱动器为双端平衡驱动器。如果其中一条线为逻辑“1”状态,另一条线就为逻辑状态,另一条线就为逻辑“0”,比采用单端不平衡驱动对电压的放大倍数大一倍。,比采用单端不平衡驱动对电压的放大倍数大一倍。 驱动器输出允许范围是驱动器输出允许范围是26V。15:0528 差分电路差分电路能从地线干扰中拾取有效信号,差分接收器可以分辨能从地线干扰中拾取有效信号,差分接收器可以分辨200mV以上的电位差。若传输过程中混入了干扰和噪声,由于差以上的电位差。若传输过程中混入了干扰和噪声,由于差分放大器的作用,可使干扰和噪声相互抵消。因此可以避免或大分放大器的作用,可使干扰和噪声相互抵消。因
31、此可以避免或大大减弱地线干扰和电磁干扰的影响。大减弱地线干扰和电磁干扰的影响。 RS-422A与与RS-232C相比,信号传输距离远,速度快。传输距相比,信号传输距离远,速度快。传输距离为离为120m时,传输速率可达时,传输速率可达l 0Mbps。降低传输速率。降低传输速率(90Kbps)时,时,传输距离可达传输距离可达1200m。 RS-422A与与TTL电平转换常用的芯片为传输线驱动器电平转换常用的芯片为传输线驱动器SN75174或或MC3487和传输线接收器和传输线接收器SN75175或或MC3486。15:05293. RS-485接口接口RS-485是是RS-422A的变型:的变型:
32、RS-422A用于全双工,而用于全双工,而RS-485用用于半双工。于半双工。RS-485接口示意图如图接口示意图如图8-20所示。所示。 RS-485是一种多发送器标准,在通信线路上最多可以使用是一种多发送器标准,在通信线路上最多可以使用32对差分驱动器接收器。对差分驱动器接收器。如果在一个网络中连接的设备超过如果在一个网络中连接的设备超过32个,还可以使用中间继电器。个,还可以使用中间继电器。 RS-485的信号传输采用两线间的电压来表示逻辑的信号传输采用两线间的电压来表示逻辑1和逻辑和逻辑0。由于发送方需要两。由于发送方需要两根传输线,接收方也需要两根传输线。传输线采用差动信道,所以它的
33、干扰抑制性根传输线,接收方也需要两根传输线。传输线采用差动信道,所以它的干扰抑制性极好。又因为它的阻抗低,无接地问题,所以传输距离可达极好。又因为它的阻抗低,无接地问题,所以传输距离可达1 200m,传输速率可达,传输速率可达1Mbps。图图8-20 RS-485接口示意图接口示意图15:0530 RS-485是一点对多点的通信接口,是一点对多点的通信接口,一般采用双绞线的结构。一般采用双绞线的结构。普通的普通的PC机一般不带机一般不带RS485接口,因此要使用接口,因此要使用RS-232C/RS-485转换器。转换器。 对于单片机可以通过芯片对于单片机可以通过芯片 MAX485来完成来完成T
34、TL/RS-485的电平的电平转换。转换。 在计算机和单片机组成的在计算机和单片机组成的RS-485通信系统中,下位机由单片通信系统中,下位机由单片机系统组成,主要完成工业现场信号的采集和控制。机系统组成,主要完成工业现场信号的采集和控制。 上位机为普通的上位机为普通的PC机,负责监视下位机的运行状态,并对其机,负责监视下位机的运行状态,并对其状态信息进行集中处理,以图文方式显示下位机的工作状态以及状态信息进行集中处理,以图文方式显示下位机的工作状态以及工业现场被控设备的工作状况。系统中各节点工业现场被控设备的工作状况。系统中各节点(包括上位机包括上位机)的识的识别是通过设置不同的站地址来实现
35、的,广泛使用于集散控制系统别是通过设置不同的站地址来实现的,广泛使用于集散控制系统中。中。15:0531 RS-485采用一对双绞线,输入采用一对双绞线,输入/输出信号不能同时进行输出信号不能同时进行(半双工半双工),MAX485芯片的发送和接收功能转换是由芯片的和芯片的发送和接收功能转换是由芯片的和DE端控制的。端控制的。 RE=0时,允许接收;时,允许接收;RE =1时,接收端时,接收端R高阻。高阻。 DE=1时,允许发送;时,允许发送;DE=0时,发送端时,发送端A和和B高阻。高阻。 在单片机系统中常把和在单片机系统中常把和DE接在一起用单片机的一个接在一起用单片机的一个I/O线控制收发
36、。线控制收发。 图图8-22中当中当P1.0 = 1时经反相器为时经反相器为0,MAX485处于接收状态,当处于接收状态,当P1.0=0时经反时经反相器为相器为1, MAX485处于发送状态。由于单片机各端口复位后处于高电平状态,处于发送状态。由于单片机各端口复位后处于高电平状态,图图8-22中中P1.0=1经反相器保证了上电时经反相器保证了上电时MAX485处于接收状态。处于接收状态。RS-232C串口对单片机串口接收和发送是透明的,无须控制。串口对单片机串口接收和发送是透明的,无须控制。RS-485串口需由串口需由单片机控制收发。图单片机控制收发。图8-22中发送数据时中发送数据时P1.0
37、=0,接收数据时,接收数据时P1.0=1。15:0532 MCS-51单片机内部有单片机内部有1个个功能很强的功能很强的全双工串行口全双工串行口,可同时发送和接收数据。它有可同时发送和接收数据。它有4种工作方式种工作方式,可供不同场,可供不同场合使用。合使用。波特率由软件设置波特率由软件设置,通过片内的定时,通过片内的定时/计数器产生。计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵接收、发送均可工作在查询方式或中断方式,使用十分灵活。活。 8.2 80C51单片机的串行口单片机的串行口 15:05338.2.1串行口的结构串行口的结构 串行口内部结构如上图,串行口内部结构如上图
38、,两个物理上独立的接收和发送缓冲两个物理上独立的接收和发送缓冲器,器,可同时收、发数据。可同时收、发数据。 两个缓冲器共用一个特殊功能寄存器字节地址:两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)。)。 控制寄存器共两个:控制寄存器共两个:特殊功能寄存器特殊功能寄存器SCON和和PCON。15:0534 SBUF是两个在物理上独立的接收、发送缓冲器,可同是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。时发送、接收数据。 两个缓冲器只用一个字节地址两个缓冲器只用一个字节地址99H,可通过指令对,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓的读写来区别
39、是对接收缓冲器的操作还是对发送缓冲器的操作。冲器的操作。CPU写写SBUF,就是修改发送缓冲器;,就是修改发送缓冲器;读读SBUF,就是读接收缓冲器。,就是读接收缓冲器。串行口对外也有两条独立的串行口对外也有两条独立的收发信号线收发信号线RXD(P3.0)和和TXD(P3.1),因此可以同时发送、,因此可以同时发送、接收数据,实现全双工传送。接收数据,实现全双工传送。串行口数据缓冲器串行口数据缓冲器SBUF15:0535串行口控制寄存器串行口控制寄存器SCONSCON寄存器用寄存器用来控制串行口的工作方式与状态,它可以来控制串行口的工作方式与状态,它可以位寻址。在复位时所有位被清位寻址。在复位
40、时所有位被清0,字节地址为,字节地址为98H。SCON的格式为的格式为 :15:0536SM0、SM1串行口串行口4种工作方式的选择位种工作方式的选择位 SM0 SM1 方式方式 功功 能能 说说 明明 0 0 0 移位寄存器方式(用于扩展并行移位寄存器方式(用于扩展并行I/O口)口) 0 1 1 8位异步收发,波特率可变(由定时器控制)位异步收发,波特率可变(由定时器控制) 1 0 2 9位异步收发,波特率为位异步收发,波特率为fosc/64或或fosc/32 1 1 3 9位异步收发,波特率可变(由定时器控制)位异步收发,波特率可变(由定时器控制)15:0537SM2 多机通信控制位多机通
41、信控制位 用于方式用于方式2或方式或方式3中。中。 当串行口以当串行口以方式方式2或方式或方式3接收接收时,时, 如果如果SM2=1,只有当接收到的第只有当接收到的第9位数据(位数据(RB8)为)为“1”时,才将接收到的前时,才将接收到的前8位数据送入位数据送入SBUF,并置并置“1” RI,产生,产生中断请求;当接收到的第中断请求;当接收到的第9位数据(位数据(RB8)为)为“0”时,则将接时,则将接收到的前收到的前8位数据丢弃。位数据丢弃。 如果如果SM2=0,则不论第,则不论第9位数据是位数据是“1”还是还是“0”,都将前,都将前8位数据送入位数据送入SBUF中,并置中,并置“1” RI
42、,产生中断请求。,产生中断请求。 在在方式方式1时,如果时,如果SM2=1,则只有收到停止位时才会激活,则只有收到停止位时才会激活RI。 在在方式方式0时,时,SM2必须为必须为0。15:0538 REN允许串行接收位允许串行接收位 由软件置由软件置“1”或清或清“0”。 REN=1 允许串行口接收数据。允许串行口接收数据。 REN=0 禁止串行口接收数据。禁止串行口接收数据。 TB8发送的第发送的第9位数据位数据 方式方式2和和3时,时,TB8是要发送的第是要发送的第9位数据,可作为位数据,可作为奇偶校验位奇偶校验位使用,使用,也可作为也可作为地址帧地址帧或或数据帧数据帧的标志。的标志。 =
43、1为地址帧,为地址帧, =0为数据帧为数据帧 RB8接收到的第接收到的第9位数据位数据 方式方式2和和3时,时,RB8存放接收到的第存放接收到的第9位数据。在方式位数据。在方式1,如果,如果SM2=0, RB8是接收到的停止位。在方式是接收到的停止位。在方式0,不使用,不使用RB8。15:0539 TI发送中断标志位发送中断标志位 串行完一帧信息,由硬件置串行完一帧信息,由硬件置“1”, TI必须由软件清必须由软件清“0”。 RI接收中断标志位接收中断标志位 方式方式0时时,接收完第,接收完第8位数据时,位数据时,RI由硬件置由硬件置1。 其它工作方式其它工作方式,串行接收到停止位时,该位置,
44、串行接收到停止位时,该位置“1”。RI=1,表示一帧数,表示一帧数据接收完毕,并申请中断,据接收完毕,并申请中断, CPU从接收从接收SBUF取走数据。该位状态也可取走数据。该位状态也可软件查询。软件查询。RI必须由软件清必须由软件清“0”。15:0540PCON单元地址为单元地址为97H,不能位寻址。其内容如下:,不能位寻址。其内容如下: SMODGF1GF0PDIDL D7 D6 D5 D4 D3 D2 D1 D0 PCON 87H 最高位最高位SMOD为串行口波特率选择位,为串行口波特率选择位,当当SMOD=1时,时,方式方式1、2、3的波特率加倍。的波特率加倍。电源控制寄存器电源控制寄
45、存器PCON15:05418.2.2 串行口的工作方式串行口的工作方式 80C51单片机的串行口有单片机的串行口有4种工作方式,分别是方式种工作方式,分别是方式0、方式、方式1、方式方式2和方式和方式3。这些工作方式由。这些工作方式由SCON中的中的SM0、SMl两位编两位编码决定。码决定。15:0542 1.方式方式0 同步移位寄存器输入同步移位寄存器输入/输出方式输出方式,常用于外接移位寄存器,常用于外接移位寄存器,以扩展并行以扩展并行I/O口。口。 8位数据为一帧,不设起始位和停止位,先发送或接收最低位数据为一帧,不设起始位和停止位,先发送或接收最低位。位。波特率固定为波特率固定为fos
46、c/12。帧格式如下:。帧格式如下:图图8-24 方式方式0帧格式帧格式15:05431方式方式0发送发送 当当CPU执行一条将数据写入发送缓冲器执行一条将数据写入发送缓冲器SBUF的指令时,产的指令时,产生一个正脉冲,串行口即把生一个正脉冲,串行口即把SBUF中的中的8位数据以位数据以fosc/12的固的固定波特率从定波特率从RXD引脚串行输出引脚串行输出,低位在先,低位在先,TXD引脚输出同引脚输出同步移位脉冲步移位脉冲,发送完,发送完8位数据置位数据置“1”中断标志位中断标志位TI。时序如图。时序如图8-25所示。所示。图图 8-25 方式方式0发送时序发送时序15:0544串行口扩展并
47、行输出口时,要有串行口扩展并行输出口时,要有“串入并出串入并出”的移位寄存器配合的移位寄存器配合(如如74HC164或或CD4094)。74HC164芯片引脚如图芯片引脚如图8-26(a)所示。所示。 74HC164芯片各引脚功能如下:芯片各引脚功能如下: Q0Q7为并行输出引脚;为并行输出引脚; DSA、DSB为串行输入引脚;为串行输入引脚; CR为清为清0引脚,低电平时,使引脚,低电平时,使74HC 164输出清输出清0; CP为时钟脉冲输入引脚,在为时钟脉冲输入引脚,在CP脉冲的上升沿作用下实现移位。在脉冲的上升沿作用下实现移位。在CP=0,CR=1时时74HC164保持原来数据状态不变
48、。保持原来数据状态不变。 (a) 8位串入位串入/并出移位寄存器并出移位寄存器74HC164 (b) 串行口与串行口与74HC164配合配合图图8-26 74HC164及其与单片机串行口的配合及其与单片机串行口的配合15:0545例例8-1 单片机与单片机与74HC164的电路连接如图的电路连接如图8-27所示,在所示,在74HC164的的并行输出引脚接了并行输出引脚接了8只发光二极管,要求利用只发光二极管,要求利用74HC164的串入的串入并出功能,将发光二极管依次轮流点亮,并不断循环。试编程。并出功能,将发光二极管依次轮流点亮,并不断循环。试编程。图图8-27 例例8-1电路连接图电路连接
49、图 15:0546解:解: 分析:将串行口设置为方式分析:将串行口设置为方式0(SCON=0 x00),利用移位寄存,利用移位寄存器实现串口数据发送,数据发送通过写器实现串口数据发送,数据发送通过写SBUF寄存器完成,寄存器完成,写入写入SBUF的的8位数据通过位数据通过RXD逐位发送,移位脉冲通过逐位发送,移位脉冲通过TXD发送,这些工作全部由硬件完成,而且发送完毕后,硬件会发送,这些工作全部由硬件完成,而且发送完毕后,硬件会自动将自动将TI置位,因此,在设置好工作模式后,将待发送的字置位,因此,在设置好工作模式后,将待发送的字节写入节写入SBUF,然后等待,然后等待TI置位即可。在发送下一
50、字节前,置位即可。在发送下一字节前,TI要用软件清零。要用软件清零。 设待发送的字节变量初值为设待发送的字节变量初值为0 x80,将其通过,将其通过_crol_函数函数循环移位并发送时,写入循环移位并发送时,写入SBUF的字节将会是的字节将会是00000001、00000010、00000100、00001000、00010000、00100000、01000000、10000000,LED将会实现向上滚动的显示效果。将会实现向上滚动的显示效果。15:0547程序设计如下:程序设计如下:#include #include #define uint unsigned int#define uch
51、ar unsigned charvoid Delay(uint x) /延时子程序延时子程序 uchar i;while(x-)for(i=0;i110;i+);void main() /主程序主程序 uchar c = 0 x80;SCON = 0 x00;/串口为方式串口为方式0,即移位寄存器输入即移位寄存器输入/输出方式输出方式while(1)c = _crol_(c,1);/循环左移一循环左移一位位SBUF = c;/串行输出串行输出while(TI=0);/等待发送结束等待发送结束TI = 0;/TI清零清零Delay(400);/延时,实现状态延时,实现状态维持维持15:05482
52、方式方式0接收接收 REN=1,接收数据,接收数据,REN=0,禁止接收,禁止接收。 REN=1,允许接收,允许接收。向串口的。向串口的SCON写入控制字(置为方式写入控制字(置为方式0,并置,并置“1”REN位,同时位,同时RI=0)时,产生一个正脉冲,串行口即开始接收数据。)时,产生一个正脉冲,串行口即开始接收数据。RXD为数据输入端,为数据输入端,TXD为移位脉冲信号输出端,为移位脉冲信号输出端,接收器也以接收器也以fosc/12的固的固定波特率定波特率采样采样RXD引脚的数据信息,当收到引脚的数据信息,当收到8位数据时置位数据时置“1” RI,一帧数据,一帧数据接收完,可进行下一帧数据
53、的接受,时序如图接收完,可进行下一帧数据的接受,时序如图8-28所示。所示。图图8-28 方式方式0接收时序接收时序15:0549方式方式0下,下,SCON中的中的TB8、RB8位没有用到位没有用到,发送或接收完,发送或接收完8位位数据由硬件置数据由硬件置“1”TI或或RI,CPU响应中断。响应中断。TI或或RI须由用户软须由用户软件清件清“0”,可用如下指令:,可用如下指令:CLR TI;TI位清位清“0”CLR RI ;RI位清位清“0”方式方式0时,时,SM2位必须为位必须为0。15:0550(a) 8位并入位并入/串出移位寄存器串出移位寄存器74HC165 (b) 串行口与串行口与74
54、HC165配合配合图图8-29 74HC165及其与单片机串行口的配合及其与单片机串行口的配合如果把能实现并入串出功能的移位寄存器如果把能实现并入串出功能的移位寄存器(如如74HC165或或CD4014)与串行口配合使用,就可以把串行口变为并行输入口使用。与串行口配合使用,就可以把串行口变为并行输入口使用。15:0551例例8-2电路连接如图电路连接如图8-30所示,在所示,在AT89C51单片机串行口外接了单片机串行口外接了一片一片8位并入位并入/串出移位寄存器串出移位寄存器74HC165,P2口外接了口外接了8只发光只发光二极管,二极管,74HC165并行输入端连接并行输入端连接8位拨码开
55、关,要求编写程位拨码开关,要求编写程序将拨码开关的动作用发光二极管表示出来,开关打在序将拨码开关的动作用发光二极管表示出来,开关打在ON位位置时二极管亮,打在置时二极管亮,打在OFF位置时二极管不亮。位置时二极管不亮。图图8-30 例例8-2电路连接图电路连接图15:0552程序设计如下:程序设计如下:#include sbit clk=P10;void delay(int N) /延时子程序延时子程序 int i,j; for(i=0;iN;i+) for(j=0;ji;j+);void main() int xx; while(1) clk=0; clk=1; /发送移位脉冲发送移位脉冲S
56、CON=0 x10; /允许串行口接允许串行口接收数据收数据while(RI=0) /等待发送等待发送 ;xx=SBUF; /读取数据读取数据RI=0;/清除接收中断清除接收中断标志标志P2=xx;delay(200);15:0553SM0、SM1=01方式方式1一帧数据一帧数据为为10位,位,1个起始位(个起始位(0),),8个数据位,个数据位,1个个停止位(停止位(1),先发送或接收最低位。帧格式如下:),先发送或接收最低位。帧格式如下:2 方式方式1 方式方式1帧格式帧格式15:0554方式方式1波特率波特率=(2SMOD/32)定时器定时器T1的溢出率的溢出率 SMOD为为PCON寄存
57、器的最高位的值(寄存器的最高位的值(0或或1)。)。 式中,式中,SMOD为为PCON寄存器最高位寄存器最高位(0或或1)。 定时器定时器T1的溢出率就是溢出周期的倒数,和所采用的定的溢出率就是溢出周期的倒数,和所采用的定时器工作方式有关。时器工作方式有关。 当定时器当定时器T1作为波特率发生器使用时,作为波特率发生器使用时,通常选用工作方通常选用工作方式式2,这是由于方式,这是由于方式2可以自动装入定时时间常数可以自动装入定时时间常数(也即计数也即计数初值初值),可避免通过程序反复装入初值所引起的定时误差,可避免通过程序反复装入初值所引起的定时误差,使波特率更加稳定,因此,这是一种最常用的方
58、法。使波特率更加稳定,因此,这是一种最常用的方法。 15:0555 设计数的预置值设计数的预置值(初始值初始值)为为x,那么每过,那么每过256-x个机器周期,个机器周期,定时器溢出一次。为了避免因溢出而产生不必要的中断,此定时器溢出一次。为了避免因溢出而产生不必要的中断,此时应禁止时应禁止T1中断。溢出周期为:中断。溢出周期为: 12(256)oscxf溢出率为溢出周期的倒数,所以溢出率为溢出周期的倒数,所以2=32 12(256x)SMODoscf波波特特率率15:0556在实际使用时,总是先确定波特率,再计算定时器在实际使用时,总是先确定波特率,再计算定时器T1T1的计数的计数初值初值(
59、 (常在这种场合称其为时间常数常在这种场合称其为时间常数) ),然后进行定时器的初,然后进行定时器的初始化。始化。 表表8-3 定时器定时器T1工作于方式工作于方式2时常用的波特率及计数初值时常用的波特率及计数初值 15:0557( 1) 方式方式1发送发送 数据由数据由TXD输出。输出。 一帧信息为一帧信息为10位位,1位起始位位起始位0,8位数据位(先低位)和位数据位(先低位)和1位位停止位停止位1。 当执行一条数据写发送缓冲器当执行一条数据写发送缓冲器SBUF的指令,就启动发送。的指令,就启动发送。图中图中TX时钟时钟的频率就是发送的波特率。的频率就是发送的波特率。 发送开始时,内部发送
60、控制信号变为有效。将起始位向发送开始时,内部发送控制信号变为有效。将起始位向TXD输出,此后,每经过一个输出,此后,每经过一个TX时钟周期,便产生一个移位脉时钟周期,便产生一个移位脉冲,并由冲,并由TXD输出一个数据位。输出一个数据位。8位数据位全部发送完毕后,位数据位全部发送完毕后,置置“1”TI。方式。方式1发送数据的时序,如下图所示。发送数据的时序,如下图所示。方式方式1发送数据时的时序发送数据时的时序15:0558 (2) 方式方式1接收接收 数据从数据从RXD(P3.0)脚输入。当检测到起始位的负跳变时,)脚输入。当检测到起始位的负跳变时,开始接收数据。开始接收数据。 定时控制信号有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川希望汽车职业学院单招职业适应性考试题库及一套答案详解
- 2026年吉林工业职业技术学院单招职业适应性测试题库完整答案详解
- 2026年吉林省经济管理干部学院单招职业倾向性测试题库附参考答案详解(达标题)
- 儿科护理与儿科机器人技术
- 产程观察与护理的规范操作
- 历化生专业就业方向
- 《小学五年级数学下数与代数复习(第二课时)》课件
- 物业职业规划撰写指南
- 引流管护理的观察要点
- 2026年甘肃省白银市兰白口腔医院招聘13人考试备考试题及答案解析
- 2025-2026学年人教鄂教版(新教材)小学科学三年级下学期教学计划及进度表
- JJF 2378-2026数字计量体系框架及应用指南
- (2026年春新版)人教版八年级生物下册全册教案
- 职业健康法培训课件
- 2025-2026学年北京市西城区初二(上期)期末考试物理试卷(含答案)
- 企业管理 华为会议接待全流程手册SOP
- (2025年)(完整)《中华人民共和国妇女权益保障法》知识竞赛题库及答案
- 2026年及未来5年市场数据中国密闭式冷却塔市场竞争格局及投资战略规划报告
- 部编版小学语文四年级下册教案(表格式)
- GA/T 850-2021城市道路路内停车位设置规范
- 钩不了沉逻辑专项讲义
评论
0/150
提交评论