第五章串行接口_第1页
第五章串行接口_第2页
第五章串行接口_第3页
第五章串行接口_第4页
第五章串行接口_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、 MCS-51系列单片机的串行通信接口可以方便地实现与其他单片机之系列单片机的串行通信接口可以方便地实现与其他单片机之间、与间、与PC机之间的串行通信,也可用通信接口实现键盘输入、机之间的串行通信,也可用通信接口实现键盘输入、LED显示显示及其他的控制。及其他的控制。 主要内容:主要内容: 1. 串行通信概述串行通信概述 2. MCS-51单片机串行通信接口的结构单片机串行通信接口的结构 3. MCS-51单片机串行通信的工作原理及其工作方式单片机串行通信的工作原理及其工作方式 4. MCS-51单片机串行接口应用编程单片机串行接口应用编程重点:重点:MCS-51MCS-51单片机串行接口的工

2、作原理及工作方式单片机串行接口的工作原理及工作方式MCS-51MCS-51单片机串行接口应用程序设计方法单片机串行接口应用程序设计方法第五章第五章 MCS51MCS51单片机的串行接口单片机的串行接口第一节第一节 串行通信概述串行通信概述 1.1.并行通信并行通信并行通信是指所传送的数据各位同时进行传送。其优点是传并行通信是指所传送的数据各位同时进行传送。其优点是传送速度快,缺点是传输线多,通信线路费用较高,并行传送送速度快,缺点是传输线多,通信线路费用较高,并行传送适用于近距离、传送速度高的场合。适用于近距离、传送速度高的场合。2 2串行通信串行通信串行通信时,传送数据的各位按分时顺序一位一

3、位地传送串行通信时,传送数据的各位按分时顺序一位一位地传送(例如先低位、后高位例如先低位、后高位)。其优点是传输线少,传送通道费用。其优点是传输线少,传送通道费用低,故适合长距离数据传送。缺点是传送速度较低。低,故适合长距离数据传送。缺点是传送速度较低。 二、串行通信的数据传送方向二、串行通信的数据传送方向1.1.单工方式单工方式通信双方只有一条单向传输线,只允许数据由一方发送,通信双方只有一条单向传输线,只允许数据由一方发送,另一方接收。另一方接收。2 2半双工方式半双工方式通信双方只有一条双向传输线,允许数据双向传送,通信双方只有一条双向传输线,允许数据双向传送,但每时刻上只能有一方发送,

4、另一方接收,这是一种能够切换传送方向的但每时刻上只能有一方发送,另一方接收,这是一种能够切换传送方向的单工方式,单工方式,3 3全双工方式全双工方式通信双方只有两条传输线,允许数据同时双向传送,通信双方只有两条传输线,允许数据同时双向传送,其通信设备应具有完全独立的收发功能。其通信设备应具有完全独立的收发功能。ABAB发送器接收器接收器接收器发送器发送器数据数据数据AB(a)单工方式(b)半双工方式(c)全双工方式三、同步通信和异步通信三、同步通信和异步通信串行方式是将传输数据的每个字符一位一位顺序地传送,串行方式是将传输数据的每个字符一位一位顺序地传送,按位组成字符。按位组成字符。为了发送、

