单片机C语言第8章.ppt

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

51单片机的串行传输 串行发送:将8位数据存入串行缓冲器(SBUF) 中,单片机自动将数据一位一位送出,发送完毕提出中断请求。 串行接收:单片机自动接收串行数据,存储于串行缓冲器中,当8位数据收集完成(串行缓冲器满),单片机提出中断请求要求将数据取走。 串行口的工作方式 方式0接收数据: 方式0发送数据: 串行口的工作方式 方式1传输数据: 方式1的数据格式: 串行口实例 MAX232 串行口实例 串行口的使用 串行口的使用步骤: 设定定时器T1工作于方式2(TMOD) 设定定时器T1的初值TH1、TL1(根据bps) 设置中断允许控制IE(中断方式) 启动定时器T1(TR1=1) 设定串行口工作方式(SCON) 设置波特率倍增位(SMOD) 写SBUF或读SBUF 检测传输是否完成(TI或RI查询或中断) 串行口实例 扩展IO口:串行口工作于方式0,作为同步移位寄存器。 数据输出:外接串入并出移位寄存器(74LS164、CD4094) 设定串行口工作于方式0(SCON=0x00;) 数据写入SBUF(SBUF=dat;) 等待数据传输完成(while(!TI);) 清发送标志位TI(TI=0;) * * 单片机C语言程序设计 串行口实例 数据输入:外接并入串出移位寄存器(74LS165、CD4014) 设定串行口工作于方式0(SCON=0x10;) 等待数据传输完成(while(!RI);) 数据从SBUF读出(dat=SBUF;) 清接收标志位RI(RI=0;) * * 单片机C语言程序设计 串行口实例 单片机串口扩展IO口: 串行口实例 UART:串行口工作于方式1,进行串行通信。 发送数据:采用查询方式 设定定时器T1工作 设定串行口工作于方式1(SCON=0x40;) 数据写入SBUF(SBUF=dat;) 等待数据传输完成(while(!TI);) 清发送标志位TI(TI=0;) 串行口实例 接收数据:采用中断方式 设定定时器T1工作 设定串行口工作于方式1(SCON=0x40;) 允许接收位开(REN=1;) 等待数据传输完成(while(!RI);)或中断 从SBUF读数据(dat=SBUF;) 允许接收位关(REN=0;) 清发送标志位RI(RI=0;) 串行口实例 单片机与单片机通信: 近程连接(直接连接) 远程连接(电平转换) 串行口实例 单片机与PC通信: 直接连接 交叉连接 单片机C语言程序设计 串行通信 Serial Communication 串行通信 * * 单片机C语言程序设计 计算机通信概述 2.1 串行通信的方式 2.2 串行通信的接口标准 2.3 51串行口的结构 2.4 51串行口的工作方式 2.5 51串行口的工作举例 2.6 通信概述 计算机与外界进行信息交换称为通信,基本通信方式有并行和串行两种。 并行通信:数据各位在多条数据线上同时传输,一次传输多位数据 传送控制简单、速度快、传输线多,距离长时成本高,主要用于短距离传输 * * 单片机C语言程序设计 并行通信与串行通信 串行通信:数据分解成一位一位的形式在一条数据线上逐位传输,一次传送一位数据 传送控制复杂、速度慢、传输线少、距离长时成本低,主要用于长距离传输 异步通信与同步通信 按数据传送方式,串行通信可分为同步通信和异步通信: 同步通信: 发送和接收设备使用同一个时钟源同步传输数据 采用数据块传输数据,效率高,对时钟要求严格 传输速度快,在1Mbps以上 常用SPI、IIC、IIS等都属于同步串口 * * 单片机C语言程序设计 异步通信与同步通信 异步通信: 发送和接收设备使用各自的时钟控制传送数据,工作非同步 异步通信用数据帧作为传输基本单位,效率低,对时钟要求不严格 传输速度低,在1Mbps以下 异步串行口最常见的是UART,以及衍生出的RS232、RS485等 * * 单片机C语言程序设计 异步串行通信的数据帧 异步串行通信中,数据以数据帧(字符帧)的方式传输,一个数据帧包括: 起始位:逻辑 “0” 数据位:低位(LSB)在前,高位(MSB)在后 校验位:设定奇偶校验等 停止位:逻辑“1” 空闲位:可根据需要设定 * * 单片机C语言程序设计 错误校验 通信过程中常需要进行数据校验,常用的校验方式有: 奇偶校验 发送时数据块尾随1位奇偶校验位(1或0) 代码和校验 发送时数据块尾随1位数据块求和(或各字节异或) 循环冗余校验 通过数学运算实现有效信息与校验位之间的循环校验 * * 单片机C语言程序设计 串行通信的制式 按串行通信数据传输方向和时间关系,串行通信分为单工、半双工和全双工三种: 单工(simplex) :任何时刻数据仅能单向传输 半双工(half duplex) :

文档评论(0)

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

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

1亿VIP精品文档

相关文档