第七章串行通信及其接口71概述课件_第1页
第七章串行通信及其接口71概述课件_第2页
第七章串行通信及其接口71概述课件_第3页
第七章串行通信及其接口71概述课件_第4页
第七章串行通信及其接口71概述课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

7.1概述1、串行通信数据传送方向1)单工方式——数据只能向一个方向传输。2)半双工方式——允许数据分时两个方向传输。

7.1概述1、串行通信数据传送方13)全双工方式——数据可以同时往两个相反的方向传输。3)全双工方式——数据可以同时往两个相反的方向传输。2

2)同步方式:每个数据位占用的时间都相等,发送机每一个基本的时间单位发送一位,接收机与发送机的时钟必须严格同步。其格式如图。

2、异步和同步通信方式1)异步方式:用一个起始位表示字符的开始,停止位表示字符的结束。数据位则在起始位之后,停止位之前,这样构成一帧,其格式如图。

2)同步方式:每个数据位占用的时间都相等,发送机每一个基本37.2 MCS-51的串行口

1、数据缓冲器SBUF发送SBUF和接收SBUF共用一个地址99H。2、串行口控制寄存器SCON寄存器的字节地址为98H,可位寻址。SCON格式如图。SM0、SM1:控制串行口的工作方式SM2:多机控制位,用于多机通讯。REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。TB8:发送的第9位数据位,可用作校验位和地址/数据标识位RB8:接收的第9位数据位或停止位TI:发送中断标志,发送一帧结束,TI=1,必须软件清零RI:接收中断标志,接收一帧结束,RI=1,必须软件清零7.2 MCS-51的串行口

1、数据缓冲器SBUF43.特殊功能寄存器PCON其字节地址为87H,没有位寻址功能,其中与串行接口有关的只有D7位。SMOD(PCON.7):波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。3.特殊功能寄存器PCON53、串行口的工作方式

(1)方式0:同步移位寄存器方式。用于扩展并行I/O接口。1.一帧8位,无起始位和停止位。2.RXD:数据输入/输出端。TXD:同步脉冲输出端,每个脉冲对应一个数据位。3.波特率B=fosc/12 如:fosc=12MHz, B=1MHz,每位数据占1

s。4.发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。

发送时序写入SBUFRXD输出TXDTID0D1D2D3D4D5D6D7写REN=1RI=0RXD输入RI接收时序(a)(b)3、串行口的工作方式

