资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MCS-51系列单片机的串行通信接口可以方便地实现与其他单片机之间、与PC机之间的串行通信,也可用通信接口实现键盘输入、LED显示及其他的控制。,主要内容: 1. 串行通信概述 2. MCS-51单片机串行通信接口的结构 3. MCS-51单片机串行通信的工作原理及其工作方式 4. MCS-51单片机串行接口应用编程,重点: MCS-51单片机串行接口的工作原理及工作方式 MCS-51单片机串行接口应用程序设计方法,第五章 MCS51单片机的串行接口,第一节 串行通信概述,第五章 MCS51单片机的串行接口,1.并行通信传送的数据的各位同时传送 优点是传送速度快,缺点是传输线多。 通信线路费用较高,并行传送适用于近距离、传送速度高的场合。,2串行通信传送数据的各位按分时顺序一位一位地传送。优点是传输线少,传送通道费用低,故适合长距离数据传送。缺点是传送速度较低。,一. 串行通信与并行通信,第一节 串行通信概述,1.单工方式通信双方只有一条单向传输线,只允许数据由一方发送,另一方接收。 2半双工方式通信双方只有一条双向传输线,允许数据双向传送,但每时刻上只能有一方发送,另一方接收,这是一种能够切换传送方向的单工方式, 3全双工方式通信双方只有两条传输线,允许数据同时双向传送,其通信设备应具有完全独立的收发功能。,二、串行通信的数据传送方向(串行通信制式),第一节 串行通信概述,串行方式是将传输数据的每个字符一位一位顺序地传送,按位组成字符。为了发送、接收信息,双方必须协调工作。这种协调方法,从原理上可分成两种:同步串行I/O和异步串行I/O。 1异步通信方式 异步方式实现简单,在微型计算机中大量使用异步串行I/O方式,为了避免连续传送过程中的误差积累,每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间。,有约定的帧格式; 发送与接收之间的同步是利用每一帧的起、止信号来建立的; 双方用各自的时钟控制发送与接收,三、串行通信的分类(同步通信和异步通信),2同步通信方式 在同步通信中,在数据或字符开始传送前用同步字符(SYNC)来指示(常约定l一2个),由时钟来实现发送端和接收端同步,当检测到规定的同步字符后,接下来就连续按顺序传送数据。同步字符是一特定的二进制序列,在传送的数据中不会出现 同步通信方式由于不采用起始和停止位,是在同步字符后可以接较大的数据区,同步字符所占部分很小,因此有较高的传送效率。,第一节 串行通信概述,第一节 串行通信概述,四、波特率 传送速率波特率 波特率是通信双方对数据传送速率的约定,表示每秒钟传送二进制数码的位数,单位是bit/s。 假如数据传送的速率是120个字符秒,每一个字符规定包含10个位(一个起始位、8个数据位和1个停止位),则传送的波特率为: 101201200位秒1200波特(bps) 每一位的传送时间即为波特率的倒数。,第二节 MCS51的串行通信接口,一、MCS-51串行口结构及工作原理,MCS-51单片机有一个可编程全双工串行通信接口(UART) (Universal Asychronous Receiver/Transmitter ) 可同时发送、接收数据(Transmit/Receive) 有四种工作方式,帧格式有8、10、11位 波特率(Baud rate)可设置,1.基本组成 两个独立的数据缓冲器SBUF(一个用作接收,一个用作发送)以及发送控制器、接收控制器、输入移位寄存器和输出控制门等组成。,2. 用户可访问的三个地址单元 SBUF:两个SBUF共用一个地址99H。发送SBUF只写不读,接收SBUF只读不写,由所用指令是发送还是接收来决定对哪个SBUF进行操作; SCON:串行口控制寄存器 PCON:电源控制寄存器,MCS-51串行接口的结构,二、串行口控制寄存器SCON SCON是一个可位寻址的专用寄存器,用来设定串行口的工作方式、控制串行口的接收发送以及状态标志。SCON的字节地址为98H,位地址为98H9FH。其格式如下:,(1)SM0、SMl:串行口工作方式选择位,可选择四种工作方式,(2)SM2:为多机通信控制位 在工作方式2和方式3中: 若SM21:当接收到第9位数据(RB8)为1,才将接收到的前8位 数据装入SBUF,并置位RI;否则将接收到的数据丢弃。 若SM20:不论第9位数据(RB8)是否为1,都将接收到的前8位数 据装数据装入SBUF,并置位RI。 在方式1中:若SM21,则只有接收到有效的停止位时,才置位RI。 在方式0中:必须使SM20,多机通信时,SM2必须置1。双机通信时,通常使SM20。,3)REN:允许串行接收位。该位由软件置位或清零。 4)TB8: 在工作方式2或方式3时,该位为发送的第9位数据,可按需要由软件置位或清零。在许多通信协议中,该位常作为奇偶校验位。在MCS5l多机通信中,TB8的状态用来表示发送的是地址帧还是数据帧,TB80时,为地址帧,TB81时,为数据帧。,串行口控制寄存器SCON,(5)RB8:在工作方式2或方式3时,存放接收到的第9位数据,代表着接收数据的某种特征。例如,可能是奇偶位,或为多机通信中的地址数据标识位。 在方式0中,RB8未用。 在方式1中,若SM20,RB8是已接收到的停止位。,(6)TI:发送中断标志位, TI1表示帧发送结束。其状态既可供软件查询使用,也可申请中断。TI都必须由软件清0。 (7)RI:接收中断标志,RI1时,表示帧接收结束。其状态既可供软件查询使用,也可申请中断。RI也必须靠软件清0。,注意:不管是否采用中断控制,数据发送前必须用软件将TI清零;接收数据后将RI清零;,单片机复位时,SCON中的所有位均为0。,三、电源控制寄存器PCON PCON主要字节地址为87H,不能位寻址。只有最高位SMOD与串行口工作有关。PCON的格式如下:,SMOD:串行口波特率倍增位。当SMOD1时,串行口波特率加倍; 复位时,SMOD0。,MCS51单片机的串行口可编程选择四种工作方式,其中方式0主要用于扩展并行输入输出口,串行通信时一般使用方式1、2或3。,一、方式0 工作在方式0时,串行口是作为同步移位寄存器使用的,其数据传输波特率固定为foc/12。串行数据由RXD(P30)端输入输出,同步移位脉冲由TXD(P31)端输出。数据的发送接收以8位为一帧,低位在前,无起始位、奇偶位及停止位。其帧格式为:,第三节 MCS51串行通信接口的工作方式,执行一条写SBUF指令就开始发送;接收完成后8位数据进入SBUF,在方式0下,常用于扩展I/O口。,MCS51串行通信接口的工作方式,第三节 MCS51串行通信接口的工作方式,二、方式1 串行口工作在方式1时,是作为10位异步通信接口,由TXD端发送数据,RXT端接收数据。发送接收的帧数据包括10位:1位起始位,用0来标识,8位数据位(低位在前),1位停止位,用1来标识。其帧格式为:,1.发送过程 当CPU执行任何一条写入SBUF的指今后,便启动串行口发送,发送的数据由TXD端输出。串行接口能自动地在数据的前后插入一位起始位和一位停止位,在发送移位脉冲的作用下依次从TXD端发送,发送完一帧信息时。发送中断标志TI置1,请求中断。,方式1下的传送波特率是可变的取决于定时器TI的溢出速率。,2.接收过程 当允许串行输入位REN置1后,CPU便以所选波特率的16倍速率采样RXD端电平。在没有信号到来之前,RXD端的状态为1。当在RXD端检测到从1到0的负跳变时,开始接收过程。16分频计数器的16个状态把接收每位信息的时间分成16份,在每个位时间的第7、8、9个计数状态。从RXD端采样三次,至少两次相同的值才被确认,以确保输入的数据准确无误。 当一帧数据接收完毕,以下两个条件同时满足: (1)RI0,即上一帧数据接收完成时,RI1的中断请求已被响应,SBUF中的数据已被取走; (2) SM20或接收到停止位为1(方式1时停止位进入RB8)。 则这次接收才有效,将8位数据装入接收缓冲器SBUF,停止位装入RB8,井将RI置1,申请中断。否则数据将丢失。,第三节 MCS51串行通信接口的工作方式,三、方式2和方式3 串行口工作在方式2和方式3时,均为11位异步通信接口。由TXD发送,RXD接收。发送接收的一帧信息由ll位组成;由l位起始位(0),8位数据位(低位在前),1位可编程位(第9数据位)和1位停止位(1)。发送时,可编程位(TB8)可设置为0或l,也可将奇偶位装入TB8,从而进行奇偶校验;接收时,可编程位送入SCON中的RB8。,方式2和方式3的工作原理类同。唯一的区别仅在于: 方式2的波特率为foc32或foc64,而方式3的波特率是可变的,取决于定时器Tl的溢出率。,3. 方式2、方式3时第9位数据为的用法 (1) 用第9位数据作奇偶校验位 方式2、方式3也可以像方式1一样用于点对点的异步通信。在数据通信中由于传输距离较远,数据信号在传送过程中会产生畸变,从而引起误码。通常可在通信软件上采取纠错措施。 例如将作为第9位数据作奇偶校验位,将其置人TB8位一同发送。,第三节 MCS51串行通信接口的工作方式,发送端发送一个数据字节及其奇偶校验位的程序段如下: TT: MOV SCON,80H ;串口方式2 MOV A,DATA ;取待发送的数据 MOV C,PSW.0 ;奇偶标志位置入TB8中 MOV TB8,C MOV SBUF,A ;启动一次发送,数据连同奇 ;偶校验位一块被发送 LOOP: JBC TI,NEXT ; SJMP LOOP NEXT:,第三节 MCS51串行通信接口的工作方式,MOV SCON, 90H ;方式2允许接收 LOOP:JBC RI,RECN ;等待接收 SJMP LOOP RECN:MOV A,SBUF ;读入接收的一帧数据 JB PSW.0,ONE ;判断接收端的奇偶值 JB RB8,ERR ;判断发送端的奇偶值 SJMP REXT ONE:JNB RB8,ERR REXT: ;接收正确处理 ERR : ;接收有错处理,方式2、方式3的发送过程中,将数据和附加在TB8中的奇偶校验位一块发送出。因此,作为接收的一方应设法取出该奇偶位进行核对,相应的接收程序段应为:,第三节 MCS51串行通信接口的工作方式,2)用第九位数据作多机通信的联络位 计算机与计算机的通信不仅限于点对点的通信,还会出现一机对多机或多机间的通信,构成计算机网。例如有一种比较特殊的总线形是主从式的网络,即在多台计算机中有一台是主机,其余的为从机,从机要服从主机的调度、支配。MCS51单片机的串行口方式2、方式3就适合于这种主从式的通信结构。如图所示。,第三节 MCS51串行通信接口的工作方式,第9位数据怎样用于多机通信呢?关键在于使用SM2位和接收到的第9个附加数据位(接收后放在RB8中)的配合。 例如,通信各方约定如下:主机向从机发送地址信息,其第9位数据必须为1,而向从机发送数据信息包括命令时,其第9位数据规定为0。,从机在建立与主机通信之前,处于对通信线路的监听状态。在监听状态下必须使SM21,此时只能收到主机发出的地址信息(第9位为1),非地址信息被丢失。 从机收到地址后应进行识别,是否主机呼叫本站,如果地址符合,确认呼叫本站,此时从机解除监听状态,使SM20,同时把本站地址发回主机作为应答,只有这样才能收到主机发送的有效数据。其它从机由于地址不符,仍处于监听状态,保持
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号