[信息与通信]中断介绍.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]中断介绍

典型的同步通信数据格式如下: 同步字符1 同步字符2 N个字节的连续数据 校验信息1 校验信息2 异步通信的特点是每次只传送一个字,每个字由起始位(规定为0电平)、数据位、奇偶校验位、停止位(规定为1电平)组成,典型的异步通信数据帧格式如下所示: 2. 波特率 在串行通信系统中常用波特率衡量通信的快慢,含义是每秒中传送的二进制数码的位数,单位是位/秒(b/s或Kb/s),简称“波特”。例如,两个异步串行通信设备之间每秒钟传送的信息量是240字节,如果一帧数据包含10位(1个起始位、8个数据位和1个停止位),则发送、接收波特率为: 240 b/s×10位?=?2400 b/s?=?2400波特 一般异步通信波特率为110~9600,而同步通信波特率在56 Kb以上。在选择通信波特率时,不要盲目追高,以满足数据传输要求为原则,因为波特率越高,对发送、接收时钟信号频率的一致性要求就越高。 3. 串行通信数据传输方向 图4-20 数据传输方式 (a) 单工;(b) 半双工;(c) 全双工 4. 串行通信接口种类 根据串行通讯格式及约定(如同步方式、通讯速率、数据块格式等)不同,形成了许多串行通讯接口标准,如常见UART(串行异步通讯接口)、USB(通用串行总线接口)、I2C总线、SPI总线、485总线、CAN总线接口等。下面结合增强型MCS-51介绍UART接口及使用规则。 4.4.2 增强型MCS-51串行通信口控制及初始化 图4-21 MCS-51串行口结构 1.串行口控制寄存器SCON 图4-22 SCON各位含义 表4-4 串行口工作方式 SM0 SM1 工作方式 说 明 波特率 0 0 方式0 (扩展I/O口) 移位输入/输出(用于扩展I/O引脚)方式 输入/输出移位脉冲为 0 1 方式1 (常用) 波特率可变的8位异步串行通信方式 1 0 方式2 (不常用) 波特率固定的9位异步串行通信方式 1 1 方式3 (常用) 波特率可变的9位异步串行通信方式 2. 波特率倍增选择 在MCS-51子系列中,串行口波特率与工作方式有关,对于方式0来说,串行输出/输入移位脉冲为时钟信号频率的12分频;在方式1、3中,波特率由T1溢出率和电源控制寄存器PCON的SMOD位决定;而在方式2中,波特率与时钟信号频率fOSC和电源控制寄存器PCON的SMOD位有关。即在方式1、2、3中,当SMOD位为1时,波特率是SMOD为0时的两倍(正因如此,PCON寄存器中的SMOD位被称为波特率倍增位)。 而在增强型MCS-51中,除了可以使用T1溢出率的16或32分频作为串行口发送、接收波特率外,还可以使用定时器T2溢出率的16或32分频作为串行口发送或接收波特率。 3. 波特率选择 方式1、方式3波特率与定时器T1溢出率、SMOD1位关系如下: 当把定时器T1溢出率作为波特率发生器(即16分频器)的输入信号时,为了避免重装初值造成的定时误差,定时器T1最好工作在可自动重装初值的方式2,并禁止定时器T1中断。 而T1溢出率倒数就等于定时时间t,因此定时T1重装初值C与波特率之间关系为: (T1计数器工作在12分频状态) (T1计数器工作在6分频状态) 表4-5 常用波特率、晶振频率以及定时器T1重装初值C之间关系 波特率 晶振频率(MHz) SMOD1位 定时器T1初始化参数 工作方式 (定时状态) 初值 19 200 11.0592 1 2 0 FDH 9600 11.0592 1?(波特率倍增) 2 0 FAH 0 FDH 4800 11.0592 1?(波特率倍增) 2 0 F4H 0 FAH 2400 11.0592 1?(波特率倍增) 2 0 E8H 0 F4H 1200 11.0592 1?(波特率倍增) 2 0 F4H 0 E8H 不难看出:如果选定的波特率对应的初值C不是整数,则实际波特率与标准值就存在偏差,例如当晶振频率为12 MHz,则标准波特率9600对应的初值C为252.745(SMOD1为0时的计算值),由于初值C只能取最接近计算值的整数,因此C取253(FDH)。而当C=253时,实际波特率为10417,与理论值相对误差为 , 约5.7%。 实践表明:当两个串行通信设备之间的波特率误差超过2.5%时,串行通信将无法进行,且通信速率越高,发送、接收波特率的允许误差范围就越小。因此,当单片机控制系统需要与PC机通信时,单片机控制系统的

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档