第七章 串行通信及其接口 7-1 概 述教程文件

上传人:yuzo****123 文档编号:137922228 上传时间:2020-07-12 格式:PPT 页数:21 大小:360KB
返回 下载 相关 举报
第七章 串行通信及其接口 7-1 概 述教程文件_第1页
第1页 / 共21页
第七章 串行通信及其接口 7-1 概 述教程文件_第2页
第2页 / 共21页
第七章 串行通信及其接口 7-1 概 述教程文件_第3页
第3页 / 共21页
第七章 串行通信及其接口 7-1 概 述教程文件_第4页
第4页 / 共21页
第七章 串行通信及其接口 7-1 概 述教程文件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《第七章 串行通信及其接口 7-1 概 述教程文件》由会员分享,可在线阅读,更多相关《第七章 串行通信及其接口 7-1 概 述教程文件(21页珍藏版)》请在金锄头文库上搜索。

1、第七章 串行通信及其接口,7-1 概 述,7-2 MCS-51的串行口,7-3 串行口的控制,7.1 概 述,1、串行通信数据传送方向 1)单工方式数据只能向一个方向传输。 2)半双工方式允许数据分时两个方向传输。,3)全双工方式数据可以同时往两个相反的方向传输。,2)同步方式:每个数据位占用的时间都相等,发送机每一个基本的时间单位发送一位,接收机与发送机的时钟必须严格同步。其格式如图。,2、异步和同步通信方式 1)异步方式:用一个起始位表示字符的开始,停止位表示字符的结束。数据位则在起始位之后,停止位之前,这样构成一帧,其格式如图。,3特殊功能寄存器PCON 其字节地址为87H,没有位寻址功

2、能,其中与串行接口有关的只有D7位。 SMOD (PCON.7) :波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。,3、串行口的工作方式,(1) 方式0:同步移位寄存器方式。用于扩展并行I/O接口。 1.一帧8位,无起始位和停止位。 2.RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3.波特率B = fosc/12 如: fosc=12MHz,B=1MHz,每位数据占1s。 4.发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。,(2) 方式1:8位数据异步

3、通讯方式。,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,继续接收其余位;否则,停止接收,重新采样负跳变。 数据

4、采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。,方式1串行发送接收时序图,(3) 方式2和方式3 9位数据异步通讯方式。,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 (或S

5、M2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。,(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)/(1232BR) T1选方式1用于低波特率,需考虑T1重装时间常数时间。,.3 串行口的控制,7-3-1 主从机间的通信 1 双机串行异步通信 (1)单片机与单片机间

6、的串行异步通信接口设计 两台8031直接通信如图:,两台8031采用RS232C总线通信如图:,例 如图8751-1的工作是检查接在P1口上的 SW开关,当检测到开关的状态有变化时,就将变化后的状态读入,通过串行口将这个开关状态传送给8751-2。当8751-2接收到这个字节后就将它输出到P1口上显示,并且也将它接收到的数据回传给8751-1以通知8751-1已经接收到数据。当8751-1接收到这个响应数据后与刚才传出去的数据比较,若不相同再发送一次,以确保将正确的数据传递给8751-2。,通信约定:双方都采用串行通信方式,波特率为9600(晶振为11.059M),采用中断方式进行发送和接收数

7、据。 8751-1程序: BUFFEREQU30H;发送数据缓冲区 ECHOFLAGBIT00H;当发送与接收到的数据相同时此标志置1 ERRFLAGBIT01H;当发送与接收到的数据不同时此标志置1 ORG0000H SJMPSTART ORG0023H;串行口中断输入口 SJMPUART1 ORG0030H START:MOV TMOD,#20H;定时器1设置为方式2,作波特率发生器 ANL PCON,#7FH MOV TH1, #0FDH;波特率为9600 MOV TL1,#0FDH SETB TR1 MOV SCON,#50H;设置为串行方式1允许接收 MOV IE,#90H;允许串行

8、口中断 MOV BUFFER,#00H;缓冲区清零 WAIT: MOVA,P1 CJNEA,BUFFER,SWCH,SJMPWAIT SWCH:MOVBUFER,A TRAGIN:MOVSBUF,A;发送数据 CLRECHOFLAG CLRERRFLAG WAITEO:JBERRFLAG,TRAGIN JNBECHOFLAG,WAITEO SJMPWAIT UART1:PUSHPSW PUSHACC SETBRS0 CLRRS1 JBCRI,RCV1;判断是否为接收中断 CLRTI SJMPRETURN RCV1:MOVA,SBUF CJNEA,BUFFER,DATAER SETBECHOFL

9、AG SJMPRETURN DATAER:SETBERRFLAG RETURN:POPACC POPPSW RETI END,()单片机与PC系列微机间的异步串行通信接口设计,8031单片机与PC系列微机是两种不同类型的机种,它们的硬件结构不同,具有的电气特性也不一样,因此它们之间不能用导线直接连接,而要通过电平转换电路。 8031单片机和PC机通过RS232C总线通信接口图如下:,7-3-2 多机通信接口,1多机通信原理 串行口控制寄存器SCON中的SM2为多机通信接口控制位。串行口以方式2或3接收时,若SM2为1,则仅当接收到的第9位数据RB8为1时,数据才装入SBUF,置位RI,请求CP

10、U对数据进行处理;如果接收到的第9位数据RB8为0,则不产生中断标志RI,信息丢失,CPU不做任何处理。当SM2为0时,则接收到一个数据后,不管第9位数据RB8是0还是1,都将数据装入接收缓冲器SBUF并置位中断标志RI,请求CPU处理。MCS-51的主从多机通信正是利用了这个特性。,2多机通信程序设计,MCS-51多机通信程序设计 以典型的PC机和MCS-51构成的主从式多机系统(PC机为主机MCS-51单片机为从机或前沿机)为例,如图:,设MCS-51晶振为6MHz设置波特率为2400,以方式3进行多机串行通信为例,编程方法如下:,MOV TMOD,#20H MOV TH1, #0F9H;

11、设置波特率为2400 MOV TL1, #0F9H MOV SCON,#0F0H;设置串行口为方式3, ; SM2=1,允许接收 ANLPCON,#7FH SETBTR1 SETBES;允许串行口中断 SETBEA WAIT:SJMPWAIT;听号,当接收到地址帧“呼号”且地址帧与本机地址相符时,要置SM2为0以便准备接收数据帧,同时需要将本机地址发回作为应答,建立与主机的联络。编程如下: SIO:CLRRI PUSH PSW PUSH ACC MOV A,SBUF;接收串行数据 XRLA,#ADDR;判断是否与本机地址 相符 JNZBACK;不相符则返回 CLRSM2;相符则SM2为0且发回本机地址 MOVSBUF,A WAIT:JNBTI,WAIT CLRTI BACK:POP ACC POP PSW RETI,

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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