单片机-07-串口_第1页
单片机-07-串口_第2页
单片机-07-串口_第3页
单片机-07-串口_第4页
单片机-07-串口_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、第第 7 章章 单片机串行口及其应用单片机串行口及其应用 本章介绍本章介绍 串行通讯原理、串行通讯原理、 MCS51串行口的结构、串行口的结构、 串行口工作原理、串行口工作原理、 串行口工作方式,串行口工作方式, 各有关特殊功能寄存器的设置、各有关特殊功能寄存器的设置、 波特率计算、波特率计算、 发送、接收中断服务程序编写。发送、接收中断服务程序编写。7.1 7.1 串行通讯基本概念串行通讯基本概念 并行通讯并行通讯将数据将数据字节字节的各位用的各位用多条多条数据线数据线同时同时进行传送,进行传送,传输速度快,且控制简单;传输速度快,且控制简单;传输线较多,线间存在电耦合,抗干扰差,收发需同步

2、,传输线较多,线间存在电耦合,抗干扰差,收发需同步,长距离传送时成本高。长距离传送时成本高。接收设备发送设备询 问应 答101011008 位 同 时 传 送按分时顺序一位一位传送按分时顺序一位一位传送所需线少,长距离传送时成本低(电话网所需线少,长距离传送时成本低(电话网) )传输速度低传输速度低收发控制复杂收发控制复杂接收设备发送设备8位顺次传送D0D7串行通讯串行通讯串行通讯的基本概念串行通讯的基本概念一、串行通信的传输方式一、串行通信的传输方式单工单工半双工半双工双工双工二、同步与异步传输二、同步与异步传输同步通信同步通信 将数据按约定分成数据块,之间用将数据按约定分成数据块,之间用同

3、步字符同步字符隔离,时钟控隔离,时钟控制发送接收同步(制发送接收同步(发送接收同频发送接收同频)。)。 传输数据无间隔传输数据无间隔(可发送同步字符占位)(可发送同步字符占位),数据位同步,数据位同步,字符同步。字符同步。同步同步数据数据。数据数据CRC1CRC2异步通信异步通信 以帧为单位传送以帧为单位传送 每帧包括每帧包括起始位起始位(0 0)、)、数据位数据位(字节,低位在前)、(字节,低位在前)、停止位停止位(1 1) 帧内各位同步,帧之间异步,帧长度不同帧内各位同步,帧之间异步,帧长度不同(常为一个字节)(常为一个字节) 硬件要求低,效率较低硬件要求低,效率较低11100110010

4、100100 1发送设备接收设备10100100011110011001间隙任意MCS51单片机的一帧信息包括一位起始位,单片机的一帧信息包括一位起始位,8位位或或9位位数据位和数据位和1位位停止位停止位比特率比特率用来表示串行通讯的传输速率。含义是每秒钟传输二用来表示串行通讯的传输速率。含义是每秒钟传输二进制代码的进制代码的位数位数,单位是单位是:位位/ /秒秒(bps)(bps)。如每秒钟传送如每秒钟传送360帧,而每帧包含帧,而每帧包含10位位(1个起始位、个起始位、8个数据位个数据位和和1个停止位个停止位),则比特率为:,则比特率为: 10位位360帧帧/秒秒 = 3600 bps波特

5、率波特率是指是指调制信号调制信号每秒钟变化的次数,单位是波特每秒钟变化的次数,单位是波特( (Baud),),也可用来表示串行通讯的传输速率。也可用来表示串行通讯的传输速率。三三. .比特率和波特率比特率和波特率四四. .信号的调制与解调信号的调制与解调 发送时用调制器发送时用调制器(Modulator)把数字信号转换成模拟信号把数字信号转换成模拟信号(调调制制),放大后发送,放大后发送,(D-A) 接收端由解调器接收端由解调器(Demodulator)把收到的模拟信号转换成数把收到的模拟信号转换成数字信号字信号(解调解调)再送入计算机或接收设备;再送入计算机或接收设备;(A-D) 用于传输距

6、远时(用于传输距远时(30m),减小信号畸变。,减小信号畸变。7.2 MCS51串行口基本原理串行口基本原理 一个一个全双工全双工串行接口,通过串行接口,通过P3口的两个引脚通信口的两个引脚通信: 串行数据发送端串行数据发送端TXD (P3.1) 串行数据接收端串行数据接收端RXD (P3.0) 与串行口有关的与串行口有关的SFR有有SCON、PCON和和SBUF; 不可访问寄存器不可访问寄存器: 发送控制器、接收控制器、输入移位寄发送控制器、接收控制器、输入移位寄存器等存器等MCS51单片机串行口组成原理单片机串行口组成原理 不论是同步还是异步传输,收发双方的波特率应该一致不论是同步还是异步

7、传输,收发双方的波特率应该一致(位同位同步)步) MCS51单片机的单片机的波特率发生器波特率发生器由由T1构成,对于构成,对于52子系列,子系列,也可用也可用T2构成波特率发生器。构成波特率发生器。1SBUF发送控制器接收控制器移位寄存器控制门TIRIATXDRXD去串口中断SMOD01TH1TL1216SBUFT1溢出率2167.2.17.2.1与串口操作有关的特殊功能寄存器与串口操作有关的特殊功能寄存器1. 串口控制寄存器串口控制寄存器SCON字节地址字节地址98H,可位寻址可位寻址,复位时清零,复位时清零SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D0SCO

