中断及串行口.ppt

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

串行口 一、串行通信的基本概念 通信:CPU与外界的信息交换。 通信的基本方式:串行通信和并行通信 并行通信:数据的各位同时传送. 特点:传送速度快,但若距离远,位数又多时,会导致通信线路复杂且成本高,不适宜远距离传送. 串行通信:数据一位接一位的顺序传送. 特点:通信线路简单,只要一根传输线就可实现通信,成本低,特别适用于远距离通信,传输速度慢. 串行通信与并行通信 串行通信 串行通信分为异步传送和同步传送. 1、异步传送:数据在线路上的传送不连续.传送时,数据以一个字符为单位进行传送.在异步传送时,对字符必须规定一定的格式,以利于接收方判别何时有字符送来及何时是一个新的字符的开始。 一个字符又称为一帧信息.一帧信息由起始位,数据位,奇偶校验位和停止位4个部分组成. 起始位为低电平(0),占一位. 起始位后面为5~8个信息位,数据发送时总是低位在前,高位在后。 数据位后的1位为奇偶校验位(选配). 最后是停止位,它用高电平(信号1)来表示一帧信息的结束,可以是1位, 1.5位, 2位. 异步传送中,字符间隔不固定,在停止位后可以加空闲位,空闲位用高电平表示,用于等待传送. 波特率:数据的传送速率,即每秒传送的二进制数的位数.其单位为bps(bits per second)。它是衡量串行数据速度快慢的重要指标 。 波特率=一个字符的二进制编码位数 × 字符/秒 例:在异步串行通信中,传送一个字符包括12位(一个起始位,8个数据位,2个停止位,一个校验位),其传输速率是1200b/s,每秒钟所能传送的字符数是:1200/(1+8+2+1)=100个,即字符速率是100字符/秒. 标准波特率: 110、300、600、1200、1800、2400、4800、9600、14.4Kbps、19.2Kbps、28.8Kbps、33.6Kbps、56Kbps 异步串行通信注意事项 1、字符格式:通信双方要事先约定字符的编码格式,奇偶校验格式及起始位和停止位的规定. 2、波特率:接收方和发送方的波特率保持一致. 同步传送 同步传送时是按数据块传送的,把传送的字符顺序地连接起来,组成数据块。在数据块前面加上特殊的同步字符,作为数据块的起始符号,在数据块的后面加上校验字符用于校验通信中的错误。在同步通信中字符之间没有空闲位,通信效率比较高。 若数据块之间有时间间隔,则发送同步字符填充. 串行通信的数据传送方向 1、单工方式 2、半双工方式:采用一条数据线。 3、全双工方式:采用两条数据线。 MCS-51单片机串行口 51单片机内部有一个功能很强的全双工串行口,可同时接受和发送数据,接收和发送数据均可工作在查询方式或中断方式. 8051串行口的内部有数据接收缓冲器和数据发送缓冲器。数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出,这两个数据缓冲器都用符号SBUF来表示,地址都是99H。 MCS-51串行口结构 一、串行口控制寄存器SCON 特殊功能寄存器SCON存放串行口的控制和状态信息,地址为98H,具有位寻址功能。串行口用定时器作为波特率发生器。 D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 特殊功能寄存器SCON SM0 SM1 SM0 ,SM1为串行口工作方式选择位。 SM0 SM1 方式 功能 0 0 0 移位寄存器输入/输出方式(波特率为fosc/12 ) 0 1 1 8位UART方式,波特率可变(T1溢出率/n) 1 0 2 9位UART方式,波特率fosc/64或fosc/32 1 1 3 9位UART方式,波特率可变(T1溢出率/n) 注:UART为通用的异步接收/发送器 特殊功能寄存器PCON PCON主要是为CHMOS型单片机的电源控制设置的专用寄存器,单元地址为87H,不能位寻址。 SMOD:波特率选择位。在方式1、方式2和方式3时,串行通信的波特率和SMOD有关。当SMOD=1时,通信波特率乘以2;否则波特率不变。 波特率计算 串行通信波特率的计算: 方式 0:移位寄存器方式。 波特率= fosc/12 方式 2:9位UART。 波特率= 2SMOD × fosc/64 方式 1、3:8、9位UART。 都是由定时器1作为串行口波特率发生器,由其溢出率决定。 波特率=( 2SMOD /32)×(定时器1溢出率) 当定时器1工作于方式2时: 波特率= ( 2SMOD /32)× (fosc/12)/(256?TH1) 串行口工作方式 一、方式0   方式0为同步移位寄存器方式,其波特率固定,为fosc/12,数据由RXD(P3.0脚)端出入,同步移位脉冲由TXD(

文档评论(0)

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

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

1亿VIP精品文档

相关文档