MCS内部标准功能单元MCS的串行接口.pptVIP

  • 2
  • 0
  • 约8.98千字
  • 约 57页
  • 2018-03-27 发布于江苏
  • 举报
MCS内部标准功能单元MCS的串行接口

第4章 MCS - 51单片机 内部标准功能单元 4.3 MCS-51的串行接口 2. 同步与异步的数据格式 同步通信数据格式 异步通信数据帧格式 4. 波特率 波特率表示数据的传输速率 波特率是每秒钟传输二进制代码的位数 单位是: 位/秒(bps或Kbps),波特 或 bit/s 在异步串行通信中,接收方和发送方应使用相同的波特率,才能成功传送数据。 [例] 如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位) 波特率=_________________________________ 5. 串并转换和串行接口 CPU 并行的输入/输出数据 和某些外部设备或其它计算机交换信息时:串行 CPU → I/O设备:并行 → 串行 CPU ← I/O设备:并行 ← 串行 转换完成:串行接口电路 + 适当的软件 串行接口芯片 通用异步接收/发送器:UART 通用同步接收/发送器:USART UART 组成 接收器、发送器和控制器 主要功能 (1)发送器 或 接收器 串并或并串转换 (2)控制器 格式信息的插入和滤除及错误校验。 格式信息:异步通信中的起始位、奇偶位和停止位等 4.3.2 串行通信接口的基本结构 1个全双工的串口 RXD、TXD与外设进行异步通信 4种基本工作方式(SCON寄存器的SM0SM1位来决定) 方式0:移位寄存器输入/输出方式(同步时钟Fosc/12) 方式1:8位异步方式(波特率B可编程) 方式2:9位异步方式(波特率B基本固定) 方式3:9位异步方式(B可编程) 2个专用寄存器:SCON、PCON SBUF(99H)为发送和接收共同拥有(双缓冲) 写时,启动发送;读时,读出接收的数据 波特率根据工作方式而定,一般可通过程序控制 串口基本结构 接收/发送 缓冲寄存器 SBUF 地址:共用;物理:独立;冲突:不发生。 对 SBUF 的操作 MOV SBUF,A 启动一次数据发送 MOV A,SBUF 完成一次数据接收 SBUF可再接收下一个数据 RI / TI 4.3.3 与串行接口有关的特殊功能寄存器 1. 控制寄存器 SCON 2. 电源控制寄存器 PCON 1. 控制寄存器 SCON 电源控制寄存器 PCON 4.3.4 串行接口的波特率计算 方式0:fosc/12 方式2:2SMOD×fOSC/64 方式1、3: 波特率 B=2SMOD×T1的溢出率/32 T1的溢出率= fosc/12/(256-X) 每秒钟溢出的次数 X:T1的初值 代入后 常用波特率和定时器T1的初值关系表 4.3.5 串行接口的工作方式 1. 方式0 —— 输出 启动发送: MOV SBUF, A 移位脉冲输出端: TXD 数据发送端: RXD 数据发送顺序: 低到高 波特率: fosc/12 一帧数据发送后: TI=1(硬件自动) 再次发送前,必须: TI=0(指令) 方式0 —— 输入 启动接收: RI=0 且 REN=1 移位脉冲端: TXD 接收端: RXD 数据接收次序: 低到高 波特率: fosc/12 一帧数据接收后: RI=1(硬件自动) 再次接收前,必须: MOV A,SBUF(取走上一帧数据) RI=0(指令) 多用查询方式编程        2. 方式1 —— 输出 启动发送: MOV SBUF,A 数据发送端: TXD 波特率: 2SMOD×T1的溢出率/32 一帧数据发送完后: TI=1(硬件自动) 再次发送前,必须: TI=0(指令) 方式1 —— 输入 启动接收: RI=0 且 REN=1 接收端: RXD 接收条件: RI=0 且 SM2=0(或 接收的停止位=1) 数据: 8位数据位 → SBUF 停止位 → RB8 波特率: 2SMOD×T1的溢出率/32 一帧数据接收后: RI=1(硬件自动) 再次接收前,必须: MOV A,SBUF RI=0(指令) 方式2、3 —— 输出 波特率 方式2: 2SMOD×fOSC/64 方式3: 2SMOD×T1的溢出率/32 启动发送: MOV SBUF,A 数据发送端: TXD 一帧数据发送完后: TI=1(硬件自动) 再次发送前,必须: TI=0(指令) 方式2、3 —— 输入 启动接收:RI=0 且 REN=1 接收端: RXD 接收条件:RI=0 且 SM2=0(或 接收到的第9位数据位为1) 数据: 8位数据位 → SBUF 第9位数据位 → RB8 一帧数据接收后: RI=1(硬件自动) 再次接收前,必须

文档评论(0)

1亿VIP精品文档

相关文档