(1)方式0:同步移位寄存器方式。用6(2)方式1:8位数据异步通讯方式。1.一帧10位:8位数据位,1个起始位(0),1个停止位(1)。2.RXD:接收数据端。TXD:发送数据端。3.波特率:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。4.发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1(或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。当REN=1,CPU开始采样RXD引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为0,继续接收其余位;否则,停止接收,重新采样负跳变。数据采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。(2)方式1:8位数据异步通讯方式。1.一帧10位:8位数7方式1串行发送接收时序图写入SBUF采样(a)发送时序图TXD数据输出TID0D1D2D3D4D5D6D7停止位起始位RXD输入数据(b)接收时序图D0D1D2D3D4D5D6D7停止位起始位RI检测负跳变方式1串行发送接收时序图写入采样(a)发送时序图TXDTI8(3)方式2和方式39位数据异步通讯方式。1.一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。2.RXD:接收数据端,TXD:发送数据端。3.波特率:方式2:BR=(2SMOD/64)×fosc。 方式3:BR=(2SMOD/32)×T1溢出率。4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1(或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。发送时序写入SBUFTXD输出TIRXD输入接收时序RID0D1D2D3D4D5D6TB8停止位起始位D7D0D1D2D3D4D5D6RB8停止位起始位D7检测负跳变(3)方式2和方式39位数据异步通讯方式。发写入TXD输9(4)计算波特率方式0为固定波特率:BR=fosc/12 方式2可选两种波特率:BR=(2SMOD

/64)×fosc 方式1、3为可变波特率,用T1作波特率发生器。 BR=(2SMOD/32)×T1溢出率串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。T1选方式2:TH1=X=28-(2SMOD×

fosc)/(12×32×BR)T1选方式1用于低波特率,需考虑T1重装时间常数时间。(4)计算波特率107.3

串行口的控制7-3-1主从机间的通信1双机串行异步通信(1)单片机与单片机间的串行异步通信接口设计两台8031直接通信如图:

7.3

串行口的控制7-3-1主从机间的通信11两台8031采用RS232C总线通信如图:

两台8031采用RS232C总线通信如图:12例如图8751-1的工作是检查接在P1口上的SW开关,当检测到开关的状态有变化时,就将变化后的状态读入,通过串行口将这个开关状态传送给8751-2。当8751-2接收到这个字节后就将它输出到P1口上显示,并且也将它接收到的数据回传给8751-1以通知8751-1已经接收到数据。当8751-1接收到这个响应数据后与刚才传出去的数据比较,若不相同再发送一次,以确保将正确的数据传递给8751-2。例如图8751-1的工作是检查接在P1口上的SW开关,当13通信约定:双方都采用串行通信方式,波特率为9600(晶振为11.059M),采用中断方式进行发送和接收数据。8751-1程序:BUFFER EQU 30H ;发送数据缓冲区ECHOFLAG BIT 00H ;当发送与接收到的数据相同时此标志置1ERRFLAG BIT 01H ;当发送与接收到的数据不同时此标志置1 ORG 0000H SJMP START ORG 0023H ;串行口中断输入口SJMP UART1 ORG 0030HSTART:MOVTMOD,#20H ;定时器1设置为方式2,作波特率发生器 ANL PCON,#7FH MOVTH1,#0FDH ;波特率为9600 MOVTL1, #0FDH SETBTR1 MOVSCON,#50H ;设置为串行方式1允许接收 MOVIE, #90H ;允许串行口中断 MOVBUFFER,#00H ;缓冲区清零WAIT:MOV A, P1 CJNE A, BUFFER,SWCH

通信约定:双方都采用串行通信方式,波特率为9600(晶振14SJMP WAITSWCH: MOV BUFER,ATRAGIN: MOV SBUF,A ;发送数据 CLR ECHOFLAG CLR ERRFLAGWAITEO: JB ERRFLAG,TRAGIN JNB ECHOFLAG,WAITEO SJMP WAITUART1: PUSH PSW PUSH ACC SETB RS0 CLR RS1 JBC RI, RCV1 ;判断是否为接收中断CLR TISJMP RETURNRCV1: MOV A, SBUF CJNE A,BUFFER, DATAER SETB ECHOFLAG SJMP RETURNDATAER: SETB ERRFLAGRETURN: POP ACC POP PSW RETI ENDSJMP WAIT15(2)单片机与PC系列微机间的异步串行通信接口设计

8031单片机与PC系列微机是两种不同类型的机种,它们的硬件结构不同,具有的电气特性也不一样,因此它们之间不能用导线直接连接,而要通过电平转换电路。8031单片机和PC机通过RS232C总线通信接口图如下:(2)单片机与PC系列微机间的异步串行通信接口设计167-3-2多机通信接口1.多机通信原理

串行口控制寄存器SCON中的SM2为多机通信接口控制位。串行口以方式2或3接收时,若SM2为1,则仅当接收到的第9位数据RB8为1时,数据才装入SBUF,置位RI,请求CPU对数据进行处理;如果接收到的第9位数据RB8为0,则不产生中断标志RI,信息丢失,CPU不做任何处理。当SM2为0时,则接收到一个数据后,不管第9位数据RB8是0还是1,都将数据装入接收缓冲器SBUF并置位中断标志RI,请求CPU处理。MCS-51的主从多机通信正是利用了这个特性。

7-3-2多机通信接口1.多机通信原理172.多机通信程序设计

MCS-51多机通信程序设计

以典型的PC机和MCS-51构成的主从式多机系统(PC机为主机MCS-51单片机为从机或前沿机)为例,如图:

2.多机通信程序设计

MCS-51多机通信程序设计18

设MCS-51晶振为6MHz设置波特率为2400,以方式3进行多机串行通信为例,编程方法如下:

MOVTMOD,#20HMOVTH1,#0F9H ;设置波特率为2400MOVTL1,#0F9HMOVSCON,#0F0H;设置串行口为方式3,;SM2=1,允许接收ANL PCON,#7FHSETB TR1SETB ES ;允许串行口中断SETB EAWAIT:SJMP WAIT ;听号

设MCS-51晶振为6MHz设置波特率为219当接收到地址帧“呼号”且地址帧与本机地址相符时,要置SM2为0以便准备接收数据帧,同时需要将本机地址发回作为应答,建立与主机的联络。编程如下:SIO:CLR RI PUSHPSW PUSHACC MOV A,SBUF ;接收

温馨提示

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

评论

0/150

提交评论