《单片机原理》第五章.ppt
《《单片机原理》第五章.ppt》由会员分享,可在线阅读,更多相关《《单片机原理》第五章.ppt(56页珍藏版)》请在三一办公上搜索。
1、第5章 MCS-51单片机的串行口及其应用,5.1 串行数据通信概述5.2 单片机系统中的串行接口及特点5.3 MCS-51单片机串行口的控制5.4 MCS-51单片机串行口的四种工作方式5.5 串行口波特率的设定5.6 串行口应用举例,打印机,计算机,网络,鼠标,扫描仪,硬盘,2、串行通信接口的应用,I2C SPI,RS232,USB,5.1.1 常见的串行通信接口,5.1 串行数据通信概述,1、串行通讯是实现远距离低成本数据传输的有效方法。,通用机,单片机,照片,5.1.2 串行通信的分类,1、同步传输和异步传输(按照数据传输方式划分),5.1 串行数据通信概述,(1)同步方式:以数据块为
2、单位进行数据传送,包括同步字符、数据块和校验字符CRC。,(a)单同步字符帧结构,(b)双同步字符帧结构,【特点】优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。,5.1.2 串行通信的分类,1、同步传输和异步传输(按照数据传输方式划分),5.1 串行数据通信概述,(2)异步方式:以字符为单位进行数据传送,每一个字符均按固定的字符格式传送,又被称为帧。,【特点】优点是不需要传送同步脉冲,可靠性高,所需设备简单,发送与接收相互独立,互不同步,但双方必须使用相同的波特率和字符帧格式;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。,奇偶校验,奇偶校验,起始位,起始
3、位,停止位,停止位,5.1.2 串行通信的分类,1、同步传输和异步传输(按照数据传输方式划分),5.1 串行数据通信概述,(2)异步方式:以字符为单位进行数据传送,每一个字符均按固定的字符格式传送,又被称为帧。,奇偶校验,奇偶校验,起始位,起始位,停止位,停止位,异步通信协议:没有数据发送时,数据线保持“1”状态;发送数据时,先发起始位“0”,其后是数据;数据后再发一位停止位“1”。,单工:广播,双工:电话,5.1.2 串行通信的分类,2、单工、双工、半双工传输(按照数据传输方向划分),5.1 串行数据通信概述,5.1.3 串行通信速率波特率,5.1 串行数据通信概述,波特率是指每秒钟传送信号
4、的数量,单位为波特(Baud)。而每秒钟传送二进制数的位数定义为比特率,单位是bps(bit per second)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。,【例】若比特率为9600bps,则每秒传输960帧,即960字符/秒,而每位传输时间:T=1/96000.104(ms),5.2 单片机系统中的串行接口及特点,在嵌入式系统中,与并行接口的总线形式相比:串行通讯成为简化电路结构的新的接口形式而越来越多的被采用。,MCS-51内部含有一个可编程全双工串行通信口,具有UART的全部功能。,UART(Universal Asy
5、nchronous Receiver/Transmitter)通用异步接收器/发送器,MCS51单片机串行(异步)通讯应用示意图,MCS-51(甲),MCS-51(乙),TXDRXD,RXDTXD,RS-232或485,RS-232或485,TXDRXD,RS-232,PC机COM1,COM2,单片机甲、乙之间近距离的直接通讯,单片机甲乙两地之间远距离通讯,单片机与PC机之间的数据通讯,返回前一次,TXD,RXD,TXD,RXD,返回,5.2 单片机系统中的串行接口及特点,5.3.1 数据缓冲寄存器 SBUF(99H),在MCS-51的串行口电路中,SBUF是用来存放发送和接收数据的两个独立的
6、缓冲寄存器,在SFR的地址都是99H。CPU执行写SBUF指令便开始引发串口的发送。MOV SBUF,A 当串口接收缓冲器接收到一帧数据时,可以执行下面指令进行读取:MOV A,SBUF,5.3 MCS-51单片机串行口的控制,MCS51通过数据缓冲寄存器SBUF和控制寄存器SCON、PCON实现对串行口的控制,SBUF实际上是一个能够独立完成数据接收和数据发送操作的复杂的硬件电路;CPU只要将数据送到发送SBUF(MOV SBUF,A)后,SBUF便一位一位地发送数据,发送完成后标志TI=1;在CPU允许接收串行数据的前提下,外部串行数据经RXD送入SBUF时,电路便自动启动接收,直至完成一
7、帧数据后标志 RI=1。由于发送SBUF与接收SBUF是两个独立的缓冲器,所以51串行口是一个可以同时发送与接收的“全双工”接口。,5.3 MCS-51单片机串行口的控制,SM0 SM1:串行口工作模式选择位。,串行口控制寄存器 SCON(SFR地址98H),返回,5.3 MCS-51单片机串行口的控制,RI:完成一帧数据接收标志,必须由软件清零,接收完成RI=1并申请中断(如果中断开放,则引发中断);TI:完成一帧数据发送标志,必须由软件清零,发送完成TI=1同时申请中断(如果中断开放,则引发中断);RB8:在9位有效数据传送的模式2、3时,接收到的第9位数据;TB8:在9位有效数据传送的模
8、式2、3时,将要发送的第9位数据;REN:允许接收位,REN=1时允许接收。由软件置位或清零。SM2:多机通信使能位。,跳过,中断撤消,返回,5.3 MCS-51单片机串行口的控制,5.3.2 串行口控制寄存器 SCON(SFR地址98H),SM2:多机通信使能位.(1)模式0、1时:SM2不用,应设为0。(2)模式2、3时:若SM2=0,无论RB8如何,RI都能被激活(RI=1)。但RI=1不能引发中断!只能用查询的方式接收数据。若SM2=1,收到的第9位(RB8)=0时,则RI不会被激活;若SM2=1且RB8=1时,RI才能被激活=1并可引发中断。,5.3 MCS-51单片机串行口的控制,
9、5.3.2 串行口控制寄存器 SCON(SFR地址98H),返回,使用RI、TI标志完成数据的发送与接收,RI(SCON.0):接收完成标志 当SUBF从RXD接收完一个完整的数据帧时RI=1,如果中断是开放的,则RI=1时会自动引发中断。用户可以通过中断服务程序将SBUF中的数据取出送累加器A。MOV A,SBUF 在中服程序中接收数据;也可以使用查询的方式对RI进行检测:JNB RI,$;如果RI1 则等待 MOV A,SBUF;RI=1时,取SBUF中数据送A,由于SBUF与CPU之间各自独立工作,那么:接收数据时CPU何时读取SBUF中的数据?发送数据时,CPU何时再向SBUF发送下一
10、个数据?双方只能通过标志进行协调,5.3 MCS-51单片机串行口的控制,TI(SCON.1):发送完成标志。当CPU执行 MOV SBUF,A 指令后,便引发一次串行通信的过程。SBUF开始通过TXD向外按位发送数据。当完成一帧数据的发送后,TI=1。如果系统中断是开放的,则TI=1会自动引发中断。用户可以通过中断服务程序向SBUF输送下一个数据:CLR TI;软件清除标志,准备引发下次中断 MOV SBUF,A;在中断程序中发送下一个数据;也可以使用查询的方式对TI进行检测:JNBTI,$;如果TI1 则等待 CLR TI;软件清除标志,准备下次发送 MOV SBUF,A;TI=1时发送下
11、一个数据,5.3 MCS-51单片机串行口的控制,使用查询RI、TI标志的方式进行发送与接收N个数据,5.3 MCS-51单片机串行口的控制,SMOD:串行口波特率倍率控制位 SMOD=1时,方式1、2、3的波特率加倍,5.3.3 控制寄存器 PCON(SFR地址87H),5.3 MCS-51单片机串行口的控制,返回,方式1、3下波特率可变:,模式2的波特率固定为:,5.4 MCS-51串行口的四种工作方式,【特点】做同步移位寄存器用。其波特率固定为 fosc/12。在这种模式下RXD(P3.0)做数据口;TXD(P3.1)做移位脉冲输出端。在移位过程中,先移数据的低 位D0(移位脉冲的频率就
12、是模式0的波特率)。【主要功能】使用串行口扩展并行口,5.4.1 模式0,【注意】方式0并不是一种同步通信方式,寄存器,模式0的时序信号(发送),写SBUF,SEND,D1,D0,D2,D3,D4,D5,D6,D7,RXD端数据,SHIFT,TXD端同步脉冲,TI中断标志,mov sbuf,a 指令从发送到结束的10个机器周期,5.4 MCS-51串行口的四种工作方式,5.4.1 模式0,【特点】10位传输格式(1个起始位+8个数据位+1个停止位);用于真正远距离的异步通讯方式;波特率可变(定时器T1的溢出率来确定,所以首先要对T1进行初始化以确定串行口的波特率)。(1)发送操作:在TI=0,
13、执行mov sbuf,a 指令后开始,自动在8位字符前后分别添加1个起始位和停止位,并从TXD端开始依次发送一帧数据。当发送完后将TI置位。,TI,5.4.2 模式1,5.4 MCS-51串行口的四种工作方式,TXD,(2)接收操作:在REN=1且RI=0的条件下进行。串行口的接收电路对RXD线进行采样,其采样频率是接收时钟的16倍。当连续8次采集到RXD线上为低电平时,检测电路便认定RXD线上有了“起始位”,此后,便开始在每个采样周期中的第7、8、9三个脉冲时进行RXD采样,采取“三中取二”的原则来确定接收的数据。,起始位,8位数据,停止位,RI,RXD,当连续8次采集到低电平时,便确认起始
14、位到来,在每个第7,8,9个脉冲对RXD采样并采用“以三取二”来确定采集的数据,5.4 MCS-51串行口的四种工作方式,5.4.2 模式1,当接收到停止位时,必须满足:RI=0且SM2=0,才能把接收的数据送到SBUF中(停止位送SCON的RB8中,并使RI=1),否则数据丢失。上面的条件意味着:要想得到接收的数据,在接收前必须事先清零RI。,方式1下波特率可变:,5.4 MCS-51串行口的四种工作方式,5.4.2 模式1,【特点】模式2、3都是11位传输格式:1个起始位+9个数据位+1个停止位。模式2与模式3的区别仅在波特率上 模式2:固定为fosc/64或fosc/32。(具体由PCO
15、N中的SMOD位来确定)。模式3:可变,由定时器T1的溢出波特率来确定(同方式1一样,为1/32或1/16倍的T1溢出率)。,起始位,8+1位数据,停止位,第9位,0,1,5.4.3 模式2、3,第9 位数据由用户安排,可以是奇偶校验位,可以是其他控制位,5.4 MCS-51串行口的四种工作方式,5.4 MCS-51串行口的四种工作方式,模式2、3的发送过程类似于模式1,唯一的区别在于数据帧中数据是9位。这样,在发送一帧数据时,CPU除了要把8位数据送SBUF外(mov sbuf,a),还要事先将第9位数据送到SCON.TB8中。SETB SCON.TB8 或:CLR SCON.TB8 例如:
16、SETB SCON.TB8 或:CLR SCON.TB8 MOV SBUF,A MOV SBUF,A,SCON(98H),(1)发送,5.4.3 模式2、3,RI=0是保证下一个数据的正常接收的重要条件。每次当SBUF收到数据时,RI自动置1。当取走数据时必须通过软件复位RI(指令 CLR RI),否则外部发来的数据将丢失!模式2、3的接收过程类似于模式1,不同的是:模式1时,SCON中的RB8是接收到的停止位“1”;而模式2、3时,RB8是接收到的第9位(D8)。,5.4 MCS-51串行口的四种工作方式,(2)接收,5.4.3 模式2、3,串行口模式2、3时数据帧格式,发送时:将SCON中
17、的TB8作为第9位数据发送;接收时:将接收来的第9位送到SCON中的RB8中。,5.4 MCS-51串行口的四种工作方式,5.4.3 模式2、3,起始位,8+1位数据,停止位,0,1,返回,在串行口的异步通讯中,发送方与接收方是两个互相独立的系统,它们的系统时钟可以各不相同(如图所示)。在这种条件下使通讯正确的条件是:(1)要有相同的字符帧格式;(2)要有相同的波特率。,5.5 串行口波特率的设定,*当SMOD=1时,B=fosc/32;当SMOD=0时,B=fosc/64。,3、模式1、3的波特率 由T1的溢出率来决定的(SMOD=1使波特率加倍)。,MCS-51单片机的串行口4种模式其波特
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理 单片机 原理 第五
链接地址:https://www.31ppt.com/p-5897200.html