- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 UART串行接口
第7章UART 串行接口 7.1 串行通信概述 在实际应用中,不但计算机与外部设备之间常常要进行信息交换,而且计算机之间也需要交换信息,所有这些信息的交换均称为“通信”。 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。 并行通信 并行通信:所传送数据的各位用多条数据线同时发送或接收 。 并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。 串行通信 串行通信:所传送数据的各位按顺序一位一位地发送或接收。 串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。 7.1.1 同步通信和异步通信方式 起始位:通信线上没有数据传送时,为高电平(逻辑1);当要发送数据时,首先发1个低电平信号(逻辑0),此信号称为“起始位”,表示开始传输1帧数据。 数据位:起始位之后的位即数据位。一般从最低位开始传送,最高位在最后。 奇偶校验位:通过对数据奇偶性的检查,可用于判别字符传送的正确性,有3种可能的选择,即奇、偶、无校验。通信双方须事先约定是采用奇校验还是偶校验。 停止位:表示一帧结束,用高电平(逻辑1)表示。停止位可以是1、1.5或2位。 7.1.2 串行通信的数据传送速率 传送速率是指数据传送的速度。 在串行通信中数据传送速率的单位用波特率(Baud rate)表示,其意义是每秒钟传送多少位二进制数。单位为b/s或bps 波特率与字符的传送速率(字符/秒)之间存在如下关系: 波特率=位/字符×字符/秒=位/秒 7.1.3 串行通信的方式 7.1.4 通信协议 7.2 80C51串行口简介 7.2.1 串行口结构与工作原理 主要由接收与发送缓冲寄存器SBUF、输入移位寄存器以及串行控制寄存器SCON等组成。 波特率发生器可以利用定时器T1或T2控制发送和接收的速率。 SCON用于存放串行口的控制和状态信息。 发送数据缓冲寄存器SBUF用于存放准备发送出去的数据;接收数据缓冲寄存器SBUF用于接收由外部输入到输入移位寄存器中的数据。 80C51串行口正是通过对上述专用寄存器的设置、检测与读取来管理串行通信。 7.2.2 串行口寄存器 1、串行口控制寄存器 2、数据缓冲寄存器SBUF 数据缓冲寄存器SBUF实际上是2个独立的寄存器:接收数据缓冲寄存器和发送数据缓冲寄存器,采用同一个地址代码99H,寄存器名都是SBUF。 CPU通过不同的操作指令区别这2个寄存器,CPU发出写SBUF命令时,即向发送缓冲寄存器中装载新的信息,同时启动数据串行发送,51系列单片机没有专门的启动发送状态的指令;当CPU发出读SBUF命令时,即读接收缓冲寄存器的内容。 接收寄存器是双缓冲的,以避免在接收下一帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。 3、电源控制寄存器PCON 4、中断允许控制寄存器IE IE用于控制与管理单片机的中断系统。IE的ES位用于控制串行口的中断:ES=0时,禁止串行口中断;ES=1时,允许串行口中断。 5、中断优先级寄存器IP IP用于管理单片机中各中断源中断优先级。IP的PS位用于设置串行口中断的优先级:PS=0时,串行口中断为低优先级;PS=1时,串行口中断为高优先级。 7.2.3 80C51的帧格式 7.2.4 波特率的设置 7.3 串行口通信工作方式 7.3.4 多机通信 7.4 串行口应用举例 80C51串行口通过编程可设置4种工作方式,三种帧格式。 方式0以8位数据为一帧,不设起始位和停止位,先发送或接收最低位。 方式1以10位为一帧传输,设有一个起始位“0”,8个数据位和一个停止位“1”。 方式2和3以11位为一帧传输,设有1个起始位“0”,8个数据位,1个可编程位(第九数据位)D8和1个停止位“1”。 在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。 串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。 方式0的波特率 = fosc/12 方式2的波特率 =(2SMOD/64)· fosc 方式1的波特率 =(2SMOD/32)·(T1溢出率) 方式3的波特率 =(2SMOD/32)·(T1溢出率) 当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。为了避免因溢出而产生不必
您可能关注的文档
最近下载
- 《地下工程防水技术规范》XX50108-2008正文精华版.doc VIP
- 颞下颌关节.ppt VIP
- 第12课《班级电子纪念册设计》课件共16页.pptx
- (2025秋新版)人教版三年级数学上册全册教案.doc
- IPC-6012F 2023 EN,刚性印制板性能要求Qualification and Performance Specification for Rigid Printed Boards.pdf VIP
- 部编版八年级历史上册第2课《第二次鸦片战争》测试题(含答案) .pdf
- 某企业人才盘点项目启动会.pptx VIP
- 2025届高考数学命题趋势分析与备考策略指导及新质课堂建设课件.pptx VIP
- 2024年中国企业出海洞察及全球趋势展望报告.pdf VIP
- 133附件安全生产费用使用计量支付管理细则.doc VIP
文档评论(0)