青岛理工大学-单片机-电子课件第9章-串口通信

上传人:F****n 文档编号:88060718 上传时间:2019-04-18 格式:PPT 页数:64 大小:715KB
返回 下载 相关 举报
青岛理工大学-单片机-电子课件第9章-串口通信_第1页
第1页 / 共64页
青岛理工大学-单片机-电子课件第9章-串口通信_第2页
第2页 / 共64页
青岛理工大学-单片机-电子课件第9章-串口通信_第3页
第3页 / 共64页
青岛理工大学-单片机-电子课件第9章-串口通信_第4页
第4页 / 共64页
青岛理工大学-单片机-电子课件第9章-串口通信_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《青岛理工大学-单片机-电子课件第9章-串口通信》由会员分享,可在线阅读,更多相关《青岛理工大学-单片机-电子课件第9章-串口通信(64页珍藏版)》请在金锄头文库上搜索。

1、第9章:串口通信,本章基本要求: 基本概念 51的串行接口* 串行接口的应用*,9.1 串行通信基础,所谓“通信”是指计算机与其他设备之间进行的信息交换。 通信的方式分为并行通信和串行通信两种。 并行通信是构成一组数据的各位同时进行传送,例如8位数据或16位数据并行传送。 其特点是传输速度快,但当距离较远、位数又多时导致了通信线路复杂且成本高。 串行通信是数据一位接一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现通信(如电话线),可大大地降低成本,适用于远距离通信。缺点是传送速度慢。,9.1 串行通信基础,下图为以上两种通信方式的示意图。由图可知,假设并行传送N位数据所需时间为T

2、,那么串行传送的时间至少为NT,实际上总是大于NT的。,9.1 串行通信基础,9.1.1 串行通信的分类 1、异步通信 异步传送的特点是数据在线路上的传送不连续。在传送时,数据是以一个字符为单位进行传送的。它用一个起始位表示字符的开始,用停止位表示字符的结束。异步传送的字符格式如图所示。 字符帧:也叫数据帧,由起始位、数据位、奇偶校验位和停止位4个部分组成。,9.1 串行通信基础,9.1 串行通信基础,波特率:就是数据的传送速率,即每秒钟传送的二进制位数,单位:位/秒。 说明:要求发送端与接收端的波特率必须一致。波特率越高,传送速度越快。 例:设字符传送的速率为120字符/秒,而每1个字符为1

3、0位,那么传送的波特率为:10位/字符120字符/秒=1200位/秒=1200波特。每1位二进制位的传送时间Td就是波特率的倒数, 例中:Td=1/1200=0.833ms,9.1 串行通信基础,2、同步通信 在异步传送中,每一个字符都要用起始位和停止位作为字符开始和结束的标志,占用了一定的时间。为了提高传送速度,有时就去掉这些标志,而采用同步传送,即1次传送1组数据。在这1组数据的开始处要用同步字符SYN来加以指示,如图示:,9.1.2 串行通信的制式 串行通信的数据传送方向有三种形式。,9.1 串行通信基础,1、单工制式(Simplex) 单工制式是指甲乙双方通信时只能单向传送数据, 发送

4、方和接收方固定。,单工:广播,9.1 串行通信基础,2、半双工制式 半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。,9.1 串行通信基础,全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。,3、全双工制式,双工:电话,9.1 串行通信基础,9.1.3 调制解调器 计算机通信是一种数字信号的通信,如图所示。它要求传送线的频带很宽,而在长距离通讯时,通常是利用电话线来传送的,该线不可能有这样宽的频带。如果用数字信号经过传送线

5、直接通讯,信号就会畸变。,9.1 串行通信基础,因此要在发送端用调制器(Modulator)把数字信号转换为模拟信号,在接收端用解调器(Demodulator)检测此模拟信号,再把它转换成数字信号,如图所示。,9.2 MCS-51单片机串行接口,51单片机内部有一个功能很强的全双工串行口,可同时发送和接收数据。它有四种工作方式,可供不同场合使用。波特率由软件设置,通过片内的定时/计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。 51的串行口除了用于数据通信外,还可以非常方便地构成1个或多个并行输入/输出口或作串并转换,用来驱动键盘与显示器。,51单片机的串行接口硬件结构,SB

