第九章 51单片机的串行接口.ppt

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

第9章 51单片机的串行接口 9.1串行通信的基本知识 9.2 MCS-5l单片机的串行口 9.3 51单片机申行口的应用 9.4 RS232和RS485接口 引言 并行通信的概念 串行通信的概念 9.1 串行通信的基本知识 一、串行通信的两种基本方式 异步通信的异步与同步 异步通信的数据格式 两个字符之间的时间间隔 波特率 2、同步通信 同步通信 二、串行通信中数据的传送方向 串行通信中数据的传送方向—举例1 串行通信中数据的传送方向—举例2 三、并/串变换和串行口 并/串变换和串行口 数据接收时的采样 串行接口 9.2 MCS-5l单片机的串行口 80C5l单片机的串口结构 9.2.1 80C51串行口的控制寄存器 SCON、 PCON 串口SCON中各位的继续解释1 串口SCON中各位的继续解释2 串口SCON中各位的继续解释3 9.2.2 串行口的工作方式 2、方式0接收(输入) 外接移位寄存器输出 外接移位寄存器输入 二、方式1 2、方式1接收 三、方式2和方式3 1、方式2和方式3发送 2、方式2和方式3接收 四、波特率的计算 波特率的计算 波特率以及各参数的关系 波特率以及各参数的关系 串行口的初始化 9.3 多机通信 2、通信协议 2、通信协议续 9.4 串行通信接口标准 2、功能特性 3、通信连接--近程 通信连接--远程 3、采用RS-232C接口存在的问题 二、RS-422A接口 三、RS-485接口 串行通信的错误校验 传输距离与传输速率的关系 课程主要内容 计算机基础知识 单片机的结构与原理 单片机指令系统、汇编语言程序设计 计算机接口知识与单片机的内部接口资源 经典外围接口芯片 单片机的应用等 用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。 方式2或方式3时为11位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚 。 方式2和方式3时起始位1位,数据9位(含1位附加的第9位,发送时为SCON中的TB8,接收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32,方式3的波特率由定时器T1的溢出率决定。 发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。 第一次移位时,停止位“1”移入输出移位寄存器的第9位上 ,以后每次移位,左边都移入0。当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。 接收时,数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。 在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式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,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1 溢出率 = fosc /{12×[256 -(TH1)]} 在单片机的应用中,常用的晶振频率为: 6MHz、 12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表所示。 误差的问题? 串行口工作之前,应对其进行

文档评论(0)

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

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

1亿VIP精品文档

相关文档