单片基础及其应用 4_第1页
单片基础及其应用 4_第2页
单片基础及其应用 4_第3页
单片基础及其应用 4_第4页
单片基础及其应用 4_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

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

文档简介

项目七串口通信应用296297任务1

双机通信设计双机通信设计任务12981.了解双机通信的功能和原理。2.掌握串行通信的方式。3.掌握串行通信的数据传输方式。4.能编写串口初始化程序。5.能编写串口发送和接收字符数据程序。6.能设计简单的双机串口通信电路。7.能编写简单的双机串口通信程序。8.能与他人分析讨论,发现并解决程序编写和调试问题。299在工业自动化过程中实时控制和数据处理被广泛应用,本任务要求采用两个单片机进行双机通信,一个单片机作为主机,模拟发送控制数据,另一个单片机作为从机,接收主机发送的控制数据,并根据接收到的数据控制LED闪烁和熄灭。300301本任务可将单片机1的P3.0/RXD引脚连接单片机2的P3.1/TXD引脚,单片机1的P3.1/TXD引脚连接单片机2的P3.0/RXD引脚,MCS-51系列单片机双机通信示意图如图所示,利用单片机串行通信模块实现控制功能。为完成此任务,需要学习串行通信方式等相关知识。MCS-51系列单片机双机通信示意图302一、串行通信的方式1. 异步通信异步通信是指通信的发送和接收设备使用各自的时钟控制数据发送和接收的过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,异步通信示意图如下图所示。303异步通信示意图3042. 同步通信同步通信时要建立发送设备时钟对接收设备时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传输的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送设备与接收设备的同步可以通过外同步和自同步两种方法实现,如图所示。两种同步方法a)外同步b)自同步二、串行通信的数据传输方式串行通信的数据传输方式有单工通信、半双工通信和全双工通信3种,如图所示。单工通信指数据仅能单向传输,发送端与接收端角色固定,如广播系统,电台持续发送信号,用户设备只能接收,无法反向传输数据。半双工通信指数据能够双向传输,但同一时间只能单向传输,需通过“切换”完成数据传输方向交替。305串行通信的3种数据传输方式a)单工通信b)半双工通信c)全双工通信306三、字符帧和波特率1. 字符帧在串行异步通信中,数据通常以字符(或字节)为单位组成字符帧传输。字符帧又称数据帧,由起始位、数据位、奇偶校验位和停止位4部分组成,其中起始位、数据位和停止位是必需的,而奇偶校验位可以根据实际要求决定是否采用。串行异步通信的数据格式示意图如图所示。307串行异步通信的数据格式示意图上图中各部分的介绍如下。(1)起始位起始位位于字符帧开头,占1位,始终为逻辑0,用于向接收端表示发送端开始发送一帧字符信息。(2)数据位数据位紧跟在起始位之后,一般为8位,最低有效位(LSB)在前,最高有效位(MSB)在后。(3)奇偶校验位奇偶校验位位于数据位之后,占1位,用于表示串行通信中采用奇偶校验,根据实际需要设定。308(4)停止位停止位位于字符帧末尾,始终为逻辑1,可取1位、1.5位或2位,用于向接收端表示一帧字符信息已发送完毕,也可为发送下一帧字符做准备。(5)空闲位两个相邻字符帧之间可以无空闲位,也可以有若干空闲位,根据实际需要设定。2. 波特率波特率是指每秒传输信号的数量,单位为bps。波特率是串行通信非常重要的指标,用于表示数据的传输速率。波特率越高,数据传输速率越快。309四、MCS-51系列单片机串口结构MCS-51系列单片机串口结构图如图所示,单片机内部是一个全双工的串行通信接口,它具有通用异步接收发送设备(UART)的全部功能,能同时进行数据的发送和接收,也可作为同步移位寄存器使用。SBUF是串行数据缓冲器,发送数据的SBUF称为串行数据发送缓冲器,接收数据的SBUF称为串行数据接收缓冲器。310311MCS-51系列单片机串口结构图五、MCS-51系列单片机串口相关的特殊功能寄存器1. 串口控制(SCON)寄存器与串口紧密相关的一个特殊功能寄存器是串口控制(SCON)寄存器,它用于设定串口的工作方式、发送/接收数据以及设置状态标志等。SCON寄存器的位符号见下表。312SCON寄存器的位符号(1)SM0、SM1SM0、SM1是工作方式选择位,串口有4种工作方式,由SM0、SM1设定,见下表。313串口工作方式(2)SM2SM2是多机通信控制位,主要用于方式2和方式3。当串口工作在方式2或方式3中时,若SM2=1,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断请求,否则会将接收到的数据放弃;若SM2=0,不管第9位数据是0还是1,都会将数据送入SBUF,并发出中断请求。314(3)RENREN是允许串口接收位。当REN=1时,允许串口接收数据;当REN=0时,禁止串口接收数据。该位可以由软件来设定。(4)TB8TB8是方式2、3中发送数据的第9位,可作为奇偶校验位。(5)RB8RB8是方式2、3中接收数据的第9位。315(6)TITI是发送中断标志位。在方式0中,当发送完第8位数据后,TI由硬件自动置1;在其他方式中,在发送停止位之前,TI由硬件自动置1。当TI=1时,请求中断,CPU响应中断后,发送下一帧数据。在任何方式中,TI都必须由软件先清0。(7)RIRI是接收中断标志位。在方式0中,当接收完第8位数据后,RI由硬件自动置1;在其他方式中,在接收到停止位时RI置1,要求CPU取走数据。在任何方式中,RI必须由软件清0。在系统复位时,SCON寄存器中的所有位都被清0。3162. 电源控制(PCON)寄存器电源控制(PCON)寄存器用于管理单片机的电源部分,包括上电复位检测模式、掉电模式、空闲模式等,PCON寄存器中只有SMOD与串口工作有关。单片机复位时,PCON寄存器各位全部被清0。PCON寄存器的位符号见下表。SMOD与串行通信波特率有关。当SMOD=0,并且单片机串口设置为方式1、2、3时,波特率正常。当SMOD=1,并且单片机串口设置为方式1、2、3时,波特率加倍。317PCON寄存器的位符号六、波特率与定时器初始值在串行通信中,收发双方对收发数据的速率要有约定。通过编程可对单片机串口设定4种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率决定。由于移入的移位时钟的来源不同,所以每种工作方式的波特率计算公式也不相同,以下是4种工作方式波特率的计算公式。318方式0的波特率=fOSC/12方式1的波特率=(2SMOD/32)×T1溢出率方式2的波特率=(2SMOD/64)×fOSC方式3的波特率=(2SMOD/32)×T1溢出率式中,fOSC为系统晶振频率,通常为12MHz或11.0592MHz;SMOD为PCON寄存器的最高位数据;T1溢出率为定时器T1溢出的频率。319见下表列出了单片机串口工作于方式1、定时器T1工作于方式2时的常用波特率与其对应的T1初始值。320常用波特率与其对应的T1初始值在实际使用中,一般用51波特率计算器自动计算T1初始值,如图所示,在将晶振频率设定为11.0592MHz后,设置目标波特率,输入“9600”,单击“计算”按钮,此时可以看到定时器预置数为“FD”,此预置数即为波特率9600bps所对应的定时器T1初始值。32151波特率计算器七、UART的使用步骤1. 设置串口工作方式设置SCON寄存器的SM0=0、SM1=1,使其工作方式为1,当REN=1时,单片机串口能接收数据。2. 设置波特率(方式0除外)可根据波特率计算公式设置波特率。3223. 确定波特率是否需要加倍(方式0除外)通常在使用定时器T2作为波特率发生器时,不需要对波特率进行加倍设置。如果使

温馨提示

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

评论

0/150

提交评论