6、UF(发),SBUF(收),发送控制器 TI,接收控制器 RI,移位寄存器,波特率发生器T1,+,A累加器,移位寄存器,RxDP3.0,TxD P3.1,去申请中断,引脚,引脚,CPU内部,1、发送和接收电路 SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。 MOV SBUF,A ;CPU写SBUF,就是修改发送缓冲器; MOV A,SBUF ;CPU读SBUF,就是读接收缓冲器。 串行口对外也有两条独立的收发信号线RXD(P3.0)和TXD(P3.1),因此可以同

7、时发送、接收数据,实现全双工传送。,9.2 MCS-51单片机串行接口,发送和接收过程都是在发送和接收时钟控制下进行的,必须与设定的波特率保持一致。 一般,51单片机的串口时钟是由内部定时器的溢出率经16分频后提供。 2、串行口控制寄存器SCON、PCON SCON用来控制串行口的工作方式和状态(可位寻址)。在复位时所有位被清0,字地址为98H。 PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H,不能位寻址。 SCON、PCON的格式和内容如下图。,9.2 MCS-51单片机串行接口,串行口控制寄存器SCON(98H),1、SM0、SM1 控制串行口方式,2、S

8、M2 允许方式2、3的多机通讯特征位,在方式2、3中若SM2=1表示接收的第九位数据(RB8)为1时,激活RI。 在方式0,1中SM2必须为0。,3、REN 允许串行接收位,由软件置/复位 1:允许接收 0:不允许接收,4、TB8 在方式2、3中要发送的第九位数据,由软件置/复位,5、RB8 在方式2、3中是接收的第九位数据 在方式0中不用RB8。,串行口控制寄存器SCON(98H),6、RI 接收中断标志(必须由软件清除) 在方式0中串行接收到第8位结束时自动置位。 在方式1、2、3中串行接收到停止位的中间时置位。,1,1,1,1,1,1,1,7、TI 发送中断标志(必须由软件清除) 在方式

9、0中串行发送第8位结束时自动置位。 在方式1、2、3中串行发送停止位的开始时置位。,串行口控制寄存器SCON(98H),电源控制寄存器PCON,SMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。, SMOD:在串行口工作方式 1、2、3 中,是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 (在PCON中只有这一个位与串口有关),9.2.2 串行口的工作方式 51的串行口有四种工作方式,它是由SCON中的SM0、SM1来定义的,如下表和下屏表格所示。,9.2 MCS-51单片机串行接口,9.2 MCS-51单片机串行接口,1、方式0 为同步移位寄存器方式,其波特率是固

10、定的,为fosc(振荡频率)的1/12。 方式0发送:数据从RXD引脚串行输出,TXD引脚输出同步脉冲。当1个数据写入串行口发送缓冲器时,串行口将8位数据以fosc/12的固定波特率从RXD引脚输出,从低位到高位。发送完后置中断标志TI为1,呈中断请求状态,在再次发送数据之前,必须用软件将TI清0。,9.2 MCS-51单片机串行接口,方式0接收:在满足REN=1(允许接收)、RI=0的条件下,串行口处于方式0输入。此时,RXD为数据输入端,TXD为同步信号输出端,接收器也以fosc/12的波特率采样RXD引脚输入的数据信息。当接收器接收完8位数据后,置中断标志RI=1为请求中断,在再次接收之

11、前,必须用软件将RI清0。,9.2 MCS-51单片机串行接口,说明: 在方式0工作时,必须使SCON寄存器中的SM2位为“0”,这并不影响TB8位和RB8位。方式0发送或接收完8位数据后由硬件置位TI或RI中断请求标志,CPU在响应中断后要用软件清除TI或RI标志。若串行口要作为并行口输入输出,这时必须设置“串入并出“或”并入串出”的移位寄存器来配合使用(如74HC164或74HC165等)。,9.2 MCS-51单片机串行接口,2、方式1 该方式为波特率可变的8位异步通信接口。 方式1发送:数据位由TXD端输出,发送1帧信息为10位,其中1位起始位”0”、8位数据位(先低位后高位)和一个停