5、接收信息,双方必须协调工作。这种协调方法,从原理上可分为了发送、接收信息,双方必须协调工作。这种协调方法,从原理上可分成两种:同步串行成两种:同步串行I/OI/O和异步串行和异步串行I/OI/O。 1 1异步通信方式异步通信方式异步方式实现简单,在微型计算机中大量使用异步串行异步方式实现简单,在微型计算机中大量使用异步串行I/O方式,为了避方式,为了避免连续传送过程中的误差积累,每个字符都要独立确定起始和结束免连续传送过程中的误差积累,每个字符都要独立确定起始和结束(即每即每个字符都要重新同步个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间。,字符和字符间还可能有长度不定的空闲时间

6、。 有约定的帧格式;有约定的帧格式; 发送与接收之间的发送与接收之间的同步是利用每一帧的同步是利用每一帧的起、止信号来建立的;起、止信号来建立的; 双方用各自的时钟双方用各自的时钟控制发送与接收控制发送与接收2 2同步通信方式同步通信方式 在同步通信中,在数据或字符开始传送前用同步字符在同步通信中,在数据或字符开始传送前用同步字符(SYNC)(SYNC)来指示来指示( (常约定常约定l l一一2 2个个) ),由时钟来实现发送端和接收端同步,当检测到规定的,由时钟来实现发送端和接收端同步,当检测到规定的同步字符后,接下来就连续按顺序传送数据。同步字符是一特定的二进同步字符后,接下来就连续按顺序

7、传送数据。同步字符是一特定的二进制序列,在传送的数据中不会出现制序列,在传送的数据中不会出现 同步通信方式由于不采用起始和停止位,是在同步字符后可以接较大同步通信方式由于不采用起始和停止位,是在同步字符后可以接较大的数据区,同步字符所占部分很小,因此有较高的传送效率。的数据区,同步字符所占部分很小,因此有较高的传送效率。 T T同步数据数据CRC1CRC2.(a)单同步格式.同步数据数据同步CRC2CRC1.(b)双同步格式. 四、波特率四、波特率 波特率是通信双方对数据传送速率的约定,表示每秒钟波特率是通信双方对数据传送速率的约定,表示每秒钟传送二进制数码的位数,单位是传送二进制数码的位数,

8、单位是bit/sbit/s。假如数据传送的速率是假如数据传送的速率是120120个字符秒,每一个字符规定个字符秒,每一个字符规定包含包含1010个位个位( (一个起始位、一个起始位、8 8个数据位和个数据位和1 1个停止位个停止位) ),则传,则传送的波特率为:送的波特率为:101012012012001200位秒位秒12001200波特波特(bps)(bps)每一位的传送时间即为波特率的倒数每一位的传送时间即为波特率的倒数 mSTd833.012001第二节第二节 MCS51MCS51的串行通信接口的串行通信接口 一、一、MCS-51MCS-51串行口结构及工作原理串行口结构及工作原理定时器

9、T1 接收 SBUF 发送 SUBF门发送控制器+TIRI接收控制器输入移位寄存器串行控制寄存器98HRXD(P3.0)TXD(P3.1)内部总线88 8串行口中断(99H)(99H)1 1、基本组成、基本组成 两个独立的数据缓冲器两个独立的数据缓冲器SBUFSBUF( (一个用作接收,一个用作发一个用作接收,一个用作发送送) )以及发送控制器、接收控制器、输入移位寄存器和输出控制门等组成。以及发送控制器、接收控制器、输入移位寄存器和输出控制门等组成。2 2、用户可访问的三个地址、用户可访问的三个地址单元单元SBUFSBUF:两个:两个SBUFSBUF共用一个共用一个地址地址99H99H。发送

10、。发送SBUFSBUF只写不只写不读,接收读,接收SBUFSBUF只读不写,只读不写,由所用指令是发送还是接由所用指令是发送还是接收来决定对个收来决定对个SBUFSBUF进行操进行操作;作;SCONSCON:串行口控制寄存器:串行口控制寄存器PCONPCON:电源控制寄存器电源控制寄存器二、串行口控制寄存器二、串行口控制寄存器SCONSCON SCON是一个可位寻址的专用寄存器,用来设定串行口的工作方式、是一个可位寻址的专用寄存器,用来设定串行口的工作方式、控制串行口的接收发送以及状态标志。控制串行口的接收发送以及状态标志。SCON的字节地址为的字节地址为98H,位,位地址为地址为98H9FH

11、。其格式如下:。其格式如下: SCONSCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SM0SM0SM1SM1SM2SM2RENRENTB8TB8RB8RB8TITIRIRI1 1)SM0SM0、SMlSMl:串行口工作方式选择位,可选择四种工作方式:串行口工作方式选择位,可选择四种工作方式SM0SM1工作方式工作方式功功 能能波波 特特 率率00方式方式0 0同步移位寄存器同步移位寄存器 foc/12 foc/1201方式方式1 11010为异步收发为异步收发 可可 变变10方式方式2 21111为异步收发为异步收发foc/32foc/32或或foc/64foc/64

