第12章STC12C5A60S2的串行口及SPI接口

上传人:资****亨 文档编号:133876718 上传时间:2020-05-31 格式:PPT 页数:95 大小:465.50KB
返回 下载 相关 举报
第12章STC12C5A60S2的串行口及SPI接口_第1页
第1页 / 共95页
第12章STC12C5A60S2的串行口及SPI接口_第2页
第2页 / 共95页
第12章STC12C5A60S2的串行口及SPI接口_第3页
第3页 / 共95页
第12章STC12C5A60S2的串行口及SPI接口_第4页
第4页 / 共95页
第12章STC12C5A60S2的串行口及SPI接口_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《第12章STC12C5A60S2的串行口及SPI接口》由会员分享,可在线阅读,更多相关《第12章STC12C5A60S2的串行口及SPI接口(95页珍藏版)》请在金锄头文库上搜索。

1、 第8章串行通信 8 1通信的有关概念 8 2STC12C5A60S2单片机的串行接口 8 3STC12C5A60S2单片机的SPI接口 8 1通信的有关概念 实际应用中 计算机的CPU与外部设备之间常常要进行信息的交换 计算机之间也需要交换信息 所有这些信息的交换均称为 通信 并行通信与串行通信 通信的基本方式可分为并行通信和串行通信两种 并行通信 是指数据的各位同时进行传送的方式 其特点是传输速度快 但当距离较远 位数又多时导致了通信线路复杂且成本高 串行通信 是指数据一位一位的顺序传送的通信方式 其特点是通信线路简单 只要一对传输线就可以实现通信 从而大大的降低了成本 特别适用于远距离通

2、信 但传送速度慢 1 按照串行数据的同步方式分类 按照串行数据的同步方式 串行通信本身又分为异步传送和同步传送两种基本方式 1 异步传送在异步传送中 每一个字符要用起始位和停止位作为字符开始和结束的标志 它是以字符为单位一个个的发送和接收的 异步传送时 每个字符的组成格式如下 首先是一个起始位表示字符的开始 后面紧跟着的是字符的数据字 数据字可以是5 6 7或8位数据 在数据字中可根据需要加入奇偶校验位 最后是停止位 其长度可以是一位 一位半或两位 所以 串行传送的数据字节加上成帧信号起始位和停止位就形成一个字符串行传送的帧 起始位用逻辑 0 低电平表示 停止位用逻辑 1 高电平表示 图 a

3、所示为数据字为7位的ASCII码 第8位是奇偶校验位 加上起始位 停止位 一个字符由10位组成 这样形成帧信号后 字符便可以一个接一个的传送了 在异步传送中 字符间隔不固定 在停止位后可以加空闲位 空闲位用高电平表示 用于等待发送 这样 接收和发送可以随时的或间断的进行 而不受时间的限制 图 b 为有空闲位的情况 8 1 1串行通信的分类 2 同步传送所谓同步传送就是去掉异步传送时每个字符的起始位和停止位的成帧标志信号 仅在数据块开始处用同步字符来指示 如下图所示 同步传送的有效数据位传送速率高于异步传送 可达50千波特 其缺点是硬件设备较为复杂 因为它要求要有时钟来实现发送端和接收端之间的严

4、格同步 而且对时钟脉冲信号的相位一致性还要求非常严格 为此通常还要采用 锁相器 等措施来保证 在异步数据传送中 CPU与外设之间事先必须约好两项事宜 第一 字符格式 双方要约好字符的编码形式 奇偶校验形式 以及起始位和停止位的规定 第二 波特率 Baudrate 波特率是衡量数据传送速率的指标 它要求发送站和接收站都要以相同的数据传送速率工作 2 按照数据的传送方向分类1 点对点传输一般情况下 串行数据传送是在两个通信端之间进行的 其数据传送的方式有如图所示的几种情况 图 a 为单工通信方式 A端为发送站 B端为接收站 数据仅能从A站发至B站 图 b 为半双工通信方式 数据可以从A发送到B 也

5、可以由B发送到A 不过同一时间只能作一个方向的传送 其传送方式由收发控制开关K来控制 图 c 为全双工通信方式 每个站 A B 既可同时发送 又可同时接收 2 主从多终端通信方式A站可以向多个终端 B C D 发出信息 在A站允许的条件下 可以控制管理B C D 等站在不同的时间向A站发出信息 根据数据传送的方向又可分为多终端半双工通信和多终端全双工通信 这种多终端通信方式常用于主 从计算机系统通信中 8 1 2通用的异步接收器 发送器UART在串行传送中 数据是一位一位按顺序进行的 而计算机内部的数据是并行的 因此当计算机向外发送数据时 必须将并行的数据转换为串行的数据再行传送 反之 又必须

