RS232串通讯相关.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RS232串通讯相关

RS232串行通信相关 异步串行通讯数据格式: 一帧异步通讯的数据格式主要包含一下几个部分: (1)起始位:起始位以一位低电平开始,表示发送端开始发送一帧数据。 (2)数据位:数据位即要传递的数据信息,一般低位在前,高位在后,数据位长度一般为5~10位,常见为8位。 (3)奇偶校验位:用于校验数据的正确性,可用奇校验,或偶校验。 (4)停止位:用于向接收端表示一帧信息已经发送完毕,长度一般为1~2位。 (5)空闲位:空闲位一般用高电平表示,用于通知接受端等待数据传输。 图一.串行通信数据格式 波特率: 在异步通信(收发设备各自使用自己的时钟)中,除了规定好数据传输格式外,还要有规定好的波特率: 1波特=1bps(位/秒) 在系统设计中,需根据通信需求选择波特率: 例,设计的数据传输率为300字节每秒,而每帧数据长度为11位,需要的波特率如下: 300帧/秒*11位/帧=3300位/秒=3300bps RS232接口设计: RS232接口定义: (1)载波检测(DCD) (2)接受数据(RXD) √ (3)发出数据(TXD) √ (4)数据终端准备好(DTR) (5)信号地线(SG) √ (6)数据准备好(DSR) (7)请求发送(RTS) (8)清除发送(CTS) (9)振铃指示(RI) RS232接口针脚: 图二. RS232接头针脚定义 51的串行口通信: 串行口控制寄存器SCON(98H): SM0,SM1:用于设置串口的工作方式,进行工作方式的选择; SM2:多机通信控制位,应用于方式2与方式3中; 在方式0中,SM2应为0; 在方式1处于接收时,若SM2=1,则只有收到有效的停止位后,RI置1; 在方式2,3处于接收方式时: SM2=0,收到RB8(0或1)既可使收到的数据进入SBUF,也可以激活RI。 SM2=1,收到的RB8=0时,收到的信息丢弃,不激活RI ;若收到的RB8=1时,收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走。 REN:允许串行接收位; REN=0,禁止串行接收; REN=1,允许串行接收。 TB8:在方式2,3中,是发送机要发送的第九位数据; 可做奇偶校验位,由软件置位或复位。 在多机通信中,可作为区别地址帧或数据帧的标识位,一般约定地址帧时,TB8为1,数据帧时,TB8为0。 RB8: 在方式2,3中,接收来自发送机的第9位数据(TB8); TI:发送中断标志,发送一帧结束,TI=1,必须软件清零; RI:接收中断标志,接收一帧结束,RI=1,必须软件清零。 电源功能寄存器PCON(87H): SMOD,波特率倍增位,在方式1、2、3时,波特率与SMOD有关: SMOD=1时,波特率提高一倍; 复位时,SMOD=0。 串行口的四种工作方式: 方式0:8位同步移位寄存器(用于I/O扩展);为同步工作方式,不能用于双机通信,只能与外界的同步移位寄存器配套进行工作;如果想进行异步串行通信,只能使用方式1,2,3进行。使用方式0实现数据的移位输入输出时,实际上是把串行口变成为并行口使用。串行口作为并行输出口使用时,要有“串入并出”的移位寄存器(例如 CD4094或74LS164、74HC164等)配合。 一帧8位,无起、停位。 RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 波特率B = fosc/12,如:fosc=12MHz,B=1MHz,每位数据1微秒。 发送过程:写入SBUF(启动发送),一帧发送完,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完,RI=1。 方式0发送时序 方式0接收时序 图三 方式0串口通信电路连接 方式1: 10位数据的异步通信 一帧10位:起位+8位数据位+停位。 波特率:用T1作波特率发生器,B=(2SMOD/32)×T1溢出率。 发送:写入SBUF(启动发送),一帧发送完,TI=1。 接收:REN=1,RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。 图四 方式1传输数据帧格式 方式1 发送数据帧时序 方式1 接收数据帧时序 方式2 ,3 :11位数据的异步通讯 一帧11位:起位+9位数据位+停位。 第9位数据位在TB8/RB8中,常作校验位或多机通讯标识位 波特率: 方式2:B=(2SMOD/64)×fosc 。 方式3:B=(2SMOD/32)×T1溢出率 发送:先填写TB8,写入SBUF(启动发送),发送完TI=1。 接收:REN=1,RI=0且第9位为1 (或SM2=0),将接收数据装入SBUF,第9位装入RB8,使RI=1;否则丢弃接

文档评论(0)

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

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

1亿VIP精品文档

相关文档