12、11方式方式3 31111为异步收发为异步收发 可可 变变2 2)SM2:为多机通信控制位为多机通信控制位在工作方式在工作方式2 2和方式和方式3 3中:中: 若若SM21:当接收到第:当接收到第9 9位数据位数据(RB8)为)为1,才将接收到的前,才将接收到的前8 8位位 数据装入数据装入SBUF,并置位,并置位RI;否则将接收到的数据丢弃。否则将接收到的数据丢弃。 若若SM20:不论第:不论第9 9位数据位数据(RB8)是否为)是否为1,都将接收到的前,都将接收到的前8 8位数位数 据装数据装入据装数据装入SBUF,并置位,并置位RI。 在方式在方式1 1中:中:若若SM21,则只有接收到

13、有效的停止位时,才,则只有接收到有效的停止位时,才置位置位RI。 在方式在方式0 0中中:必须使必须使SM20 多机通信时,多机通信时,SM2必须置必须置1。双机通信时,通常使。双机通信时,通常使SM20。3 3)REN:允许串行接收位。该位由软件置位或清零。允许串行接收位。该位由软件置位或清零。4 4)TB8:在工作方式在工作方式2或方式或方式3时,该位为发送的第时,该位为发送的第9位数据,可按需要位数据,可按需要由软件置位或清零。在许多通信协议中,该位常作为奇偶校验位。在由软件置位或清零。在许多通信协议中,该位常作为奇偶校验位。在MCS5l多机通信中,多机通信中,TB8的状态用来表示发送的

14、是地址帧还是数据帧,的状态用来表示发送的是地址帧还是数据帧,TB80时,为地址帧,时,为地址帧,TB81时,时,为数据帧。为数据帧。 5 5)RB8:在工作方式在工作方式2 2或方式或方式3 3时,存放接收到的第时,存放接收到的第9 9位数据,代表着接位数据,代表着接收数据的某种特征。例如,可能是奇偶位,或为多机通信中的地址数收数据的某种特征。例如,可能是奇偶位,或为多机通信中的地址数据标识位。据标识位。 在方式在方式0 0中,中,RB8未用。未用。在方式在方式1中,若中,若SM20,RB8是已接收到的停止位是已接收到的停止位。6 6)TITI:发送中断标志位。方式:发送中断标志位。方式0 0

15、中,串行发送完第中,串行发送完第8 8位数据后,由硬件置位数据后,由硬件置位;在其它方式中,在发送停止位开始时,由硬件置位。位;在其它方式中,在发送停止位开始时,由硬件置位。TITI1 1时,表示时,表示帧发送结束,其状态既可供软件查询使用,也可申请中断。在任何方式帧发送结束,其状态既可供软件查询使用,也可申请中断。在任何方式中,中,TITI都必须由软件清都必须由软件清0 0。 7 7)RIRI:接收中断标志。在方式:接收中断标志。在方式0 0中,接收完第中,接收完第8 8位数据后,由硬件置位;位数据后,由硬件置位;在其它方式中,当接收到停止位的中间时由硬件置位。在其它方式中,当接收到停止位的

16、中间时由硬件置位。RIRI1 1时,表示帧时,表示帧接收结束,其状态既可供软件查询使用,也可申请中断。接收结束,其状态既可供软件查询使用,也可申请中断。RIRI也必须靠软也必须靠软件清件清0 0。注意:不管是否采用中断控制,数据发送前必须用软件将注意:不管是否采用中断控制,数据发送前必须用软件将TI清零;接收数据后将清零;接收数据后将RI清零;清零;单片机复位时,单片机复位时,SCON中的所有位均为中的所有位均为0。三、电源控制寄存器三、电源控制寄存器PCONPCONPCONPCON主要字节地址为主要字节地址为87H87H,不能位寻址。只有最高位,不能位寻址。只有最高位SMODSMOD与串与串

