收藏 分享(赏)

MCS51第十章串行接口.ppt

上传人:hwpkd79526 文档编号:8315756 上传时间:2019-06-20 格式:PPT 页数:38 大小:267KB
下载 相关 举报
MCS51第十章串行接口.ppt_第1页
第1页 / 共38页
MCS51第十章串行接口.ppt_第2页
第2页 / 共38页
MCS51第十章串行接口.ppt_第3页
第3页 / 共38页
MCS51第十章串行接口.ppt_第4页
第4页 / 共38页
MCS51第十章串行接口.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、第十章:MCS-51 系统的串行接口,10.1: 串行通信的基本知识 10.2: MCS-51单片机的串行接口 10.3: MCS-51单片机串行接口的应用 10.4: MCS-51单片机 RS-232 串行接口,10.1: 串行通信的基本知识,串行通信的基本通信方式 串行通信中的数据传送方式并行/串行变换及串行接口,串行通信的基本通信方式,串行通信协议,异步协议,同步协议,数据可顺次地出现在数据流中,数据 间的相对延迟没有专门的时钟来控制。,数据流中顺次出现的数据由一个主数 据时钟来管理,以一定的时间间隔出现。,串行通信的基本通信方式,异步串行通信协议中的位定义,同步串行通信协议中的字节定义

2、,0,1,0/1,起始位,停止位,数据位,(位同步),0/1,0/1,同步字节,数据字节,(字节同步),串行通信的基本通信方式,异步传送方式,异步传送的特点,异步传送的格式,数据在线路上的传送不是连续的收发双方各用自已的时钟源控制接收和发送,起始位 1 bit,0 电平数据位 N bit,有效电平校验位 1 bit,与数据位中的值有关,可不用停止位 1 2bit,1 电平,注:传送字符由 4 部分组成,串行通信的基本通信方式,异步传送方式(续),异步传送中的数据间同步位 起始位,异步传送中数据间的延时控制 停止位,发端按传送格式发数据流收端若收到 0 电平(1bit), 则认为后面将固定收 N

3、 bit 数据位和 1 bit 校验位,固定收 N bit 数据位和 1 bit 校验位后固定收异步传送格式定义的停止位(固定延迟)若无新的起始位(0 电平),则收 M bit 个 1 电平(可变延迟),串行通信的基本通信方式,异步传送方式(续),异步传送中的数据位,收发端必顺采用相同的异步传送格式收发端必顺采用相近的速率(波特率),收发端的一致性特点,7 bit 数据位格式8 bit 数据位格式,注: 波特率的概念看 268 页的说明,注: 数据位格式由工作方式确定,串行通信的基本通信方式,同步传送方式,同步传送的特点,同步传送的格式,数据在线路上的传送是连续的,同步字符块 由 N 字节数据

4、组成数据块 由 M 长度的字节数据组成,注:同步字符和数据块由协议确定,串行通信的基本通信方式,异步、同步传送比较,异步,同步,用位作为收发字符的同步信号 相对效率低,用字节作为收发数据块的同步信号,相对效率高,注:传送数据量少时用串行异步方式传送数据量多时用串行同步方式,并行/串行变换及串行接口,数据传送方式,计算机内部的数据传送均采用并行传送方式 计算机间的数据传送应采用串行传送方式,数据变换方式,计算机向外发送数据需完成数据的并行/串行变换 计算机由外接收数据需完成数据的串行/并行变换,数据变换方法,用软件实现数据的并行/串行变换 用硬件实现数据的并行/串行变换,10.2: MCS-51

5、单片机的串行接口,MCS-51 单片机串行接口的硬件,MCS-51 单片机串行接口的控制,MCS-51 单片机串行接口工作方式,P3.0 位的第二功能 收端 RXDP3.1 位的第二功能 发端 TXD,寄存器 SCON、PCON、SBUF寄存器 IE、IP,方式 0 方式 2,方式 1 方式 3,MCS-51 单片机串行接口的控制,8 位数据缓冲器 SBUF,全双工串行接口寄存器,SBUF 为特殊功能寄存器,地址为 99H,串行输出时为发送数据缓冲器MOV SBUF,A,串行输入时为接收数据缓冲器MOV A,SBUF,注:数据从发送端 TXD(P3.1)开始输出,注:数据从接收端 RXD(P3

6、.0)已经输入,注:不可位寻址,MCS-51 单片机串行接口的控制,串行口控制寄存器 SCON,SM0、SM1 串行接口工作方式定义位,SM0、SM1 = 00 方式 0,同步移位寄存器SM0、SM1 = 01 方式 1,10 位异步接收发送SM0、SM1 = 10 方式 2,11 位异步接收发送SM0、SM1 = 11 方式 3,11 位异步接收发送,注: 方式 0 的特点,方式 2、方式 3 的差异,MCS-51 单片机串行接口的控制,串行口控制寄存器 SCON(续),SM2 多机通信控制位,SM2 = 0,无多机通信SM2 = 1,允许多机通信,REN 串行口接收数据控制位,REN =

