1、第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 第第6章章 串行接口及串行通信技术串行接口及串行通信技术 6.1 串行通信基础知识串行通信基础知识 6.2 AT89C51的串行接口的串行接口 6.3 AT89C51串行接口的应用与编程串行接口的应用与编程 习题与思考题习题与思考题 第1页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 6.1 串行通信基础知识串行通信基础知识 一、一、串行通信基本概念串行通信基本概念1.并行通信和串行通信 1)并行通信并行通信 并行通信是指构成信息的二进制字符的各位数据采用多条数据线同时传送的通信方法,如图6.1所示。特点
2、:传输控制简单、速度快。但距离长时传输线多,成本高。2)串行通信串行通信 串行通信是指构成信息的二进制字符的各位数据一位一位顺序地传送的通信方式,如图6.2所示。特点:传输控制复杂、速度慢,但传输线少,成本低。第2页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 WRRDWRRDCSD0P2.7P0.0P0.7D7微型计算机(89C51)外设(8255)图6.1 并行通信示意图 第3页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 微型计算机(89C51)外设TXDRXDRXDTXD发送 图6.2 串行通信示意图 第4页,共78页。第第9 9
3、章章 串行接口及串行通信技术串行接口及串行通信技术 2.异步通信和同步通信 串行通信串行通信又分为两种基本通信方式,即异步通信和同步通信。1)异步通信 在异步通信中,被传送的信息通常是一个字符代码或一个字节数据,它们都以规定的相同传送格式(字符帧格式)一帧一帧地发送或接收。字符帧格式由四部分组成:起始位,数据位,奇字符帧格式由四部分组成:起始位,数据位,奇偶校验位和停止位偶校验位和停止位,如图6.3所示。下面介绍各部分的功能。第5页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 D7 0/1D0D1D2D3D4D5D6D7 0/1D0D1111108位数据奇偶校验停止
4、位空闲位8位数据第n1字符帧起始位奇偶校验停止位起始位10第n字符帧第n1字符帧图6.3 异步通信帧格式第6页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 (1)起始位:在没有数据传送时,通信线上处于逻辑“1”状态,当信号变为0时表示起始位。(2)数据位:在起始位之后,发送端发出(接收端接收)的是数据位,数据的位数没有严格限制,如5位、6位、7位或8位等。由低位到高位逐位传送。(3)奇偶校验位:数据位发送完(接收完)之后,可发送奇偶校验位,它只占帧格式的一位,用于传送数据的有限差错检测或表示数据的一种性质,是发送和接收双方预先约定好的一种检验(检错)方式。第7页,共
5、78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 (4)停止位:字符帧格式的最后部分为停止位,逻辑“1”电平有效,位数可以是1位、1/2位或2位。表示一个字符帧信息的结束,也为发送下一个字符帧信息做好准备。异步通信的特点:不要收发双方时钟严格一致,易异步通信的特点:不要收发双方时钟严格一致,易于实现,但每个字符要附加于实现,但每个字符要附加23位的起止位,各帧之间位的起止位,各帧之间还有间隔,因此传输效率不高。还有间隔,因此传输效率不高。第8页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2)同步通信 同步通信是一种连续串行传送连续串行传送数据的
6、通信方式,一次通信只传输一帧信息一帧信息。这里的信息帧和异步通信的字信息帧和异步通信的字符帧不同,通常有若干个数据字符符帧不同,通常有若干个数据字符,如图6.4所示。其格格式由同步字符、数据字符和校验字符式由同步字符、数据字符和校验字符CRC三部分组成。三部分组成。在同步通信中,同步字符可以采用统一的标准格式,也可以由用户约定。同步通信时要建立发送方时钟对接收方时钟的直接同步通信时要建立发送方时钟对接收方时钟的直接控制,使数据传送完全同步。其特点是传输速率高,但控制,使数据传送完全同步。其特点是传输速率高,但硬件复杂。硬件复杂。第9页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及
7、串行通信技术 同步字符数据字符1数据字符2数据字符n-1数据字符n校验字符校验字符图6.4 同步通信数据传送格式 第10页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 3.串行通信的制式制式 1)单工(Half duplex)制式 在单工方式下,通信线的A端只有发送器,B端只有接收器,信息数据只能单方向传送,即只能由A端传送到B端而不能反传。如图6.5所示。第11页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 发送器A端接收器B端图6.5 单工方式第12页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2)半双工
8、(Half duplex)制式 半双工方式中,通信线路两端的设备都有一个发送器和一个接收器,如图6.6所示。数据可双方向传送但不能同时传送,即A端送B端收或B端送A端收,A、B两端的发送/接收只能通过半双工通信协议切换交替工作。第13页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 发送接收A端发送接收B端图6.6 半双工方式第14页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 3)全双工)全双工(Full duplex)制式 在全双工方式下,通信线路A、B两端都有发送器和接收器,A、B之间有两个独立通信的回路,两端数据不是交替发送和接收,
9、而是同时发送和接收。因此通信效率比前两种要高。该方式下所需的传输线至少要有三条,一条用于发送,一条用于接收,一条用于公用信号地,如图6.7所示。第15页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 A端B端发送接收发送接收图6.7 全双工方式第16页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 4.信号的信号的调制与解调调制与解调 计算机的通信要求传送的是数字信号。在远程数据通信时,通常要借用现存的公用电话网。但是电话网是为300-3 400 Hz的音频模拟信号设计的,对二进制数据的传输是不合适的。为此在发送时需要对二进制数据进行调制调制
10、生成模拟信号,使之适合在电话网上传输。在接收时,需要进行解调解调以将模拟信号还原成数字信号。1)调制器 把数字信号转换成模拟信号,然后送到通信线路上去。2)解调器 把从通信线路上收到的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器合并在一个装置中,这就是调制解调器调制解调器MODEM,如图6.8所示。由图可见,调制器和解调器是进行数据通信所需的设备,因此把它叫做数据通信设备(数据通信设备(DCE)。)。通信线路是电话线,也可以是专用线。第17页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.8 调制解调通信图 第18页,共78页。第第9 9章章 串行接
11、口及串行通信技术串行接口及串行通信技术 5.串行通信数据的校验 在通信过程中往往要对数据传送的正确与否进行校验。以保证准确无误的传输数据。常用的校验方法有奇偶校验及代码和校验常用的校验方法有奇偶校验及代码和校验。1)奇偶校验奇偶校验 奇偶校验的特点是按字符校验,即在数据发送时,在每一个字符的最高位之后都附加一个奇偶校验位“1”或“0”,使被传送字符(包括奇偶校验位)中含“1”的位数都为偶数(偶校验)或都为奇数(奇校验)。例:当约定为奇校验奇校验时,数据中数据中“1”的个数与校验位的个数与校验位“1”的个数之和应为奇的个数之和应为奇数;数;当约定为偶校验偶校验时,数据中数据中“1”的个数与校验位
12、的个数与校验位“1”的个数之和应为偶的个数之和应为偶数。数。接收方与发送方的校验装置和方式应一致。接收字符时,对“1”的个数进行校验,若二者不一致,则说明传输数据过程中出现了差错。第19页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2)代码和校验 所谓和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。接收方接收数据同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的“校验和”进行比较,相符则无差错,否则即认为传送过程中出现了差错。第20页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及
13、串行通信技术 6.传输速率与传输距离传输速率与传输距离 1)波特率波特率 波特率(也叫比特率比特率),即数据传输的速率。它表示每秒钟传送二进制它表示每秒钟传送二进制代码的位数。其单位是代码的位数。其单位是b/s。在串行通信中,发送设备和接收设备之间除了采用相同的字符帧格式(异步通信)或相同的同步字符(同步通信)来协调同步工作外,两者两者之间发送数据的速度和接收数据的速度也必须相同之间发送数据的速度和接收数据的速度也必须相同,这样才能保证被传送数据的成功传送。波特率是串行通信的重要指标,对数据的成功传送至关重要。第21页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 举
14、例:设数据的传送率是240字符/s,而每个字符格式包含10 bit(1个起始位、1个停止位、8个数据位),这时传送的波特率是:10b240=2400 b/s 标准波特率标准波特率为:110bps、300bps、600bps、1200bps、2400bps、9600kbps,19.2kbps、56kbps等。第22页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2)传输距离与传输速率的关系 传输距离与波特率及传输线的电气特性有关。通通常传输距离随波特率的增加而减小。常传输距离随波特率的增加而减小。当传输线使用每0.3 m(约1英尺)有50 pF电容的非平衡屏蔽双绞线时
15、,传输距离是随波特率增加而减小。当波特率超过1 000 bit/s时,最大传输距离迅速下降,如9600 bit/s时最大距离下降到只有76 m(约250英尺)。第23页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 二、串行通信的标准接口二、串行通信的标准接口 RS-232C通信接口是一种标准的串行接口,它定义了数据终端设备通信接口是一种标准的串行接口,它定义了数据终端设备(DTE)与数据通信设备()与数据通信设备(DCE)之间的物理接口标准。)之间的物理接口标准。普遍用于计算机之间及计算机与外设之间的串行通信。由于它符合EIA(电子工业协会)规格要求,在国际上得到了
16、广泛的应用。RS-232C接口具有如下特点:信号线少特点:信号线少,在某些场合,完成双工通信只需使用几根线就即可;有多种可供选择的信息传输速率有多种可供选择的信息传输速率:110、150、300、600、1 200、2 400、4 800、9 600和19 200 bps。RS-232C接口特性包括电气特性、机械特性、功能特性和过程特性四个方面内容。第24页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 1.机械特性 RS-232C接口规定使用规定使用25针连接器针连接器,称为DB-25插头或插座。如图6.9所示。RS-232C接口对标准的对标准的25针接口定义了针接
17、口定义了22条可以条可以与外界连接的信号线与外界连接的信号线,并对它们的功能作了具体的规并对它们的功能作了具体的规定。定。实际用户并不一定用到RS-232C标准的全部信号线,常常使用常常使用9针非标准连接器替代针非标准连接器替代25针连接器,称针连接器,称为为DB-9。第25页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 DTE:数据终端设备(如个入计算机)DCE:数据电路通信设备(如调制解调器)12345678910111213141516171819202122232425方向 名称 第2路发送数据 发送时钟 第2路接收数据 接收时钟未用 第2路请求发送 数据终
18、端就绪 数据信号检测 振铃指示 数据信号速率选择 发送时钟未用未用保护地 N.A发送数据 到DCE接收数据 到DCE请求发送 到DCE允许发送 到DTE数据置位就绪 到DTE信号地 N.A载波检测 到DTE留作调试用第2路载波检测 到DTE第2路允许发送 到DTE名称 方向到DCE到DTE到DTE到DTE到DCE到DCE到DTE到DTE到DCE到DCE图6.9 RS-232C引脚图第26页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2.功能特性 RS-232C接口的主要信号线定义如表6-1。第27页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通
19、信技术 3.电气特性 RS-232C的每一个引脚的信号性质和电平均由标准规定,采用负逻辑电负逻辑电平平,如:1)规定规定DC(-3-15 V)为逻辑)为逻辑1,DC(+3+15 V)为逻辑为逻辑0。(简称简称EIA电平电平)2)其逻辑电平与通常的)其逻辑电平与通常的TTL和和MOS电平(用电平(用0V0.8V表示表示0,2V+5V表示表示“1”)不兼容不兼容。因此为了实现TTL或MOS电路的连接,要外加电路(如MAX232)实现电平转换。由于RS-232C发送端和接收端之间的信号采用多芯信号线,而多芯信号线的总负载电容不能超过2 500 pF,所以RS-232C的信号传输距离仅信号传输距离仅为
20、几十米,传输速率小于为几十米,传输速率小于20kbps。第28页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 4.过程特性 过程特性规定了信号之间的时序关系,以便正确地规定了信号之间的时序关系,以便正确地接收和发送数据接收和发送数据。如果通信双方均具备RS-232C接口,则二者可以直接连接,不必考虑电平转换问题。但是对于单片机与计算机通过对于单片机与计算机通过RS-232C的连接,必须考的连接,必须考虑电平转换问题,虑电平转换问题,因为MCS-51系列单片机串行口不是标准RS-232C接口。远程RS-232C通信需要调制解调器,如图6.10所示。近程通信RS-232
21、C(通信距离15 m内)可以不使用调制解调器,其连接方法可有以下几种,如图6.11所示。第29页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.10 远程RS-232C通信连接图6.11 近程RS-232C通信连接第30页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 5.RS-232C电平与TTL电平转换驱动电路 单片机与计算机通过RS-232C的连接,必须考虑电平转换问题。早期常用的电平转换芯片为MC1488、MC1489。近年来多采用片内带有自升压电路的芯片。近年来多采用片内带有自升压电路的芯片。如如MAXM232,它仅需,它仅需
22、+5V电源,电源,内置电子升压泵将+5V转换成-10V+10V。该芯片内含2个发送器,2个接收器,且与TTL/CMOS电平兼容,使用非常方便。第31页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 6.采用RS-232C接口存在的问题问题 1)传输距离短、速率低)传输距离短、速率低 RS-232C标准受电容允许值的约束,传输距离一般不超过15米。最高传输速率为20bps。2)有电平偏移)有电平偏移 RS-232C接口收发双方共地的情况下,当通信距离较远时,两端的地电位差别较大,信号地上会有较大的地电流并产生压降,一方输出的逻辑电平到达对方时,其逻辑电平可能偏移较大,严
23、重时会发生逻辑错误。第32页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 3)抗干扰能力差 RS-232C采用单端输入输出,传输过程中的干扰和噪声会混在正常的信号中。为了提高信噪比,RS-232C标准不得不采用较大的电压摆幅。针对RS-232C总线标准存在的问题,EIA协会制定了新的串行通信标准新的串行通信标准RS-422A和和RS-485。它们是平衡型电压数字接口电路的电气标准,这些标准改善了串行通信的传输特性。第33页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 6.2 AT89C51的串行接口的串行接口 一、串行接口的结构及功能 A
24、T89C51串行口的结构框图如图6.12所示,主要由发送器、接收器和串行控制寄存器组成。第34页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 门电路发送控制器1接收控制器输入移位寄存器发送SBUF(99H)接收SBUF(99H)同步时钟串行口控制寄存器(98H)内部总线串行口中断TIRITXD(P3.1)RXD(P3.0)图6.12 AT89C51串行口结构框图 第35页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图中有两个物理上独立的接收、发送缓冲器两个物理上独立的接收、发送缓冲器 SBUF,它们占用,它们占用同一地址同一地址99H,
25、可同时发送、接收数据。发送缓冲器只能写入,发送缓冲器只能写入,不能读出;接收缓冲器只能读出接收缓冲器只能读出,不能写入。接收器主要由接收缓冲寄存器SBUF,接收移位寄存器和接收控制器组成。接收器是双缓冲结构接收器是双缓冲结构,在前一个字节被从接收缓冲器读出之前,第二个字节即开始被接收(串行输入至移位寄存器),但是在第二个字节接收完毕而前一个字节CPU未读取时,会丢失前一个字节的内容。发送器主要由发送缓冲寄存器SBUF和发送控制器组成。对于发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。第36页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 二、串行口控制寄存器
26、 串行口控制寄存器SCON(字节地址为98H)用于设置串行口的工作方式、监视串行口工作状态、发送与接收的状态控制等。它是一个既可字节寻址又可位寻址的特殊功能寄存器。其格式如图6.13所示。第37页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.13 控制寄存器SCON的格式 位名称位号SM0SM1SM2RENTB8RB8TIRI76543210第38页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 SCON寄存器各位的功能如下:(1)SM0、SM1:串行口工作方式选择位:串行口工作方式选择位,可构成四种工作方式,如表6-2所示。(2)S
27、M2:在方式2和方式3中多机通信的控制位。(3)REN:串行接收允许位。:串行接收允许位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。(4)TB8:在方式2或方式3中,是将要发送的第九位数据,由软件置位或清零,它可作为数据奇偶校验位,也可在多机通信中作为地址帧或数据帧的标志位使用。第39页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 表6-2 串行口工作方式选择SM0 SM1工作方式功能波特率0 00 11 01 1方式0方式1方式2方式3移位寄存器10位异步收发11位异步收发11位异步收发fosc/12可变f o s c/6 或fos
28、c/32可变第40页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 (5)RB8:在方式2或方式3中,是已接收到的第九位数据第九位数据,可作为奇偶作为奇偶校验位校验位。(6)TI:发送中断标志位。:发送中断标志位。在方式0当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。(7)RI:接收中断标志位。:接收中断标志位。方式0中,在接收完第8位数据时由硬件置位。在方式0当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CP
29、U发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请 (8)SMOD:为波特率选择位为波特率选择位。电源控制寄存器PCON中的第八位也与串行口有关,如图6.14所示。当当SMOD=1时,波特率提高一倍,复位时,时,波特率提高一倍,复位时,SMOD=0。第41页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.14 电源控制寄存器PCON的格式位号76543210位名称SMOD第42页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 三、三、串行通信的工作方式串行通信的工作方式 1工作方式工作方式0 在方式0下,串行口是作为同
30、步移位寄存器使用的同步移位寄存器使用的。其波特率固定为单片机振荡频率波特率固定为单片机振荡频率(fosc)的的1/12,串行传串行传送数据送数据8位为一帧位为一帧(没有起始、停止、奇偶校验位)。数据由数据由RXD端输出或输入端输出或输入,低位在前,高位在后。TXD端输出同步移位脉冲端输出同步移位脉冲,可以作为外部扩展的移位寄存器的移位时钟,因而串行口方式因而串行口方式0常用于扩展外部常用于扩展外部并行并行I/O口。口。第43页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 1)工作原理(1)发送(输出)执行指令(如MOV SBUF,A),就启动发送。在发送过程中由RX
31、D端将写入SBUF寄存器中的数据依照从低位到高位的次序按位送出数据依照从低位到高位的次序按位送出,同时由TXD端输出移位时钟脉冲。一个字节的数据发送完毕数据发送完毕,串行口自动停止发送数据和移位时钟脉冲,并置位并置位TI申请中断。申请中断。TI必须由软件清零。以便下一次传送。从写SBUF到TI置位,相隔9个机器周期,完成了发送1帧数据的全过程。如图6.15所示。图6.15 方式0数据输出时序第44页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.16 方式方式0扩展并行输出口扩展并行输出口 串行发送时,外部可扩展一片(或几片)串入并出串入并出的移位寄存器(如74
32、LS164),如图6.16所示。RXDTXD89C51ABCLK数据输出移位脉冲1233 4 5 6 10 11 12 1374LS164D7D6D5D4D3D2D1 D0第45页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 (2)接收(输入)当REN=1,RI=0时,就启动串行口接收。在接收过程中,由TXD端输出移位时钟脉冲,控制外围设备将8位数据按位移入串行口的RXD端,并通过串行口内部的输入移位寄存器将数据存入SBUF接收寄存器。当串行口控制电路检测到最后一次移位结束结束后,接收过程告终,并置位置位RI申请中断申请中断。RI也必须由软件清零。从启动接收到RI置
33、位,相隔9个机器周期,完成了接收1帧数据的全过程。时序图如图6.17所示。图6.17 方式0数据输入时序第46页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.18 方式方式0扩展并行输入口扩展并行输入口 串行接收时,外部可扩展一片(或几片)并入串出并入串出的移位寄存器(如74LS165),如图6.18所示。QCLK654314 13 12 11数据输入移位脉冲RXDTXD80C5174LS165D7D6D5D4D3D2D1D0第47页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2工作方式1 在方式在方式1下,串行口工作在下,串行口
34、工作在10位帧格式位帧格式,发送或接收一帧信息中,除除8位数据移位外,还包含一个起始位位数据移位外,还包含一个起始位(0)和一个停止位和一个停止位(1),其格,其格式如图式如图6.19所示所示。工作方式工作方式1的波特率是可变的的波特率是可变的,由定时器由定时器T1的计数溢出率决定的计数溢出率决定。相应的公式为:波特率=定时器T1溢出率322SMOD第48页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 D0D1D2D3D4D5D6D71D0D11D700第n1字符帧第n字符帧8位数据起始位停止位图6.19 串行口方式1的帧格式第49页,共78页。第第9 9章章 串行
35、接口及串行通信技术串行接口及串行通信技术 定时器定时器T1的计数溢出率计算公式为:的计数溢出率计算公式为:定时器T1溢出率=值 初 1T2112foscK 式中,K为定时器为定时器T1的位数的位数,与定时器T1的工作方式有关(见第5章介绍),则波特率计算公式为:波特率=值 初 1T2112fosc322KSMOD第50页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 1)发送发送 发送时,数据从TXD端输出,当数据写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置中断标志TI为1。方式1所传送的波特率取决于定时器1的溢出率和PCON中的SMOD位。2)接
36、收接收 接收时,由REN置1,允许接收,串行口采样RXD,当采样由1到0跳变时,确认是起始位“0”,开始接收一帧数据。当RI=0,且停止位为1或SM2=0时,停止位进入RB8位,同时置中断标志RI;否则信息将丢失。所以,方式1接收时,应先用软件清除RI或SM2标志。方式1时串行口的发送和接收时序如图6.20所示。第51页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.20 串行口方式1的时序图第52页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 3方式方式2和方式和方式3 在方式在方式2和方式和方式3下,串行口工作在下,串行口工作在1
37、1位异步通信方式。位异步通信方式。一帧信息包含一一帧信息包含一个起始位个起始位“0”,八个数据位,一个可编程第九数据位和一个停止位,八个数据位,一个可编程第九数据位和一个停止位“1”。其中可编程位是其中可编程位是SCON中的中的TB8位,在八个数据位之后,可作奇偶校验位或地位,在八个数据位之后,可作奇偶校验位或地址址/数据帧的标志位使用,由使用者确定。数据帧的标志位使用,由使用者确定。其帧格式如图6.21所示。区别:方式区别:方式2的波特率固定为晶振频率的的波特率固定为晶振频率的1/64或或1/32;方式;方式3的波特率由的波特率由定时器定时器T1的计数溢出率决定,确定方法与工作方式的计数溢出
38、率决定,确定方法与工作方式1中的完全一样。中的完全一样。第53页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 D0D1D2D3D4D5D6D70/1D0D110/1100第 n 1字 符 帧第 n字 符 帧8位 数 据起始位停止位奇 偶校 验图6.21 串行口方式2、3帧格式图第54页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 1)方式2和方式3输出 当CPU向发送SBUF写入一个数据时,串行口发送过程就被启动了。TB8写入输出移位寄存器的第9位,8位数据装入SBUF。发送开始时,先把起始位0输出到TXD端。经一位时间后,发送移位寄存器
39、的输出位(D0)到TXD端。之后,每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD端输出。结束时,控制电路进行最后一次移位,并置T11,向CPU请求中断。2)方式2和方式3输入 软件使接收允许位REN为1后,接收开始启动。接收时,数据从右边移入输入移位寄存器,1从左边移出,在起始位0移到最左边时,控制电路进行最后一次移位。当RI0,且SM2=0时,接收到的数据装入接收SBUF和RB8,置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,一位时间后继续搜索RXD端的负跳变。时序如图6.22所示。第55页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行
40、通信技术 图6.22 串行口方式2、3时序图第56页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 四、串行口波特率确定和初始化1.波特率计算 串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式波特率计算公式也不相同。具体如下:第57页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2.波特率的选择 实际应用中,波特率要选择为标称值标称值,又由于TH1的初值是整数,为了减小波特率计算误差,晶振频率要选择为晶振频率要选择为11.0592MHZ。所以方式1和方式3波特率与TH1初值的对应基本上是确定的
41、,如表6-3所示。波特率(bps)19.2K9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD10000表6-3 方式1、3常用波特率与TH1的初值关系表注:此时,T1工作在方式2,晶振频率为11.0592MHZ。第58页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 3.串行口的初始化 具体步骤如下:1)确定定时器1的工作方式(编程TMOD寄存器);2)计算定时器1的初值,装载TH1、TL1;3)启动定时器1(编程TCON中的TRl位);4)确定串行口控制(编程SCON寄存器)5)串行口在中断方式工作时,须开CPU的中断源(编程IE、I
42、P寄存器)。第59页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 6.3 AT89C51串行接口的应用与编程串行接口的应用与编程 一、利用单片机串行口扩展并行I/O口 串行口工作方式0主要用于扩展并行I/O口,扩展成并行输出口时,需要外接一片8位串行输入并行输出的同步移位寄存器74HC164。扩展成并行输入口时,需要外接一片或几片并行输入串行输出的同步移位寄存器74HC165。第60页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 数据的串行输出或输入可采用中断方式,也可采用查询标志位TI、RI的方法,在移位初始化时,要进行相应的设置。例
43、利用串行口工作在方式0,外扩一片74HC164构成一个三位LED动态显示器,并将内部RAM显示单元65H、66H、67H中的内容输出显示。如图6.24所示。第61页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 111P1.0P1.1P1.2RXDTXD89C5174LS164SASBCLKVCCCLR5 V图6.24 串行动态显示图 第62页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 主程序如下:ORG 0000HLJMP MAINORG 0030HMAIN:MOV SCON,#00H ;串行口初始化为方式0 SETB P1.2 ;消去
44、最高显示位 SETB P1.1 MOV SBUF,65H ;传送最低显示位 JNB TI,$;传送没结束,等待第63页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 CLR P1.0 ;最低位显示 CLR TI ;清中断标志位 LCALL D10ms;调延时子程序,维持状态 SETB P1.0 ;消去最低显示位 MOV SBUF,66H ;传送中间显示位 JNB TI,$;等待传送结束 CLR P1.1 ;显示中间位 CLR TI ;清中断标志位第64页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 LCALL D10ms;调延时子程序,维持
45、状态 SETB P1.1 ;消去中间显示位 MOV SBUF,67H;传送最高显示位 JNB TI,$;等待传送结束 CLR P1.2 ;显示最高显示位 CLR TI ;清中断标志位D10ms:MOV R5,#10D1ms:MOV R4,#249 DL:NOP NOP DJNZ R4,DL DJNZ R5,D1ms RETEND第65页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 二、单片机与单片机的通信 有两个单片机子系统,它们均能独立地完成主系统的某一功能,且这两个子系统具有一定的信息交换需求,这时就可以用串行通信的方式将两个子系统连接起来。1.硬件连接 若两个
46、单片机系统距离近,只要将两个单片机系统的TXD和RXD引出线交叉相连即可;若两个单片机系统距离较远,要采用RS-232C接口进行连接,如图6.25所示。第66页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 图6.25 双机通信连接图第67页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 2.通信协议 采用方式1进行通信,每帧信息为10位,波特率为2400bps,T1作定时器用,工作在方式2,晶振频率用11.0592MHZ,查表6.3得TH1=TL1=0F4H,PCON寄存器的SMOD位为0。通信时,首先A机发送“E1H”请求传输数据。B机收
47、到后回答一个”E2H”应答信号,表示同意接收。当A机收到应答信号”E2H“后,开始发送数据,每发送一个数据字节都要计算”校验和“,假定数据块长度为15个字节,起始地址为40H,数据块发送完毕后立即发送”校验和“。然后B机接收数据并转存到数据缓冲区,起始地址也为40H,每接收到一个数据字节便计算一次”校验和“,当收完数据块后,再接收A机发来的”校验和“,并将它与B机求出的校验和进行比较。若两者相等,说明接收正确,B机回答00H;若两者不等,说明接收不正确,B机回答FFH,请求重发。A机收到答复为00H则结束发送。若答复非0,则重新发送数据。第68页,共78页。第第9 9章章 串行接口及串行通信技
48、术串行接口及串行通信技术 3.程序及流程图A机程序:ORG 0000HLJMP AMAINORG 0030HAMAIN:MOV SP,#5FHMOV TMOD,#20H ;初始化定时器1为模式2MOV TH1,#0F4H;装载定时器初值MOV TLl,#0F4HMOV SCON,#50HMOV PCON,#00HSETB TR1;启动定时器CALL INIT;生成调试用数据DIALOG:MOV A,#0E1H;发联络信号CALL TXBYTECALL RXBYTE;接收B机返回信号CJNE A,#0E2H,DIALOG;B机允许发送?RETX:CALL TXDATACALL RXBYTECJN
49、E A,#00H,DIALOG;B机接收正确?AJMP DIALOG第69页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 TXBYTE:MOV SBUF,A;发送子程序JNB TI,$CLR TIRETRXBYTE:JNB RI,$;接收子程序MOV A,SBUFCLR RIRETTXDATA:MOV R7,#15;发送数据块子程序MOV R0,#40HMOV R6,#00HLDATA:MOV A,R0CALL TXBYTEMOV A,R6ADD A,R0;求校验和MOV R6,A;保存校验和INC R0DJNZ R7,LDATA;数据块传送完否?第70页,共78页
50、。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 MOV A,R6;发送校验和CALL TXBYTERETINIT:MOV R0,#40H;测试数据MOV R7,#15MOV A,#30HL0:MOV R0,AINC AINC R0DJNZ R7,L0RETEND第71页,共78页。第第9 9章章 串行接口及串行通信技术串行接口及串行通信技术 B机程序:ORG 0000HLJMP BMAINORG 0030HBMAIN:MOV SP,#5FHMOV TMOD,#20H;初始化定时器1为模式2MOV TH1,#0F4H;装载定时器初值MOV TLl,#0F4HMOV SCON,#5
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。