17、行口工作有关。行口工作有关。PCONPCON的格式如下:的格式如下:第二节第二节 MCS51MCS51的串行通信接口的串行通信接口PCOND7D6D5D4D3D2D1D0SMODGF1GF0PDIDLSMODSMOD:串行口波特率倍增位。当:串行口波特率倍增位。当SMODSMOD1 1时,串行口波特率时,串行口波特率加倍;加倍;复位时,复位时,SMODSMOD0 0。 MCS51单片机的串行口为可编程口,可编程选择四种工作方式,其中单片机的串行口为可编程口,可编程选择四种工作方式,其中方式方式0主要用于扩展并行输入输出口,串行通信时一般使用方式主要用于扩展并行输入输出口,串行通信时一般使用方式

18、1、2或或3。一、方式一、方式0工作在方式工作在方式0时,串行口是作为同步移位寄存器使用的,其数据传输时,串行口是作为同步移位寄存器使用的,其数据传输波特率固定为波特率固定为foc/12。串行数据由。串行数据由RXD(P30)端输入输出,同步移位脉端输入输出,同步移位脉冲由冲由TXD(P31)端输出。数据的发送接收以端输出。数据的发送接收以8位为一帧,低位在前,无位为一帧,低位在前,无起始位、奇偶位及停止位。其帧格式为:起始位、奇偶位及停止位。其帧格式为:第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 RXD TXD A B 74LS164 CLK QA QB

19、QC QD QE QF QG QH执行一条写执行一条写SBUF指令指令就开始发送;接收完成就开始发送;接收完成后后8位数据进入位数据进入SBUF第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式二、方式二、方式1 1串行口工作在方式串行口工作在方式1时,是作为时,是作为10位异步通信接口,由位异步通信接口,由TXD端发送数据,端发送数据,RXT端接收数据。发送接收的端接收数据。发送接收的帧数据包括帧数据包括10位:位:1位起始位,用位起始位,用0来标来标识,识,8位数据位位数据位(低位在前低位在前),1位停止位,用位停止位,用1来标识。其帧格式为:来标识。其帧格式为

20、:1.1.发送过程发送过程 当当CPU执行任何一条写入执行任何一条写入SBUF的指今后,便启动串行口发送,发送的的指今后,便启动串行口发送,发送的数据由数据由TXDTXD端输出。串行接口能自动地在数据的前后插入一位起始位和一位端输出。串行接口能自动地在数据的前后插入一位起始位和一位停止位,在发送移位脉冲的作用下依次从停止位,在发送移位脉冲的作用下依次从TXDTXD端发送,发送完一帧信息时。端发送,发送完一帧信息时。发送中断标志发送中断标志TITI置置1 1,请求中断。,请求中断。方式方式1下的传送波特率是可变的取决于定时器下的传送波特率是可变的取决于定时器TI的溢出速率。的溢出速率。2.2.接

21、收过程接收过程当允许串行输入位当允许串行输入位REN置置1后,后,CPU便以所选波特率的便以所选波特率的16倍速率采样倍速率采样RXD端电平。在没有信号到来之前,端电平。在没有信号到来之前,RXD端的状态为端的状态为1。当在。当在RXD端检测到端检测到从从1到到0的负跳变时,开始接收过程。的负跳变时,开始接收过程。16分频计数器的分频计数器的16个状态把接收每位信个状态把接收每位信息的时间分成息的时间分成16份,在每个位时间的第份,在每个位时间的第7、8、9个计数状态。从个计数状态。从RXD端采样端采样三次,至少两次相同的值才被确认,以确保输入的数据准确无误。三次,至少两次相同的值才被确认,以