8、N9FH9EH9DH9CH9BH9AH99H98H位地址串行口工作方式串行口工作方式 SM0SM1方式方式功功 能能 说说 明明000同步移位寄存器方式同步移位寄存器方式,波特率为,波特率为 fosc/12(多多用于扩展用于扩展I/O口口)01110位异步传输方式位异步传输方式,波特率为,波特率为2SMOD fosc/32T1溢出率,可变溢出率,可变10211位位异步传输方式,波特率为异步传输方式,波特率为2SMOD fosc/6411311位位异步传输方式,波特率为异步传输方式,波特率为2SMOD fosc/32T1溢出率,可变溢出率,可变REN,允许串行接收位允许串行接收位。如果软件对。如

9、果软件对REN置置“1”,则启,则启动串行口接收数据;若清零动串行口接收数据;若清零REN位,则禁止接收。位,则禁止接收。TB8,在方式,在方式2或方式或方式3中,是发送数据的第九位,可以用中,是发送数据的第九位,可以用软件规定其作用。软件规定其作用。RB8,在方式,在方式2或方式或方式3中,是接收到数据的第九位。其作中,是接收到数据的第九位。其作用视发送方用视发送方TB8的作用而定。的作用而定。TI,发送中断标志位,发送中断标志位 RI,接收中断标志位,接收中断标志位 2.电源控制寄存器电源控制寄存器 PCON PCON字节地址位字节地址位87H,不能位寻址,只有不能位寻址,只有最高位最高位

10、SMOD位与串口工作有关:位与串口工作有关: SMOD1时,波特率加倍;时,波特率加倍; SMOD0时,波特率不加倍时,波特率不加倍。 SMOD称为称为波特率倍增位波特率倍增位,复位时复位时SMOD=03.数据缓冲器数据缓冲器SBUF 单片机内部,有单片机内部,有两个两个物理上独立的缓冲器,分别负责物理上独立的缓冲器,分别负责接收接收和发送和发送数据,它们占用数据,它们占用同一同一地址地址99H,编程时使用同样的,编程时使用同样的寄存器名称寄存器名称SBUF 写写SBUFMOV SBUF ,A 时时,硬件自动将数据送入,硬件自动将数据送入发送缓冲器,开始串行发送发送缓冲器,开始串行发送 执行读

11、执行读SBUF指令指令MOV A ,SBUF 时,硬件自动将时,硬件自动将接收缓冲器的内容送入接收缓冲器的内容送入A累加器,完成串行接收累加器,完成串行接收 7.2.2 7.2.2 串行口的工作方式串行口的工作方式 方式方式0 0 同步移位寄存器同步移位寄存器输入输出方式。输入输出方式。数据由数据由RXD (P3.0)引脚引脚输入或输出输入或输出,同步移位脉冲同步移位脉冲由由TXD (P3.1)引脚输出。引脚输出。发送和接收均为发送和接收均为8位数据,低位在先,高位在后。波特位数据,低位在先,高位在后。波特率固定为率固定为fosc/12。工作方式工作方式0可用于扩展并行输入可用于扩展并行输入/

12、输出口。输出口。1)用方式)用方式0发送发送 数据写入数据写入SBUF后,开始从后,开始从RXD端发送,低位在前;端发送,低位在前; 同时同步移位脉冲从同时同步移位脉冲从TXD端输出端输出 一字节发送完后,一字节发送完后,TI标志置标志置“1”,发出中断请求;,发出中断请求; 如果要继续发送下一字节,必须用如果要继续发送下一字节,必须用软件清除软件清除TI中断标志。中断标志。 2)用方式)用方式0接收接收 REN为为“1”,且,且RI0的条件下,将启动一个接收过程。的条件下,将启动一个接收过程。 RXD为串行输入端,为串行输入端,TXD输出同步脉冲。输出同步脉冲。 接收完一帧数据后,各控制信号

