物联网应用实训RSRS串口通信_第1页
物联网应用实训RSRS串口通信_第2页
物联网应用实训RSRS串口通信_第3页
物联网应用实训RSRS串口通信_第4页
物联网应用实训RSRS串口通信_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、物联网应用实训RSRS串口通信RS232_RS485串行 能力目标:1.掌握串行通信概念与工作原理2.能够利用定时器1实现串口通信3.能够利用独立波特率发生器实现串口通信4.掌握RS232和RS485串行通信方式及应用一、串行通信的概念 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。所有这些信息的交换均称为“通信”。并行通信与串行通信 通信的基本方式分为并行通信和串行通信两种。 并行通信,是指数据的各位同时进行传送的方式。其特点是传输速度快,但当距离较远,位数又多时导致了通信线路复杂且成本高。 串

2、行通信,是指数据一位一位的顺序传送的通信方式。其特点是通信线路简单,只要一对传输线就可以实现通信,从而大大的降低了成本,特别适用于远距离通信,但传送速度慢。 在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。并行通信与串行通信示意图D1D2D3D4D5D6D7D01控制(选通)状态1011111000000000T计算机计算机或外设8T计算机计算机或外设a)b)串行通信中的异步通信 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。串行通信中的异步通信 异步通信是以字符(构成的帧)为单位进行传输,字符与字符

3、之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间是异步的(字符之间不一定有“位间隔”的整数倍的关系),但同一字符内的各位是同步的(各位之间的距离均为“位间隔”的整数倍)。串行通信中的异步通信 在异步数据传送中,CPU与外设之间事先必须约好两项事宜: 第一:字符格式。双方要约好字符的编码形式、奇偶校验形式、以及起始位和停止位的规定。 第二:波特率(Baud rate)。波特率是衡量数据传送速率的指标,它要求发送站和接收站都要以相同的数据传送速率工作。 通用的异步接收器/发送器UART 通用的异步接收器/发送器,简称UART(Universal Asynchron

4、ous Receiver/Transmitter),是串行接口的核心部件,它既能发送,由并行串行输出;又能接收,由串行并行输入。对每一方来说都是一个双缓冲器结构。 当UART接收数据时,串行数据先经RXD端(Receiver Data)进入移位寄存器,再经移位寄存器输出并行数据到缓冲器,最后通过数据总线送到CPU;当UART发送信息时,先由CPU经数据总线将并行数据送给缓冲器,再由并行缓冲器送给一位寄存器,最后逐位由TXD(Transmitter Data)端输出。所有这些工作都是在时钟信号和其他控制信号作用下完成的。通用的异步接收器/发送器UARTWRRESETCONTROLTXC奇偶错溢出

5、错帧错RXCTBEDATA BusRXDTXDRDCSINOUTPEOEFE接收移位寄存器接收数据缓冲器发送缓冲器空发送移位寄存器发送数据缓冲器INTUARTUART内部结构内部结构示意图示意图二、STC12C5A60S2单片机的串行口 STC12C5A60S2单片机具有2个采用UART工作方式的全双工串行通信接口(串口1和串口2)。每个串口由2个数据缓冲器、1个移位寄存器、1个串行控制寄存器和一个波特率发生器等组成。每个串口的数据缓冲器由串行接收缓冲器和发送缓冲器构成,它们在物理上是独立的,既可以接收数据也可以发送数据,还可以同时发送和接收数据。二、STC12C5A60S2单片机的串行口 接

6、收缓冲器只能读出,不能写入,而发送缓冲器则只能写入,不能读出。它们共用一个地址号。STC12C5A60S2的串行口既可以用于串行异步通信,也可以构成同步移位寄存器。如果在串行口的输入/输出引脚上加上电平转换器,可以方便地构成标准的RS-232接口。串口1与传统8051单片机的串口完全兼容。串口2的结构、工作原理与串口1类似。STC12C5A60S2单片机的串行口 对于具有串口2的STC12C5A60S2单片机,串口2只能使用独立波特率发生器作为波特率发生器,不能够选择定时器1作为波特率发生器;串口1可以选择定时器1作为波特率发生器,也可以选择独立波特率发生器作为波特率发生器。1.选择定时器1作

7、为波特率发生器 定时器1作为波特率发生器时只能用在串口1中。 与串行接口1相关的寄存器:与串行口1相关的特殊功能寄存器 串口1控制寄存器SCON SCON(地址为98H,复位值为00H)用于确定串行通道的操作方式和控制串行通道的某些功能。也可用于发送和接收第九个数据位(TB8、RB8),并设有接收和发送中断标志(RI及TI)位。与串行口1相关的特殊功能寄存器 SM0和SM1为工作方式选择位,可选择四种工作方式:与串行口1相关的特殊功能寄存器 SM2:多机通信控制位,主要用于方式2和方式3。 REN:允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。 TB

8、8:在方式2或方式3中,是发送数据的第九位 RB8:在方式2或方式3中,是接收到数据的第九位与串行口1相关的特殊功能寄存器 TI:发送中断标志位。 在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。 RI:接收中断标志位。 在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。与串行口1相关的特殊功能寄存器 串口1控制寄存器PCON PCON中只有一位

9、SMOD与串行口工作有关 : SMOD() 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。8051串行口的工作方式 方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1位起始位,8位数据位,1位停止位。8051串行口的工作方式 1、方式1输出 2、方式1输入8051串行口的工作方式 用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其

