网站大量收购独家精品文档,联系QQ:2885784924

第7章 串行数据通信.ppt

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

第8章 串行数据通信 8-1 串行通信基础知识 一、串行通信基本原理: 并行 数据传送 同步 串行 异步(用于单片机中) 三、串行接口功能: (1)发送器:并?串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。 (2)接收器:串?并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。 (3)控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。 五、异步串行通信的信号形式: 1、远距离直接传输数字信号,信号会发生畸变,因此要把数字信号转变为模拟信号再进行传送。可利用光缆、专用通信电缆或电话线。 方法:通常使用频率调制法(频带传送方式)。 2、因通信时(有干扰)信号要衰减,所以常采用RS232电平负逻辑,拉开“0”和“1”的电压档次,以免信息出错: 8-2 串行口及控制寄存器 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式:按不同方式,一帧数据位数 8/10/11 发送/接收时,数据皆低位在前。 一、串行接口控制: 1.数据缓冲器SBUF: 发送SBUF和接收SBUF共用一个地址99H。 1)发送SBUF存放待发送的8位数据,写入SBUF将同时 启动发送。发送指令: MOV SBUF,A 2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令: MOV A,SBUF 8-3 串行通信工作方式 (1)方式0:同步移位寄存器方式 用于扩展并行I/O接口。 1. 一帧8位,无起始位和停止位。 2. RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3. 波特率B=fosc/12 如:fosc=12MHz,B=1MHz,每位数据占1?s。 4. 发送过程:写入SBUF,启动发送, 一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收, 一帧接收完毕,RI=1。 时序图: (2) 方式1:8位数据异步通讯方式 1. 一帧10位:8位数据位,1个起始位(0),1个停止位(1)。 2. RXD:接收数据端。 TXD:发送数据端。 3.波特率:用T1作为波特率发生器, B=(2SMOD/32)×T1溢出率。 4.发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。 接收:REN=1,允许接收。 接收完一帧,若RI=0且停止位为1 (或SM2=0),将接 收数据装入SBUF,停止位装入RB8,并使RI=1; 否则丢弃接收数据,不置位RI。 时序图: (3) 方式2和方式3: 9位数据异步通讯方式 1.一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯 标识位。 2. RXD:接收数据端, TXD:发送数据端。 3.波特率:方式2:B=(2SMOD/64)×fosc 。 方式3:B=(2SMOD/32)×T1溢出率 。 4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。 接收:REN=1,允许接收。 接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据 装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据, 不置位RI。 时序图: (4)计算波特率: 方式0为固定波特率:B=fosc/12 方式2可选两种波特率: B=(2SMOD /64)×fosc 方式1、3为可变波特率,用T1作波特率发生器。 B=(2SMOD/32)×T1溢出率 T1为方式2的时间常数: X = 28 - t/T (请见P153) 溢出时间: t= (28 -X)T = (28 -X)×12/ fosc T1溢出率=1/t= fosc /[12×(2n -X)] ? 波特率B=(2SMOD /32)×fosc/[12×(28-X)] 串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。 T1选方式2: TH1= X = 28 - fosc/12×2SMOD/(32×B) T1选方式1用于低波特率,需考虑T1重装时间常数时间。 也可选工作方式3(请见P156)。

文档评论(0)

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

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

1亿VIP精品文档

相关文档