13、复位,接收完一帧数据后,各控制信号复位,RI变高电平,请求变高电平,请求中断。中断。 要再次接收,也必须用要再次接收,也必须用软件清零软件清零RI。 2.方式方式1 方式方式1是异步传输方式。是异步传输方式。 一帧数据为一帧数据为10位位,包括数据,包括数据1位起始位位起始位(0),8位数据位,位数据位,1位停位停止位止位(1), TXD为数据发送引脚,为数据发送引脚,RXD为数据接收引脚。为数据接收引脚。 1)用方式)用方式1发送发送 CPU执行写执行写SBUF的指令后,便开始一次发送过程,数据的指令后,便开始一次发送过程,数据逐位逐位从从TXD端送出,端送出, 发送所用移位脉冲是发送所用移

14、位脉冲是定时器定时器1溢出信号溢出信号经经16或或32分频分频信号,信号,即波特率是可变的,即波特率是可变的, 方式方式1的波特率为的波特率为2SMOD / 32T1溢出率。溢出率。 一帧数据发送完后,一帧数据发送完后,TI置置“1”,请求中断,请求中断。TI标志也只标志也只能用能用软件清除软件清除。 2)用方式)用方式1接收接收 REN被被软件软件置置“1 1”后,接收器以所选择波特率的后,接收器以所选择波特率的16倍倍速速率采样率采样RXD引脚电平,当检测到引脚电平,当检测到RXD引脚输入电平发生引脚输入电平发生负跳变负跳变时,则说明起始位有效,将其移入输入移位寄存器,时,则说明起始位有效

15、,将其移入输入移位寄存器,并开始接收这一帧信息的其余位,并开始接收这一帧信息的其余位, 接收过程中,数据从输入移位寄存器右边移入,起始位移接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。至输入移位寄存器最左边时,控制电路进行最后一次移位。 9位数据收完以后,如果满足下列条件则将接收到的前位数据收完以后,如果满足下列条件则将接收到的前8位数位数据装入接收据装入接收SBUF,第,第9位位(停止位停止位)进入进入RB8,并置,并置RI=1,向,向CPU请求中断。请求中断。 RI=0; SM2=0,或,或SM2=1但接收到的停止位为但接收到的停止位

16、为13. 方式方式2和方式和方式3 方式方式2和方式和方式3均为均为异步异步传输方式,传输方式, 一帧数据由一帧数据由11位位构成,即构成,即1位起始位(位起始位(0),),8位数据位,位数据位,1位位可编程位可编程位和和1位停止位(位停止位(1),), TXD为数据发送引脚,为数据发送引脚,RXD为数据接收引脚,为数据接收引脚, 方式方式2的波特率仅受波特率倍增位的影响,的波特率仅受波特率倍增位的影响, 2SMODfosc/64; 方式方式3的波特率可变,为的波特率可变,为2SMOD/32T1溢出率溢出率。TB8。1)用方式)用方式2或或3发送发送 方式方式2或或3一帧数据包括一帧数据包括9

17、位有效位位有效位,发送前必须将要发送的第,发送前必须将要发送的第9位数据装入位数据装入SCON寄存器的寄存器的TB8中,常用方法是使用指令中,常用方法是使用指令STEB 或或CLR TB8置置“1”或清零。或清零。 第第9位数据的作用完全由用户程序决定,通常可作为位数据的作用完全由用户程序决定,通常可作为奇偶校验奇偶校验位位或多机通讯中的或多机通讯中的地址地址/数据标识位数据标识位 第第9 9位数据准备好后,执行写位数据准备好后,执行写SBUF寄存器的指令即开始发送寄存器的指令即开始发送 2)用方式)用方式2或或3接收接收 REN置置“1”后,开始接收后,开始接收,接收过程,接收过程与方式与方

18、式1相同,相同, 8位数据接收完后,如果位数据接收完后,如果RI=0,且,且SM2=0(或接收到的第(或接收到的第9位位数据为数据为1)时,接收到的)时,接收到的8位位数据装入接收缓冲器数据装入接收缓冲器SBUF,第第9位装入位装入RB8,置,置位位RI,向,向CPU请求中断。请求中断。 如果条件不满足,则数据丢失,且不置位如果条件不满足,则数据丢失,且不置位RI,继续搜索,继续搜索RXD引脚的负跳变。引脚的负跳变。7.2.3 波特率计算波特率计算 串行通信中,收发双方发送或接收数据的串行通信中,收发双方发送或接收数据的速率应该相同速率应该相同,才能保证接收。才能保证接收。 51单片机串行口单片机串行口的的四种工作方式中四种工作方式中,方式方式0和方式和方式2的波特的波特率是固定的,这时要求收发率是固定的,这时要求收发双方主频一致或相差一倍双方主频一致或相差一倍; 方式方式1和方式和方式3的波特率可变,必须对双方的的波特率可变,必须对双方的定时器定时器进行正

温馨提示

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

评论

0/150

提交评论