22、确保输入的数据准确无误。当一帧数据接收完毕,以下两个条件同时满足:当一帧数据接收完毕,以下两个条件同时满足: (1 1)RI0,即上一帧数据接收完成时,即上一帧数据接收完成时,RI1的中断请求已被响应,的中断请求已被响应,SBUF中的数据已被取走;中的数据已被取走;(2)SM20或接收到停止位为或接收到停止位为1(方式方式1时停止位进入时停止位进入RB8)。)。则这次接收才有效,将则这次接收才有效,将8位数据装入接收缓冲器位数据装入接收缓冲器SBUF,停止位装入,停止位装入RB8,井将井将RI置置1,申请中断。否则数据将丢失。,申请中断。否则数据将丢失。第三节第三节 MCS51MCS51串行通

23、信接口的工作方式串行通信接口的工作方式三、方式三、方式2 2和方式和方式3 3 串行口工作在方式串行口工作在方式2 2和方式和方式3 3时,均为时,均为1111位异步通信接口。由位异步通信接口。由TXDTXD发送,发送,RXDRXD接收。发送接收的一帧信息由接收。发送接收的一帧信息由llll位组成;由位组成;由l l位起始位位起始位(0)(0),8 8位数位数据位据位( (低位在前低位在前) ),1 1位可编程位位可编程位( (第第9 9数据位数据位) )和和1 1位停止位位停止位(1)(1)。发送时,。发送时,可编程位可编程位(TB8)(TB8)可设置为可设置为0 0或或l l,也可将奇偶位

24、装入,也可将奇偶位装入TB8TB8,从而进行奇偶校,从而进行奇偶校验;接收时,可编程位送入验;接收时,可编程位送入SCONSCON中的中的RB8RB8。方式方式2 2和方式和方式3 3的工作原理类同。唯一的区别仅在于:的工作原理类同。唯一的区别仅在于: 方式方式2 2的波特率为的波特率为focfoc3232或或focfoc6464,而方式,而方式3 3的波特率是的波特率是可变的,取决于定时器可变的,取决于定时器TlTl的溢出率。的溢出率。 第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式1.1.发送过程发送过程 发送前,先根据通信协议由软件设置发送前,先根据通信协

25、议由软件设置SCON中的中的TB8。当。当CPU执行一条执行一条写入写入SBUF的指令后,便立即启动发送器开始发送。串行口能自动地将的指令后,便立即启动发送器开始发送。串行口能自动地将TB8装入到第装入到第9位数据位的位置,再逐一由位数据位的位置,再逐一由TXD端发送出去端发送出去。发送完一帧信息时,。发送完一帧信息时,置置TI为为1,请求中断。,请求中断。2.2.接收过程接收过程 当当REN1时,时,CPU开始对开始对RXD不断采样,采样速率为波特率的不断采样,采样速率为波特率的16倍,倍,一旦检测到负跳变时,立即复位一旦检测到负跳变时,立即复位16分频计数器,并开始接收。位检测器在分频计数

26、器,并开始接收。位检测器在每一位的每一位的7、8、9状态时,对状态时,对RXD端采样端采样3个值,以采个值,以采3取取2的表决方法确定的表决方法确定每位状态。当采至最后一位时,若以下每位状态。当采至最后一位时,若以下2个条件满足,才将个条件满足,才将8位数据装入位数据装入SBUF,第,第9位数据装入位数据装入RB8并置位并置位RI1。(1) RI0,意味着,意味着SBUF中的数据已被取走,缓冲器为空;中的数据已被取走,缓冲器为空; (2) SM20或接收到的第或接收到的第9位数据位位数据位RB81时。时。3 3、方式、方式2 2、方式、方式3 3时第时第9 9位数据为的用法位数据为的用法1)