7、1,允许串行口接收数据REN = 0,禁止串行口接收数据,TB8 发送串行输出数据的第 9 位,RB8 接收串行输入数据的第 9 位,注:方式 2 和方式 3 时,该位用于作校验位,MCS-51 单片机串行接口的控制,串行口控制寄存器 SCON(续),TI 串行口中发送完一组数据后的中断标志,RI 串行口中接收完一组数据后的中断标志,若串口发送完一组数据,则由硬件自动置 TI = 1 若串口还要发数据,则应手动编程使 TI = 0,若串口接收完一组数据,则由硬件自动置 RI = 1 若串口还要收数据,则应手动编程使 RI = 0,MCS-51 单片机串行接口的控制,串行数据传送速率控制寄存器

8、PCON,SMOD = 0,定义波特率不变,SMOD = 1,定义波特率加倍,注:PCON 寄存器的地址为87H,仅 b7 位有用,不可位寻址。,MCS-51单片机串行接口的工作方式,方式 0 移位寄存器输入/输出方式,非串行通信用方式,RXD、TXD 线的作用,用并入串出移位寄存器扩展并行输入口用串入并出移位寄存器扩展并行输出口,RXD 串 并、并 串 数据传送线TXD 同步时钟线,同步时钟为 fosc/12,注:为应用串行接口扩展并行接口的方式。,MCS-51单片机串行接口的工作方式,方式 1 10 位异步接收/发送(波特率可变),方式 1 的数位,1 位起始位 值 08 位数据位 为有用

9、信息(可含 1 位校验位)1 位停止位 值 1,异步传送时的速率设置,速率设置的方法 设置定时器 T1 的初值常用波特率(表 10.2,276 页),MCS-51单片机串行接口的工作方式,方式 1(续),异步发送时的工作过程,发送条件 清 SCON 中发送中断标志 TI = 0,发送指令 MOV SBUF,A,注: 需发送的 8 位字节数据送串行数据缓冲器SBUF 后将启动异步发送开始。,起始位 0、停止位 1 在执行发送指令时自动加入,发送传输线 TXD、GND,发送 10 位数据结束 发送中断标志 TI = 1,注: 若需继续发送,置TI = 0,送数据到 SBUF,MCS-51单片机串行

10、接口的工作方式,方式 1(续),异步接收时的工作过程,接收条件 清 SCON 中接收中断标志 RI = 0置 SCON 中接收控制标志 REN = 1,接收传输线 RXD、GND,接收同步位 接收传输线 RXD 有从 1 到 0 的信号,接收数据 9 位数据送数据接收器,8 位字节数据送串行数据缓冲器 SBUF 1 位停止位送入 SCON 中的 RB8 = 1,接收 10 位数据结束 接收中断标志 RI = 1,注: 若需继续接收,置RI = 0,MCS-51单片机串行接口的工作方式,方式 2 11 位异步接收/发送(波特率固定),方式 2 的数位,1 位起始位 值 08 位数据位 为 1 字

11、节有用信息 1 位校验位 对有用信息的奇偶校验1 位停止位 值 1,异步传送时的速率设置,若 PCON 中 SMOD = 0,速率 = fosc/32若 PCON 中 SMOD = 1,速率 = fosc/64,MCS-51单片机串行接口的工作方式,方式 2(续),异步发送时的工作过程,异步接收时的工作过程,基本过程同方式 11 位校验位在发送前应先置入 SCON 中的 TB8,基本过程同方式 11 位校验位(第 9 位)送 SCON 中的 RB8,注: RB8 中未存放 1 位停止位,MCS-51单片机串行接口的工作方式,方式 3 11 位异步接收/发送(波特率可变),基本定义同方式 2,速

12、率设置同方式 1,注: 方式 0 固定波特率为 fosc/12方式 2 固定波特率为 fosc/32或fosc/64上述方式与单片机主频有关方式 1 可变波特率方式 3 可变波特率上述方式与定时器 T1 的初值有关,10.3: 51单片机串行接口的应用,方式 0 用于扩展并行 I/O口,方式 1 和方式 3 仅传送数位不同,方式 2 为固定波特率,方式 1 和方式 3 均需设置可变波特率,方式 0 用于扩展并行 I/O口,串 并方式,扩展并行输出口,电路图,RXDTXD,DATACLK,功能线,RXD 接移位寄存器的数据输入端TXD 接移位寄存器的同步时钟端,8031,串入并出移位寄存器,注:

