第6章-MCS-51异步串行接口精品.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 MCS-51异步串行接口 本章内容 6.1 串行通信基础知识 6.2 串行通信接口的基本结构 6.3 与串行接口有关的特殊功能寄存器 6.4 串行接口的波特率计算 6.5 串行接口的工作方式 6.6 串行接口扩展并行I/O接口 6.7 串行接口通信技术实例 6.8 串行接口通信接口标准 6.1 串行通信基础知识 通信: 计算机与外部设备或计算机与计算机之间的数据交换 串行通信 同步通信、异步通信 并行通信 通信最重要的指标 波特率、距离、抗干扰能力 1. 并行与串行 2. 同步与异步的数据格式 同步通信数据格式 异步通信数据帧格式 3. 数据传输方向 4. 波特率 波特率表示数据的传输速率 波特率是每秒钟传输二进制代码的位数 单位是: 位/秒(bps或Kbps),波特 或 bit/s 在异步串行通信中,接收方和发送方应使用相同的波特率,才能成功传送数据。 [例] 如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位) 波特率=_________________________________ 5. 串并转换和串行接口 CPU 并行的输入/输出数据 和某些外部设备或其它计算机交换信息时:串行 CPU → I/O设备:并行 → 串行 CPU ← I/O设备:并行 ← 串行 转换完成:串行接口电路 + 适当的软件 串行接口芯片 通用异步接收/发送器:UART 通用同步接收/发送器:USART UART 组成 接收器、发送器和控制器 主要功能 (1)发送器 或 接收器 串并或并串转换 (2)控制器 格式信息的插入和滤除及错误校验。 格式信息:异步通信中的起始位、奇偶位和停止位等 6.2 串行通信接口的基本结构 1个全双工的串口 RXD、TXD与外设进行异步通信 4种基本工作方式(SCON寄存器的SM0SM1位来决定) 方式0:移位寄存器输入/输出方式(同步时钟Fosc/12) 方式1:8位异步方式(波特率B可编程) 方式2:9位异步方式(波特率B基本固定) 方式3:9位异步方式(B可编程) 2个专用寄存器:SCON、PCON SBUF(99H)为发送和接收共同拥有(双缓冲) 写时,启动发送;读时,读出接收的数据 波特率根据工作方式而定,一般可通过程序控制 串口基本结构 接收/发送 缓冲寄存器 SBUF 地址:共用;物理:独立;冲突:不发生。 对 SBUF 的操作 MOV SBUF,A 启动一次数据发送 MOV A,SBUF 完成一次数据接收 SBUF可再接收下一个数据 RI / TI 6.3 与串行接口有关的特殊功能寄存器 1. 控制寄存器 SCON 2. 电源控制寄存器 PCON 1. 控制寄存器 SCON 电源控制寄存器 PCON 6.4 串行接口的波特率计算 方式0:fosc/12 方式2:2SMOD×fOSC/64 方式1、3: 波特率 B=2SMOD×T1的溢出率/32 T1的溢出率= fosc/12/(256-X) 每秒钟溢出的次数 X:T1的初值 代入后 常用波特率和定时器T1的初值关系表 6.5 串行接口的工作方式 1. 方式0 —— 输出 启动发送: MOV SBUF, A 移位脉冲输出端: TXD 数据发送端: RXD 数据发送顺序: 低到高 波特率: fosc/12 一帧数据发送后: TI=1(硬件自动) 再次发送前,必须: TI=0(指令) 方式0 —— 输入 启动接收: RI=0 且 REN=1 移位脉冲端: TXD 接收端: RXD 数据接收次序: 低到高 波特率: fosc/12 一帧数据接收后: RI=1(硬件自动) 再次接收前,必须: MOV A,SBUF(取走上一帧数据) RI=0(指令) 多用查询方式编程        2. 方式1 —— 输出 启动发送: MOV SBUF,A 数据发送端: TXD 波特率: 2SMOD×T1的溢出率/32 一帧数据发送完后: TI=1(硬件自动) 再次发送前,必须: TI=0(指令) 方式1 —— 输入 启动接收: RI=0 且 REN=1 接收端: RXD 接收条件: RI=0 且 SM2=0(或 接收的停止位=1) 数据: 8位数据位 → SBUF 停止位 → RB8 波特率: 2SMOD×T1的溢出率/32 一帧数据接收后: RI=1(硬件自动) 再次接收前,必须: MOV A,SBUF RI=0(指令) 方式2、3 —— 输出 波特率 方式2: 2SMOD×fOSC/64 方式3: 2SMOD×T1的溢出率/32 启动发送:

文档评论(0)

***** + 关注
实名认证
文档贡献者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档