27、1) 用第用第9 9位数据作奇偶校验位位数据作奇偶校验位 方式方式2 2、方式、方式3 3也可以像方式也可以像方式1 1一样用于点对点的异步通信。在数据通信一样用于点对点的异步通信。在数据通信中由于传输距离较远,数据信号在传送过程中会产生畸变,从而引起误中由于传输距离较远,数据信号在传送过程中会产生畸变,从而引起误码。通常可在通信软件上采取纠错措施。码。通常可在通信软件上采取纠错措施。 例如将作为第例如将作为第9 9位数据作奇偶校验位,将其置人位数据作奇偶校验位,将其置人TB8TB8位一同发送。位一同发送。MOV A,R0MOV C,PMOV TB8,C 如将作为第如将作为第9位数据作奇偶位数

28、据作奇偶校验位,将其置入校验位,将其置入TB8位一位一同发送。同发送。在接收端的接收程序将数据的奇在接收端的接收程序将数据的奇偶校验值与偶校验值与RB8进行比较进行比较MOV A,SBUFMOV C,P.第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式发送端发送一个数据字节及其奇偶校验位的程序段如下:发送端发送一个数据字节及其奇偶校验位的程序段如下:TT:MOVSCON,80H;串口方式;串口方式2MOVA,DATA;取待发送的数据;取待发送的数据MOVC,PSW.0;奇偶标志位置入;奇偶标志位置入TB8中中MOVTB8,CMOVSBUF,A;启动一次发送,数据连

29、同奇;启动一次发送,数据连同奇;偶校验位一块被发送;偶校验位一块被发送LOOP:JBCTI,NEXT;SJMPLOOPNEXT:第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式MOVSCON,90H;方式;方式2允许接收允许接收LOOP:JBCRI,RECN;等待接收;等待接收SJMPLOOPRECN:MOVA,SBUF;读入接收的一帧数据;读入接收的一帧数据JBPSW.0,ONE;判断接收端的奇偶值;判断接收端的奇偶值JBRB8,ERR;判断发送端的奇偶值;判断发送端的奇偶值SJMPREXTONE:JNBRB8,ERRREXT:;接收正确处理;接收正确处理ERR

30、:;接收有错处理;接收有错处理 方式方式2、方式、方式3的发送过程中,将数据和附加在的发送过程中,将数据和附加在TB8中中的奇偶校验位一块发送出。因此,作为接收的一方应设法取的奇偶校验位一块发送出。因此,作为接收的一方应设法取出该奇偶位进行核对,相应的接收程序段应为:出该奇偶位进行核对,相应的接收程序段应为:第三节第三节 MCS51MCS51串行通信接口的工作方串行通信接口的工作方式式2)2)用第九位数据作多机通信的联络位用第九位数据作多机通信的联络位 计算机与计算机的通信不仅限于点对点的通信,还会出现一机对多机计算机与计算机的通信不仅限于点对点的通信,还会出现一机对多机或多机间的通信,构成计

31、算机网。例如有一种比较特殊的总线形是主从或多机间的通信,构成计算机网。例如有一种比较特殊的总线形是主从式的网络,即在多台计算机中有一台是主机,其余的为从机,从机要服式的网络,即在多台计算机中有一台是主机,其余的为从机,从机要服从主机的调度、支配。从主机的调度、支配。MCS51MCS51单片机的串行口方式单片机的串行口方式2 2、方式、方式3 3就适合于就适合于这种主从式的通信结构。如图所示。这种主从式的通信结构。如图所示。第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 第第9 9位数据怎样用于多机通信呢位数据怎样用于多机通信呢? ?关键在于使用关键在于使用SM2