10、余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。波特率的计算 在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,方式1的波特率是可变的,由定时器T1的溢出率来决定。 由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。 方式1的波特率 =(2SMOD/32)(T1溢出率)波特率的计算 当T1作为波特率发生器时,最

11、典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1 溢出率 = fosc /12256 (TH1)波特率的计算 在单片机的应用系统中,常用的晶振频率为:12MHz和。常用的串行口波特率以及各参数的关系如表所示。串行口1通信初始化过程 串行口1工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下: 确定T1的工作方式(编程TMOD寄存器); 计算T1的初值,装载TH1、TL1; 启动T1(编程TCON中的TR1位); 确定串行口控制(编程SCON寄存器); 串行口

12、在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。 串口串口1 1通信例程通信例程2.独立波特率发生器作为波特率发生器 独立波特率发生器可以作为串口1和串口2的波特率发生器使用。 与串行接口2相关的寄存器:与串行口2相关的特殊功能寄存器 串口2控制寄存器S2CON 寄存器S2CON(地址为9AH,复位值为00H)用于确定串口2的操作方式和控制串口2的某些功能,也可用于发送和接收第9个数据位(S2TB8、S2RB8),并设有接收和发送中断标志(S2RI及S2TI)位。具体功能同串口1的SCON。与串行口2相关的特殊功能寄存器 数据缓冲器S2BUF 对于串口2,当一个字符接收完毕,移位寄存

13、器中的数据字节装入串行接收数据缓冲器S2BUF中,其第9位则装入S2CON寄存器的S2RB8位。如果S2SM2使得已接收的数据无效,则S2RB8位和S2BUF缓冲器中的内容不变与串行口2相关的特殊功能寄存器 辅助寄存器AUXR T0 x12和T1x12用于设置定时器0和1的速度。 BRTR:独立波特率发生器运行控制位。 S2SMOD:UART2的波特率加倍控制位。 BRTx12:独立波特率发生器计数控制位。 S1BRS:串口1波特率发生器选择位。与串行口2相关的特殊功能寄存器 辅助寄存器AUXR1 S2_P4:0,缺省UART2在P1口 1,UART2从P1口切换到P4口 TxD2从P1.3

14、切换到口 RxD2从P1.2 切换到口与串行口2相关的特殊功能寄存器 独立波特率发生器寄存器BRT 独立波特率发生器寄存器BRT(地址为9CH,复位值为00H)用于保存重装时间常数。 对于独立波特率发生器BRT,1T模式是指BRTx12=1,12T模式是指BRTx12=0。12T模式时,n=1;1T模式时,n=0。此时,串行口的波特率计算公式为: 串行口的波特率串行口2的BRT计算 通过前面公式可以推导出BRT独立波特率发生器溢出率计算公式。 当工作在12T模式下:(baud是波特率)=256- (2SMOD x SYSclk / 32 / 12 / baud); 当工作在1T模式下:=256

15、- (2SMOD x SYSclk / 32 / baud);串行口2通信初始化过程 串口2的初始化过程如下: 设置串口2的工作模式S2CON。 设置串口2的波特率相应的寄存器和位,包括:独立波特率发生器寄存器BRT、BRTx12和S2SMOD位。启动BRT(置位BRTR),BRT开始计数。 设置串口2的中断优先级(设置PS2和PS2H,也可以不设置,取默认值),设置打开相应的中断控制位(ES2和EA)。 如要串口2发送,将数据送入S2BUF。 编制串行中断服务程序,在中断服务程序中要设置清除中断标志指令(分别是接收完成标志S2RI和发送完成标志S2TI)。 串口串口2 2通信例程通信例程三、

16、RS232串行通信接口标准 RS-232是早期为公用 网络数据通信而制定的标准,其逻辑电平与TTL/CMOS电平完全不同,在通信中必须通过电路实现TTL电平和RS-232电平的转换。 逻辑“0”规定为+5+15V之间,逻辑“1”规定为-5-15V之间。由于RS-232发送和接收之间有公共地,传输采用非平衡模式,因此共模噪声会耦合到信号系统中,标准中建议的最大通信距离为15m。RS-232C接口 RS-232C是EIA(美国电子工业协会)1969年修订RS-232C标准。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。 RS-232C接口规定使用25针连接器

17、,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头)RS-232C引脚定义RS-232C电平转换电路采用RS-232C接口存在的问题 1、传输距离短,传输速率低 RS-232C总线标准受电容允许值的约束,使用时传输距离一般不要超过15米(线路条件好时也不超过几十米)。最高传送速率为20Kbps。 2、有电平偏移 RS-232C总线标准要求收发双方共地。通信距离较大时,收发双方的地电位差别较大,在信号地上将有比较大的地电流并产生压降。 3、抗干扰能力差 RS-232C在电平转换时采用单端输入输出,在传输过程中当干扰和噪声混在正常的信号中。为了提高信噪比,RS-232C总线标准不得不采用比较大的电压摆幅。RS-485串行通信接口标准 RS-485是一种多发送器标准,在通信线路上最多可以使用32 对差分驱动器/接收器。如果在一个网络中连接的设备超过32个,还可以使用中继器。 RS-485的信号传输采用两线间的电压来表示逻辑1和逻辑0。由于发送方需要两根传输线,接收方也需要两根传输线。传输线采用差动信道,所以它的干扰抑制性极好,又因为它的阻抗低,无接地问题,所以传输距离可达1200米,传输速率可达1

温馨提示

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

评论

0/150

提交评论