单片机原理及应用2010-第8章节-串行接口与应用幻灯片

上传人:E**** 文档编号:89889668 上传时间:2019-06-03 格式:PPT 页数:49 大小:838KB
返回 下载 相关 举报
单片机原理及应用2010-第8章节-串行接口与应用幻灯片_第1页
第1页 / 共49页
单片机原理及应用2010-第8章节-串行接口与应用幻灯片_第2页
第2页 / 共49页
单片机原理及应用2010-第8章节-串行接口与应用幻灯片_第3页
第3页 / 共49页
单片机原理及应用2010-第8章节-串行接口与应用幻灯片_第4页
第4页 / 共49页
单片机原理及应用2010-第8章节-串行接口与应用幻灯片_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《单片机原理及应用2010-第8章节-串行接口与应用幻灯片》由会员分享,可在线阅读,更多相关《单片机原理及应用2010-第8章节-串行接口与应用幻灯片(49页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用,第8章 串行接口与应用 佘勇 办公:科教楼110 课件密码 : kys2006 Tel:13980905197 Email:,本节教学内容重点,内容: 串行通信的基本概念 51单片机的串行口结构与寄存器结构 4种工作方式的收发原理和波特率计算 多机通信 重点: 串行口结构 波特率计算 方式1、3的收发原理 难点: 方式1、3的收发原理与多机通信,8.1 串行通信的基本知识,通信方式 并行通信:一个信息单元的所有位被同时传送;特点:通信速度快,传输线数目多,仅适用于近距离通信 串行通信:一个信息单元的各位被逐位按顺序传送;特点:通信速度慢,传输线数目少,适用于长距离通信 串行通

2、信的传送方向 单工:仅能单向传送 半双工:分时双向传送 全双工:同时双向传送,串行通信的基本通信方式,异步通信 异步串行通信以字符作为传送的单位,字符可以随机出现在数据流中,字符与字符之间没有严格的定时要求,是异步的,但是字符内部位与位之间有严格而精准的定时,是同步的 传送速度较慢,但传输距离较长 同步通信 同步串行通信是以数据块(字符块)为传送单位的,每帧信息包含成百上千个字符,字符与字符之间是同步的,字符的位与位之间也是同步的 数据块前必须有同步字符,有时甚至要求收发双方用同一个时钟源来控制发送和接收 传送速度较异步快,但硬件复杂,传输距离较短,同步通信与异步通信的数据格式,异步通信的帧数

3、据格式,特点和格式 在异步通信中,为了使收发双方在随机传送的字符和字符间实现同步,需要在字符数据格式中设置起始位(1个0)和停止位(1个或几个1) 接收端在检测到起始位时,开始接收字符,检测到停止位时,字符结束 起止式异步通信的帧数据格式由4个部分构成:1位起始位,58位数据位(低位在前,高位在后),1位校验位(可能没有),1位或1.5位或2位停止位 停止位后,下一个字符的起始位前是空闲位(逻辑高电平),异步通信的数据帧格式示意图,8.2 MCS-51单片机的串行口的结构和工作方式,MCS-51单片机串行口 可编程、全双工 串行口核心 UART通用异步接收/发送器 MCS-51单片机可以利用串

4、行接口与其它计算机或串行外围设备进行双机或多机通信 串行口有4种工作方式,串行口结构,串行口的硬件结构(UART) 硬件组成:发送数据缓冲器、发送控制器、接收数据缓冲器、接收控制器、输入移位寄存器及附加电路等 波特率发生器:可编程设定为定时器/计数器T1或T2(计数溢出信号) 串行口的寄存器 发送/接收数据缓冲器:SBUF 串行口控制寄存器:SCON 电源控制寄存器:PCON,上页,下页,1、数据缓冲器SBUF,包括物理上独立的发送缓冲器、接收缓冲器,发送缓冲器:只能写入不能读出,接收缓冲器:只能读出不能写入,二者共用一个地址99H,2、串行口控制寄存器,字节地址为98H,可位寻址,位地址为9

5、8H9FH,SM0 SM1 SM2 REN TB8 RB8 TI RI,SCON (98H),串行口关联寄存器,SM0、SM1:串行口工作方式选择位,如下表所示,0 0 0 移位寄存器方式(用于I/O扩展),0 1 1 8位UART,波特率由定时器提供,1 0 2 9位UART,波特率为fosc/32或fosc/64,1 1 3 9位UART,波特率由定时器提供,表 串行口工作方式,REN,上页,下页,TB8:,在方式2和方式3中要发送的第9位数据,需要时由软件置位或复位,RB8:,在方式2和方式3中要接收的第9位数据,在方式1时,如SM2=0,RB8是接收到的停止位。在方式0中,不使用RB8

6、,TI:,发送中断标志。在方式0串行发送第8位结束时由硬件置“1”,或在其他方式中串行发送停止位的开始时置“1”,必须由软件清“0”,RI:,接收中断标志。在方式0串行接收第8位结束时由硬件置“1”,或在其他方式中串行接收停止位的开始时置“1”,必须由软件清“0”,上页,下页,SM2控制位的作用,方式0:必须SM2=0 方式1: 当SM2=1时,接收器必须接收到有效停止位才能置RI=1,接收数据装入SBUF;如果停止位为0,则接收数据丢失 当SM2=0时,RB8是接收到的停止位,置RI=1,接收数据装入SBUF 方式2、3: SM2为多机通信控制位 当SM2=1,接收到的数据帧第9位为=1时,

7、硬件才能置RI=1,如果为0,接收数据将丢失 当SM2=0,不论接收到的数据帧第9位为0为1, RI=1,数据被正常接收,多机通信,方式2、3可以用于双机通信和多机通信 双机通信:置SM2=0,保证可靠接收 多机通信:1.主机发送的地址帧第9位为1,数据第9位为0 2.从机接收地址帧时,SM2=1;接收数据帧时,SM2=0 多机通信实例(工作流程见下页图):,SM2=0,SM2在不同工作方式中的作用,3、特殊功能寄存器PCON,其字节地址87H,没有位寻址功能。,PCON(87H),SMOD:波特率选择位。SMOD=1时,波特率加倍,上页,下页,波特率的计算,方式0的波特率计算: BPSfOS

8、C12 方式2的波特率计算: BPS2SMODfOSC64 方式1、3的波特率计算(波特率时钟由T1提供): BPS(2SMOD/32)(fOSC(12(256TH1),定时器T1的溢出率,串行口的波特率产生器,波特率计算实例,现要求串行口工作于方式3,由定时器T1提供波特率时钟,波特率为1200bps(bit per second),设fOSC=11.059MHz,SMOD位为0,定时器T1工作于方式2,请计算计数器初值 BPS(2SMOD/32)(fOSC(12(256TH1) 即:1200=(20/32)(fOSC/(12(256-TH1) 1200=11.059106/(3212(25

9、6-TH1) 256-TH1=110590/(321212) 256-TH124 TH1=256-24=232=0E8H,常见波特率,工作方式0 同步移位寄存器方式,SM0=0,SM1=0 数据从RXD引脚上发送或接收,每帧数据8位,低位在前,高位在后,TXD引脚给出移位同步脉冲 波特率固定:fOSC/12 SM2必须为0 启动条件 发送:TI=0时,指令“MOV SBUF,A”的执行引起的“写入SBUF”信号 接收:RI=0时,REN=1,74LS164,数据输出,移位脉冲,一个数据写入SBUF,串口将数据从RXD输出(波特率fosc/12),TXD输出同步移位信号,发送完TI置1,D7 D

10、0,上页,下页,方式0扩展I/O口硬件逻辑图,方式0 发送,REN置1,串口将数据从RXD输入(波特率fosc/12),TXD输出同步移位信号,发送完RI置1,上页,下页,方式0扩展I/O口硬件逻辑图,方式0 接收,串行口方式0发送接收时序图,发送,接收,串行口方式0发送接收过程,发送: 1、执行“MOV SBUF,A”开始发送 2、检测等待TI=1,等待发送完成 3、软件清除TI ,转向1步 接收: 1、软件置REN=1,RI清0 2、等待RI=1 3、当RI=1时,执行“MOV A,SBUF”读入数据 4、软件清除RI,转向2步,UART方式0扩展的LED显示系统,例8-3程序: ORG

11、0000H MOV R7,#8 MOV SCON,#00H DISP1:MOV A,R7 MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI DJNZ R7,DISP1 SJMP $,工作方式1 10位异步方式,SM0=0,SM1=1(8位UART方式) 数据帧10位(1起始位+8数据位+1停止位) RXD为接收端,TXD为发送端 波特率可变:由定时器T1或T2的溢出速率和SMOD位决定 如果SM2=1,则必须接收到有效停止位,否则,数据将丢失 启动条件 发送:TI=0时,指令“MOV SBUF,A”的执行引起的“写入SBUF”信号 接

12、收:RI=0时,REN=1,串行口方式1发送接收时序图,发送,接收,SM2对方式1接收的影响,在方式1接收时,当8位数据和停止位全部移入后 如果RI=0,SM2=0,8位数据装入SBUF,停止位装入RB8 如果RI=0,SM2=1,如果停止位=1,8位数据装入SBUF,停止位装入RB8 如果RI=0,SM2=1,如果停止位=0,数据丢失 如果RI=1,则不论何种情况,数据都丢失,串行口方式1发送接收过程,发送: 1、执行“MOV SBUF,A”开始发送 2、检测等待TI=1,等待发送完成 3、软件清除TI ,转向1步 接收: 1、软件置REN=1,RI清0,如果要求停止位可靠接收,SM2=1,

13、否则,SM2=0 2、等待RI=1 3、当RI=1时,执行“MOV A,SBUF”读入数据 4、软件清除RI,转向2步,例8-7 甲机中断方式,ORG 0000H JMP MAIN ORG 0023H JMP TRAN MAIN:MOV SCON,#01100000B ORL PCON,#80H MOV TMOD,#20H MOV TH1,#-26 SETB TR1 MOV R2,#12 MOV DPTR,#2000H SETB ES SETB EA,SETB TI JMP $ TRAN:CLR TI MOVX A,DPTR MOV SBUF,A INC DPTR DJNZ R2,EXT CL

14、R EA EXT: RETI END,例8-7 乙机中断方式,ORG 0000H JMP MAIN ORG 0023H JMP RECV MAIN:MOV SCON,#01101000B ORL PCON,#80H MOV TMOD,#20H MOV TH1,#-26 SETB TR1 MOV R2,#12 MOV R0,#40H SETB ES SETB EA,JMP $ RECV:CLR RI MOV A,SBUF MOVX R0,A INC R0 DJNZ R2,EXT CLR EA EXT: RETI END,工作方式2、3 11位异步方式,方式2(SM0=1,SM1=0),方式3 (

15、SM0=1,SM1=1), (9位UART方式) 数据帧11位(1起始位+9数据位+1停止位) RXD为接收端,TXD为发送端 方式2波特率固定: fOSC/32(SMOD=1)或fOSC/64(SMOD=0) 方式3波特率可变,由定时器T1或T2的溢出速率和SMOD位决定 如果SM2=1,则接收到的第9位数据必须为1,数据才能正常接收,否则,数据将丢失,串行口方式2、3发送接收时序图,发送,接收,串行口方式2、3发送接收过程,发送: 1、置位TB8为待发送第9位数据位 2、执行“MOV SBUF,A”开始发送 3、检测等待TI=1 4、软件清除TI ,转向1步 接收: 1、软件置REN=1,

16、RI清0,如果要求接收地址帧,SM2=1,如果要求接收数据帧,SM2=0 2、等待RI=1(在SM2=1时,收到的第9位必须为1) 3、当RI=1时,执行“MOV A,SBUF”读入数据 4、软件清除RI,转向2步,多机通信,方式2、3可以用于双机通信和多机通信 双机通信:置SM2=0,保证可靠接收 多机通信:1.主机发送的地址帧第9位为1,数据第9位为0 2.从机接收地址帧时,SM2=1;接收数据帧时,SM2=0 多机通信实例(工作流程见下页图):,SM2=0,多机通信工作流程,置TB8=1,装载 从机地址进A,发送,软件清TI=0,TI=1?,置TB8=0,装载 待传数据进A,发送,软件清TI=0,TI=1?,各从机置REN=1,RI=0, SM2=1准备接收从机地址,RI=1?,软件清RI=0,执行 “MOV A,SBU

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

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

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