32、SM2位和接位和接收到的第收到的第9 9个附加数据位个附加数据位( (接收后放在接收后放在RB8RB8中中) )的配合。的配合。例如,通信各方约定如下:主机向从机发送地址信息,其第例如,通信各方约定如下:主机向从机发送地址信息,其第9 9位数据必须为位数据必须为1 1,而向从机发送数据信息包括命令时,其第,而向从机发送数据信息包括命令时,其第9 9位数据规定为位数据规定为0 0。 从机在建立与主机通信之前,处于对通信线路的监听状从机在建立与主机通信之前,处于对通信线路的监听状态。在监听状态下必须使态。在监听状态下必须使SM2SM21 1,此时只能收到主机发出的,此时只能收到主机发出的地址信息地

33、址信息( (第第9 9位为位为1)1),非地址信息被丢失。,非地址信息被丢失。从机收到地址后应进行识别,是否主机呼叫本站,如果地址从机收到地址后应进行识别,是否主机呼叫本站,如果地址符合,确认呼叫本站,此时从机解除监听状态,使符合,确认呼叫本站,此时从机解除监听状态,使SM2SM20 0,同时把本站地址发回主机作为应答,只有这样才能收到主机同时把本站地址发回主机作为应答,只有这样才能收到主机发送的有效数据。其它从机由于地址不符,仍处于监听状态,发送的有效数据。其它从机由于地址不符,仍处于监听状态,保持保持SM2SM21 1,所以无法接收主机的数据。,所以无法接收主机的数据。第三节第三节 MCS

34、51MCS51串行通信接口的工作方式串行通信接口的工作方式 主机收到从机的应答信号,比较收与发的地址是否相符,主机收到从机的应答信号,比较收与发的地址是否相符,如果不符,则发出复位信号如果不符,则发出复位信号( (例如:发任一数据,但例如:发任一数据,但TB8TB81)1);如果地址相符,则清除如果地址相符,则清除TB8TB8,正式开始发送数据和命令。,正式开始发送数据和命令。 从机收到复位命令后再次回到监听状态,再置从机收到复位命令后再次回到监听状态,再置SM2SM21 1,否,否则正式开始接收数据和命令。则正式开始接收数据和命令。例如:按上述约定编写主机和例如:按上述约定编写主机和1 1号

35、从机的联络过程的程序片号从机的联络过程的程序片段,设主、从机均采用方式段,设主、从机均采用方式2 2工作工作( (方式方式3 3用法与此类似,只用法与此类似,只是波特率设置不同是波特率设置不同) ) 第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式四、串行通讯的波特率设计四、串行通讯的波特率设计串行口在不同的工作方式下。其波特率是不同的。在方式串行口在不同的工作方式下。其波特率是不同的。在方式0 0时,每个机时,每个机器周期发送或接收一位数据,因此波特率固定为振荡频率的十二分之器周期发送或接收一位数据,因此波特率固定为振荡频率的十二分之一,即一,即foscfosc

36、1212。 方式方式2 2的波特率也是固定的,其波特率的波特率也是固定的,其波特率2 2SMODSMODfoscfosc6464,其中,其中SMODSMOD为波特率加倍位,它附设在节电控制寄存器为波特率加倍位,它附设在节电控制寄存器PCONPCON的最高位,可由的最高位,可由软件编程选择。若软件编程选择。若SMODSMOD0 0,波特率为,波特率为foscfosc6464。若。若SMODSMOD1 1,则波特,则波特率为率为foscfosc3232。 串行口在方式串行口在方式1 1和方式和方式3 3的波特率可变,与定时器的波特率可变,与定时器T1T1或或T2T2的溢出率的溢出率有关。有关。51

37、51子系列中常用定时器子系列中常用定时器TlTl作为波特宰发生器,这时方式作为波特宰发生器,这时方式1 1和方式和方式3 3的波特率由定时器的波特率由定时器T1T1的溢出率和的溢出率和SMODSMOD确定如下:确定如下:波特率波特率 T1T1溢出率溢出率SM O D232第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式 其中其中T1T1溢出率取决于其计数速率和定时器的预置值。通常采用溢出率取决于其计数速率和定时器的预置值。通常采用T1T1的工的工作方式作方式2 2,即自动重装载方式作为波特率发生器。为了避免因溢出而产生,即自动重装载方式作为波特率发生器。为了避免因