6、将串行数据转换为并行数据输入计算机中 上述并 串或串 并的转换既可以用通用的异步接收器 发送器实现 通用的异步接收器 发送器 简称UART UniversalAsynchronousReceiver Transmitter 是串行接口的核心部件 其结构如图所示 它既能发送 由并行 串行输出 又能接收 由串行 并行输入 对每一方来说都是一个双缓冲器结构 当UART接收数据时 串行数据先经RXD端 ReceiverData 进入移位寄存器 再经移位寄存器输出并行数据到缓冲器 最后通过数据总线送到CPU 当UART发送信息时 先由CPU经数据总线将并行数据送给缓冲器 再由并行缓冲器送给一位寄存器 最

7、后逐位由TXD TransmitterData 端输出 所有这些工作都是在时钟信号和其他控制信号作用下完成的 8 2STC12C5A60S2单片机的串行口 STC12C5A60S2单片机具有2个采用UART工作方式的全双工串行通信接口 串口1和串口2 每个串口由2个数据缓冲器 1个移位寄存器 1个串行控制寄存器和一个波特率发生器等组成 每个串口的数据缓冲器由串行接收缓冲器和发送缓冲器构成 它们在物理上是独立的 既可以接收数据也可以发送数据 还可以同时发送和接收数据 接收缓冲器只能读出 不能写入 而发送缓冲器则只能写入 不能读出 它们共用一个地址号 STC12C5A60S2的串行口既可以用于串行

8、异步通信 也可以构成同步移位寄存器 如果在串行口的输入 输出引脚上加上电平转换器 可以方便地构成标准的RS 232接口 串口1与传统8051单片机的串口完全兼容 串口2的结构 工作原理与串口1类似 8 2 1串行接口的寄存器 与串行接口1相关的寄存器有SCON PCON AUXR SBUF TMOD TL1 TH1 TCON IE IP IPH SADEN和SADDR 与串行接口2相关的寄存器有 S2CON S2BUF BRT AUXR IE2 IP2 IPH2和AUXR1 SM0 FE PCON寄存器中的SMOD0位为1时 该位用于帧错误检测 当检测到一个无效停止位时 通过UART接收器设置

9、该位 它必须由软件清零 PCON寄存器中的SMOD0为0时 该位和SM1一起指定串行通信的工作方式 1 串口1控制寄存器SCONSCON 地址为98H 复位值为00H 用于确定串行通道的操作方式和控制串行通道的某些功能 也可用于发送和接收第九个数据位 TB8 RB8 并设有接收和发送中断标志 RI及TI 位 SCON各位的意义如下 SM2 在方式2和方式3时 如SM2 1 只有在接收数据第9位为1时才能激发中断标志 RI 1 在方式1时 如SM2 1 则只有在接收到有效停止位时才能激发中断标志 RI 1 在方式0时 SM2应为0 REN 允许串行I O口接收控制位 用软件置REN 1时为允许接

10、收状态 可启动串行口的接收器RXD 开始接收数据 用软件复位 REN 0 时 为禁止接收状态 TB8 在方式2和方式3时 它是要发生的第九个数据位 按需要由软件进行置位或清零 例如可用作数据的奇偶校验位 或在多机通信中表示是地址帧 数据帧标志位 TB8 1 0 RB8 在方式2和方式3时 它是接收到的第九位数据 作为奇偶位或地址帧 数据帧标志位 在方式1时 若SM2 0 则RB8是接收到的停止位 在方式0时 不使用RB8 TI 发生中断标志位 在方式0时 当串行发送数据字第八位结束时 由内部硬件置位 TI 1 向CPU申请发生中断 CPU响应中断后 必须用软件清零 取消此中断标志 在其他方式时

11、 它在停止位开始发送时由硬件置位 同样 必须用软件使其复位 RI 接收中断标志位 在方式0时 串行接收到第八位结束时由内部硬件置位 在其他方式中 它在接收到停止位的中间时刻由硬件置位 也必须用软件来复位 当一帧数据发送完成时 发送中断标志TI被置位 接着发生串口中断 进入串口中断服务程序 但CPU事先并不能分辨是TI还是RI的中断请求 因此 必须在中断服务程序中用位测试指令加以判别 两个中断标志位TI及RI均不能自动复位 必须在中断服务程序中使用清中断标志位指令 撤销中断请求状态 否则原先的中断标志位状态又将表示有中断请求 2 串口2控制寄存器S2CON 寄存器S2CON 地址为9AH 复位值