12、止位“1”。 CPU执行1条数据写入发送缓冲器SBUF的指令,就启动发送器发送。当发送完数据,就置中断标志TI为1。,9.2 MCS-51单片机串行接口,方式1所传送的波特率取决于定时器T1的溢出率和特殊功能寄存器PCON中SMOD的值,即方式1的波特率=(2SMOD/32)定时器T1的溢出率。 方式1接收:当串行口置为方式1,且REN=1时,串行口处于方式1输入状态。它以所选波特率的16倍的速率采样RXD引脚状态。,9.2 MCS-51单片机串行接口,3、方式2 该方式为11位异步通信接口。 方式2发送:发送数据由TXD端输出,发送1帧信息为11位,其中1位起始位(0)、8位数据位(先低位后

13、高位)、1位可控位为1或0的第9位数据、1位停止位。附加的第9位数据为SCON中的TB8,它由软件置位或清0,可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验位。,9.2 MCS-51单片机串行接口,PIPL: PUSH PSW ;保护现场 PUSH ACC CLR TI ;清0发送中断标志 MOV A,R0 ;取数据 MOV C,P ;奇偶位送C MOV TB8,C ;奇偶位送TB8 MOV SBUF,A ;数据写入发送缓冲器,启动发送 INC R0 ;数据指针加1 POP ACC ;恢复现场 POP PSW RETI ;中断返回,9.2 MCS-51单片机串行接口,方式2中使

14、用TB8作为发送数据的奇偶校验位, 发送程序如下:,方式2接收:当串行口置为方式2,且REN=1时,串行口以方式2接收数据。方式2的接收与方式1基本相似。数据由RXD端输入,接收11位信息,其中1位起始位(0)、8位数据位、1位附加的第9位数据、1位停止位(1)。 方式2的波特率=(2SMOD/64)fosc 若附加的第9位数据为奇偶校验位,在接收中断服务程序中应作检验处理,参考程序如下:,9.2 MCS-51单片机串行接口,PIPL: PUSH PSW ;保护现场 PUSH ACC CLR RI ;清0接收中断标志 MOV A,SUBF ;接收数据 MOV C,P ;取奇偶校验位 JNC L

15、1 ;偶校验时转L1 JNB RB8,ERR ;奇校验时RB8为0转出错处理 SJMP L2 L1: JB RB8,ERR ;偶校验时RB8为1转出错处理 L2: MOV R0,A ;奇偶校验对时存入数据 INC R0 ;修改指针 POP ACC ;恢复现场 POP PSW RETI ;中断返回 ERR: ;出错处理 RETI ;中断返回,9.2 MCS-51单片机串行接口,方式2中使用RB8作为接收数据的奇偶校验位, 接收程序如下:,4、方式3 方式3为波特率可变的9位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。 方式3的波特率=(2SMOD/32)(定时器T1的溢出率),

16、9.2 MCS-51单片机串行接口,9.2.3 串行口的通信波特率 串行通信的四种工作方式对应着三种波特率。 对于方式0,波特率是固定的,为单片机时钟的十二分之一,即fosc/12。 对于方式2,波特率有两种可供选择,即fosc/32和fosc/64。对应于以下公式: 波特率=fosc2SMOD/64,9.2 MCS-51单片机串行接口,对于方式1和方式3,波特率都由定时器T1的溢出率来决定,使用下面公式: 波特率=(2SMOD/32)(定时器T1的溢出率) 而定时器T1的溢出率则和所采用的定时器工作方式有关,并可用以下公式表示: 定时器T1的溢出率=fosc/12(2n-X) 其中X为定时器T1的计数初值,n为定时器T1的位数,对于定时器方式0,取n=13;对于定时器方式1,取n=16;对于定时器方式2、3,取n=8。,9.2 MCS-51单片机串行接口,常用波特率和定时器T1初值,9.2 MCS-51单片机串行接口,注意:如果选定的波特率对应的初值C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号