13、 注意信号方向,方式 0 用于扩展并行 I/O口,并 串方式,扩展输入口,电路图,功能线,RXDTXD,DATACLK,8031,并入串出移位寄存器,RXD 接移位寄存器的数据输出端TXD 接移位寄存器的同步时钟端,注: 注意信号方向,方式 0 用于扩展并行 I/O口,例10.1:用 8031 的串口外接 1 个串入并出移位寄存器 芯片CD4094 扩展为 8 位并行输出口,并口接 8 个 LED,并循环轮流显示。,电路图,P1.0,DATACLK,TBS,CD4094,8031,TXD,RXD,方式 0 用于扩展并行 I/O口,编程,ORG 0000HLJMP MAINORG 0023HLJ

14、MP SBR MAIN: MOV SCON,#00XXXX0XB ; 方式 0,TI = 0SETB EASETB ESMOV A,#10000000B ; 初值,左边 LED 亮CLR P1.0 ; CD4094 输出并口关闭MOV SBUF,A ; 数据传出,产生中断 LOOP: SJMP $,方式 0 用于扩展并行 I/O口,编程(续),SBR: SETB P1.0 ; CD4094 输出并口打开,LED 亮ACALL DELAYCLR TI ; 手动清中断标志RR A ; 循环位移; 80H、40H、20H、10H、08H CLR P1.0 ; CD4094 输出并口关闭MOV SBU

15、F,A ; 数据传出,产生中断RETIEND,注: 延时子程序 DELAY 未给出,方式 0 用于扩展并行 I/O口,例10.2:用 8031 的串口外接 1 个并入串出移位寄存器 芯片 CD4014 扩展为 8 位并行输入口,并口 接 8 个开关量输入,开关 K 闭合时有效。,电路图,P/S,CD4014,8031,P1.0,K,RXD,TXD,DATA,CLK,P1.1,方式 0 用于扩展并行 I/O口,编程,START: JB P1.0,START ; 若 K 未合上则循环查询SETB P1.1 ; CD4014 并行数据输入有效MOV SCON,#00X1XXX0B; 方式 0,REN

16、 = 1 允许接收,RI = 0 CLR P1.1 ; CD4014 串行数据输出有效LOOP: JNB RI,LOOP ; 若 RI = 0 数据未收完; 若 RI = 1 数据已收完CLR RI ; 手动清 RI,准备下次传送数据MOV A,SBUF,方式 1 用于串行通信,例10.3:8031串行口双工方式收发 ASCII 字符,最高1 位用来作奇偶校验位,采用奇校验方式,波特率为 1200 。,工作方式,数据区,主频选用,方式 1, 7 位 ASCII 码,1 位校验码,发送数据区首址 20H,接收数据区首址 40H,T1 设置,fosc = 6MHz,方式 2,初值为 F4H(查表

17、10.2),方式 1 用于串行通信,主程序(2 个单片机均有),ORG 0000H LJMP MAIN ORG 0023H LJMP SBR1 MOV TMOD,#20H ; 定时器 T1 设置为方式 2 MOV TL1,#0F4H MOV TH1,#0F4H ; 装定时器 T1 的初值 SETB TR1 ; 启动定时器 T1,方式 1 用于串行通信,主程序(2 个单片机均有),MOV SCON,#50H ; 串口工作方式 1,REN = 1 MOV R0,#20H ; 发数据区首址 MOV R1,#40H ; 收数据区首址 SETB ET1 ; 开 T1 中断 SETB ES ; 开串口中断

18、 SETB EA ; 开总中断 ACALL SOUT ; 调用发送子程序 SJMP $,方式 1 用于串行通信,串行口中断服务程序,SBR1: JNB RI,SENDACALL SIN ; 若 RI = 1,调用接收子程序SJMP NEXT SEND: ACALL SOUT ; 若 RI = 0,调用发送子程序 NEXT: RETI,方式 1 用于串行通信,发送子程序,SOUT: MOV A,R0MOV C,PCPL CMOV ACC.7,CINC R0MOV SBUF,ACLR,TIRET,方式 1 用于串行通信,接收子程序,SIN: MOV A,SBUFMOV C,PCPL CANL A,#7FHMOV R1,AINC R1CLR RIRET,作业10.1 10.3,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报