12、为00H 用于确定串口2的操作方式和控制串口2的某些功能 也可用于发送和接收第9个数据位 S2TB8 S2RB8 并设有接收和发送中断标志 S2RI及S2TI 位 S2CON各位的意义如下 寄存器S2CON的各个位与寄存器SCON的各个位含义和功能都类似 读者可以进行对比学习 在此 不再赘述 3 掉电控制寄存器PCONPCON 地址为87H 复位值为30H 中的SMOD用于设置方式1 方式2和方式3的波特率是否加倍 各位的定义如下 其中 与串行通信相关的位是SMOD和SMOD0 SMOD 串行口波特率系数控制位 复位时 SMOD 0 1 使方式1 方式2和方式3的波特率加倍 0 各工作方式的波

13、特率不加倍 SMOD0 帧错误检测有效控制 复位时 SMOD0 0 1 SCON寄存器中的SM0 FE位用于FE 帧错误检测 功能 0 SCON寄存器中的SM0 FE位用于SM0功能 和SM1一起指定串行通信的工作方式 4 辅助寄存器AUXR辅助寄存器AUXR 地址为8EH 复位值为00H 各位的定义如下 T0 x12和T1x12用于设置定时器0和定时器1的速度 详见 第8章定时 计数器与可编程计数器阵列 一章 EXTRAM用于设置是否允许使用内部扩展的1024字节扩展RAM 1 UART M0 x6 串行口模式0的通信速度设置位 0 UART串口模式0的速度是传统12T的8051速度 12分

14、频 1 UART串口模式0的速度是传统12T的8051的6倍 2分频 2 BRTR 独立波特率发生器运行控制位 0 不允许独立波特率发生器运行 1 允许独立波特率发生器运行 3 S2SMOD UART2的波特率加倍控制位 0 UART2的波特率不加倍 1 UART2的波特率加倍 4 BRTx12 独立波特率发生器计数控制位 0 独立波特率发生器每12个时钟计数一次 1 独立波特率发生器每1个时钟计数一次 5 S1BRS 串口1波特率发生器选择位 0 选择定时器1作为串口1波特率发生器 1 选择独立波特率发生器作为串口1的波特率发生器 此时定时器1得到释放 可以作为独立定时器使用 注意 对于具有

15、串口2的STC12C5A60S2单片机 串口2只能使用独立波特率发生器作为波特率发生器 不能够选择定时器1作为波特率发生器 串口1可以选择定时器1作为波特率发生器 也可以选择独立波特率发生器作为波特率发生器 5 独立波特率发生器寄存器BRT独立波特率发生器寄存器BRT 地址为9CH 复位值为00H 用于保存重装时间常数 6 从机地址控制寄存器为了方便多机通信 STC12C5A60S2单片机设置了从机地址控制寄存器SADEN和SADDR 其中 SADEN是从机地址掩模寄存器 地址为B9H 复位值为00H SADDR是从机地址寄存器 地址为A9H 复位值为00H 7 数据缓冲器数据缓冲器用于保存要

16、发送的数据或者从串口接收到的数据 串口1的数据缓冲器是SBUF 串口2的数据缓冲器是S2BUF 对于串口1 当一个字符接收完毕 移位寄存器中的数据字节装入串行接收数据缓冲器SBUF中 其第9位则装入SCON寄存器的RB8位 如果SM2使得已接收的数据无效 则RB8位和SBUF缓冲器中的内容不变 对于串口2 当一个字符接收完毕 移位寄存器中的数据字节装入串行接收数据缓冲器S2BUF中 其第9位则装入S2CON寄存器的S2RB8位 如果S2SM2使得已接收的数据无效 则S2RB8位和S2BUF缓冲器中的内容不变 无论对于串口1还是串口2 发送缓冲器只能写入 不能读出 接收缓冲器只能读出 不能写入 因此 串口1的两个缓冲器共用一个地址号 99H 串口2的两个缓冲器共用一个地址号 9BH 4 串行收发寄存器SBUF 字节地址99H 没有位寻址 在所有的串行方式中 在写SBUF信号的控制下 将其数据装入移位寄存器 前面8位为数据字节 其最低位就是移位寄存器的移位输出位 根据不同的工作方式会将 1 或TB8的值装入移位寄存器的第九位 并进行发送 当一个字符接收完毕 移位寄存器中的数据字节装入串行接

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号