38、溢出而产生不必要的中断,此时应禁止不必要的中断,此时应禁止T1T1中断。中断。若假定若假定T1T1的计数初值为的计数初值为X X,则计数溢出周期为:,则计数溢出周期为:oscf12 (256256X X) 溢出率为溢出周期的倒数。由此可得波特率的计算公式为:溢出率为溢出周期的倒数。由此可得波特率的计算公式为: 串行口方式串行口方式1 1或或3 3的波特率的波特率 X)256(12fosc实际应用中,通常是先确定波特率、再计算定时器实际应用中,通常是先确定波特率、再计算定时器T1T1的计数初值,然后的计数初值,然后进行进行T1T1的初始化。由上面波特率的计算公式,可求出定时器的初始化。由上面波特

39、率的计算公式,可求出定时器T1T1方式方式2 2的计的计数初值为:数初值为:boscSMODf348f2X X256256第三节第三节 MCS51MCS51串行通信接口的工作方式串行通信接口的工作方式例例5-1:选用定时器:选用定时器T1,工作方式,工作方式2作波特率发生器,波特率为作波特率发生器,波特率为2400波特。波特。已知已知foc11.0592MHz,求计数初值,求计数初值X。解:设波特率控制位解:设波特率控制位SMOD0,不增倍时,不增倍时X256一一(11.059210620)(3842400)0F4H所以所以THlTLl0F4H如果串行通信选用很低的波特率,设置定时器如果串行通

40、信选用很低的波特率,设置定时器T1为方式为方式0或方式或方式l定时模式时,当定时模式时,当T1产生溢出时,需要重装计数初值,产生溢出时,需要重装计数初值,故波特率会产生一定的误差。故波特率会产生一定的误差。五、五、SMODSMOD位及晶振频率对串行通讯波特率的影响位及晶振频率对串行通讯波特率的影响 可能产生误差可能产生误差第四节第四节 串行口的应用程序设计举例串行口的应用程序设计举例 一、方式一、方式0 0应用举例应用举例 方式方式0 0为同步移位寄存器式输入输出,为同步移位寄存器式输入输出,8 8位数据从位数据从RXDRXD(P3.0P3.0)引脚输入引脚输入输出,由输出,由TXDTXD(P

41、3. 1P3. 1)引脚输出移位时钟使系统同步,波特率固定为引脚输出移位时钟使系统同步,波特率固定为foscfosc1212。例例5-25-2:用并行输入:用并行输入8 8位移位寄存器位移位寄存器74LS16574LS165作为扩展输入口。如图所示,作为扩展输入口。如图所示,利用利用80318031的的3 3根口线扩展为根口线扩展为1616根输入口线的电路,由根输入口线的电路,由2 2块块 74LS16574LS165串接而串接而成。编程从成。编程从1616位扩展口读入位扩展口读入2020个字节数据(读十次),并把它们转存到个字节数据(读十次),并把它们转存到内部内部RAMRAM的的50H50

42、H63H63H中。中。8位并行输入8位并行输入74LS165集成电路:1:移位;移位;0:置数:置数1引脚由高变低时,并行输引脚由高变低时,并行输入端入端AH数据锁存;当数据锁存;当1引引脚为高且加上时钟信号时,脚为高且加上时钟信号时,数据由数据由QA向向QH移位。移位。 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 974LS165 D C B A移位移位/置数置数GNDVCC串行串行输入输入时钟时钟禁止禁止输出输出 QHE F G H输出输出 QH时钟时钟可由串入实现级联可由串入实现级联串行输出串行输出第四节第四节 串行口的应用程序设计举例串行口的应用程序设计举例 编程如下:编程如下:MOVR7,#14H;设置读入字节数;设置读入字节数MOVR0,#50H;设片内;设片内RAM指针指针SETBF0;设置读入字节奇

温馨提示

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

评论

0/150

提交评论