单片机串行接口_第1页
单片机串行接口_第2页
单片机串行接口_第3页
单片机串行接口_第4页
单片机串行接口_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 串行接口 7 串行接口串行接口 教学目标及要求教学目标及要求: 1 了解串行通信的基本原理了解串行通信的基本原理 2 熟悉单片机串行通信的熟悉单片机串行通信的4种工作方式及波特率的设置种工作方式及波特率的设置 主要内容主要内容: 1 串行通信概述串行通信概述 2 80C51串行口简介串行口简介 3 波特率的设计波特率的设计 4 串行通信工作方式串行通信工作方式 5 串行口应用举例串行口应用举例 教学重点和难点:教学重点和难点: 重点熟悉单片机串行通信重点熟悉单片机串行通信4种工作方式的设置及三种帧格式,种工作方式的设置及三种帧格式, 难点掌握单片机串行通信方式难点掌握单片机串行通信方式

2、0用于用于I/O扩展输入输出。扩展输入输出。 第7章 串行接口 ( 1 ) 同步通信:同步通信:是将一大批数据分成几个数据块是将一大批数据分成几个数据块, 数据块数据块 之间用同步字符予以隔开之间用同步字符予以隔开, 而传输的各位二进制码之间都没而传输的各位二进制码之间都没 有间隔。有间隔。 基本特征:基本特征:发送与接收时钟始终保持严格同发送与接收时钟始终保持严格同步。步。 ( 2 ) 异步通信:异步通信:是按帧传送数据是按帧传送数据, 它利用每一帧的起、止它利用每一帧的起、止 信号来建立发送与接收之间的同步信号来建立发送与接收之间的同步,每帧内部各位均采用固定每帧内部各位均采用固定 的时间

3、间隔的时间间隔, 但帧与帧之间的时间间隔是随机的。但帧与帧之间的时间间隔是随机的。 基本特征:基本特征:每个字符必须用起始位和停止位作为字符开每个字符必须用起始位和停止位作为字符开 始和结束的标志始和结束的标志, 它是以字符为单它是以字符为单位一个个地发送和接收的。位一个个地发送和接收的。 7.1 串行通信概述串行通信概述 第7章 串行接口 串串 行行 控控 制制 寄寄 存存 器器 98H 发送控制器发送控制器 定定 时时 器器 T1 发送发送 SBUF ( 99H ) 接收控制器接收控制器 输入移位寄存器输入移位寄存器 接收接收 SBUF ( 99H ) 串行口中断串行口中断 门门 TXD(

4、P3.1) RXD(P3.0) + TI RI 8 8 8 图7-3 串行口结构图 第7章 串行接口 数据缓冲器数据缓冲器SBUF 内部内部RAM字节地址是字节地址是99H。在物理上。在物理上, 它对应着两个独它对应着两个独 立的寄存器立的寄存器, 一个发送寄存器一个发送寄存器, 一个接收寄存器。一个接收寄存器。 发送:发送: 就是就是CPU写入写入 SBUF 接收:接收:就是读取就是读取SBUF的过程的过程, 接收寄存器是双缓冲的接收寄存器是双缓冲的, 以避免在接收下一帧数据之前以避免在接收下一帧数据之前, CPU未能及未能及时响应接收器的时响应接收器的 中断中断, 没有把上一帧数据读走没有

5、把上一帧数据读走, 而产生两帧数据重叠的问题。而产生两帧数据重叠的问题。 第7章 串行接口 串行口控制寄存器串行口控制寄存器 SCON SCON格式 SM0SM1SM2RENTB0RB0TIRI (MSB) LSB 第7章 串行接口 SM0 SM1 工作方式工作方式 功功 能能 波特率波特率 0 0 0 1 1 0 1 1 0 1 2 3 8位同步移位寄存器位同步移位寄存器 10 位位UART 11 位位UART 11 位位UART fOSC/12 可变可变(T1溢出率溢出率) fOSC/64 或或fOSC/32 可变可变(T1溢出率溢出率) 第7章 串行接口 D0D1D2D3D4D5D6D7

6、 方式0 方式1 方式2/3 0D0 D1 D2 D3 D4 D5 D6 D7 1 起始起始停止停止 0D0 D1 D2 D3 D4 D5 D6 D7 D8 1 停止停止 起始起始 第7章 串行接口 方式方式0: 8 位数据,不设起始位和停止位位数据,不设起始位和停止位 方式方式2/3: D8 可编程位(可编程位(TB8/RB8),由软件置,由软件置“1“或或 清清”, 可用作检验位,也可作它用可用作检验位,也可作它用 第7章 串行接口 SM2: 在方式在方式2和方式和方式3中用于多机通信控制接收中用于多机通信控制接收 0 不接收主机发来的数据不接收主机发来的数据 SM2 1 接收主机发来的数

7、据接收主机发来的数据 0 不论不论RB8=1/0 都接收数据都接收数据 1 且且RB8 REN: 接收允许接收允许 第7章 串行接口 电源控制寄存器电源控制寄存器PCON ( 87H ) PCON格式 SMOD- - -GF1GF0PDIDL (MSB) LSB 第7章 串行接口 7.3 波特率的设计波特率的设计 串行口每秒钟发送或接收的数据位数称为波特率。串行口每秒钟发送或接收的数据位数称为波特率。 假设假设 发送一位数据所需时间为发送一位数据所需时间为T, 则波特率为则波特率为 1/T。 SM0 SM1 工作方式工作方式 功功 能能 波特率波特率 0 0 0 1 1 0 1 1 0 1 2

8、 3 8位同步移位寄存器位同步移位寄存器 10 位位UART 11 位位UART 11 位位UART fOSC/12 可变可变(T1溢出率溢出率) fOSC/64 或或fOSC/32 可变可变(T1溢出率溢出率) 第7章 串行接口 (1) 模式模式 0 的波特率等于单片机晶振频率的的波特率等于单片机晶振频率的 1/12, 即每个即每个 机器周期接收或发送一位数据。机器周期接收或发送一位数据。 (2) 模式模式 2 的波特率与电源控制器的波特率与电源控制器PCON的最高位的最高位SMOD 的写入值有关的写入值有关: SMOD=0, 波特率为波特率为(1/64) fOSC; SMOD=1, 波特率

9、为(波特率为(1/32)fOSC。 64 2 2 SMOD 晶振频率的波特率模式 第7章 串行接口 (3) 模式模式 1 和模式和模式 3 的波特率除了与的波特率除了与SMOD位有关之外位有关之外, 还与定时器还与定时器 T1 的溢出率有关。的溢出率有关。 定时器定时器 T1 作为波特率发生器作为波特率发生器, 常常选用定时方式选用定时方式 2( 8 位位 重装载初值方式)重装载初值方式), 并且禁止并且禁止 T1 中断中断。此时。此时 TH1 从初值计从初值计 数到产生溢出数到产生溢出, 它每秒钟溢出的次数称为溢出它每秒钟溢出的次数称为溢出率。率。 第7章 串行接口 ) 1256(1232

10、2 32 2 131 TH f T OSC SMOD SMOD 的溢出率的波特率或模式 第7章 串行接口 表表 7-1 定时器定时器T1产生的常用波特率产生的常用波特率 第7章 串行接口 假设某MCS - 51 单片机系统, 串行口工作于模式 3, 要求 传送波特率为1200 Hz, 作为波特率发生器的定时器T1工作在 方式 2 时, 请求出计数初值为多少? 设单片机的振荡频率为 6 MHz。 因为串行口工作于模式 3 时的波特率为 ) 1256(1232 2 3 TH fOSC SMOD 的波特率模式 所以 )2/32(12 2561 SMOD OSC f TH 波特率 第7章 串行接口 当

11、SMOD=0 时, 初值TH1=256-6106/(1 2001232/1) =243=0F3H 当SMOD=1 时, 初值TH1=256-6106/(12001232/2) =230=0E6H 第7章 串行接口 7.4 串行通信工作方式串行通信工作方式 方式方式 0 输出状态输出状态 第7章 串行接口 方式方式 0 输入状态输入状态 第7章 串行接口 模式模式 1 发送过程:发送过程: 用软件清除用软件清除 TI 后后, 当数据写入当数据写入SBUF时,就启动发送过时,就启动发送过 程。数据由程。数据由 TXD 引脚输出引脚输出, 发送完时发送完时, 将置位发送中断标志将置位发送中断标志 T

12、I =1, 向向CPU申请中断申请中断, 完成一次发送过程。完成一次发送过程。 第7章 串行接口 模式模式 1 接收过程:接收过程: 用软件清除用软件清除 RI 后后, 当允许接收位当允许接收位 REN 被置位被置位 1 时时, 接收接收 器以选定波特率的器以选定波特率的 16 倍的速率采样倍的速率采样 RXD 引脚上的电平引脚上的电平, 当当 检测到有从检测到有从“1”到到“0”的负跳变时的负跳变时, 则启动接收过程则启动接收过程, 在接收在接收 移位脉冲的控制下移位脉冲的控制下, 接收完后,置中断标志接收完后,置中断标志RI,并申请中断。,并申请中断。 第7章 串行接口 模式模式 2 和模

13、式和模式 3 数据结构是数据结构是 11 位的位的: 最低位是起始位(最低位是起始位(0), 其后是其后是 8 位位 数据位(低位在先)数据位(低位在先), 第第 10 位是用户定义位(位是用户定义位(SCON中的中的 TB8或或 RB8) 第7章 串行接口 7.4.5 多机通信多机通信 图 7-6 多机通信连接图 第7章 串行接口 图 7-6 多机通信连接图 SM2: 在方式在方式2和方式和方式3中用于多机通信控制接收中用于多机通信控制接收 0 不接收主机发来的数据不接收主机发来的数据 SM2 1 接收主机发来的数据接收主机发来的数据 0 不论不论RB8=1/0 都接收数据都接收数据 1 且

14、且RB8 第7章 串行接口 主机:主机: TB8 = 1,SBUF= 从机号(从机号(01H) 从机:从机: SM2=1,RB8 = 1,比较,比较SBUF 从机号(从机号(XXH) 第7章 串行接口 主机:主机: TB8 = 0 (01H)从机:)从机: SM2=0 其它从机:其它从机: SM2=1,RB8 = 0(不产生中断即不响应)(不产生中断即不响应) 第7章 串行接口 主机:主机: TB8 = 1,SBUF= 从机号(从机号(01H) 从机:从机: SM2=1,RB8 = 1,比较,比较SBUF 从机号(从机号(XXH) 第7章 串行接口 7.5 串行口的应用串行口的应用 47 k

15、第7章 串行接口 CLR P1.2 SETB P1.2 CLR RI MOV SCON,#10H RECEIVE_LP1: JNB RI,RECEIVE_LP1 CLRRI MOV R0,SBUF CLRP1.2 SETB P1.2 CLR RI MOV SCON,#10H RECEIVE_LP2: JNB TI,RECEIVE_LP2 CLRRI MOV R1,SBUF 第7章 串行接口 1k 第7章 串行接口 MOV SCON,#00H CLRTI MOV SBUF,#00000110B TRANSMIT_LP1: JNB TI,TRANSMIT_LP1 CLRTI MOV SCON,#0

16、0H CLRTI MOV SBUF,#010100011B TRANSMIT_LP2: JNB TI,TRANSMIT_LP2 CLRTI 第7章 串行接口 例例 2 利用串行口进行双机通信。利用串行口进行双机通信。 第7章 串行接口 方式方式 0 输入状态输入状态 第7章 串行接口 方式方式 0 输入状态输入状态 第7章 串行接口 甲机发送(采用查询方式)甲机发送(采用查询方式): MOV SCON, 80H ; 设置工作方式设置工作方式2 MOV PCON, 00; 置置SMOD=0, 波特率不加倍波特率不加倍 MOV R0, 40H ; 数据区地址指针数据区地址指针 MOV R2, 10

17、H ; 数据长度数据长度 LOOP: MOV A, R0 ; 取发送数据取发送数据 MOV C, P ; 奇偶位送奇偶位送TB8 MOV TB8, C MOV SBUF, A ; 送串口并开始发送数据送串口并开始发送数据 第7章 串行接口 WAIT: JBCTI, NEXT ; 检测是否发送结束并清检测是否发送结束并清TI SJMP WAIT NEXT: INC R0; 修改发送数据地址指针修改发送数据地址指针 DJNZR2, LOOP RET 乙机接收(查询方式)乙机接收(查询方式): MOV SCON, 90H; 模作模式模作模式2, 并允许接收并允许接收 MOV PCON, 00H; 置置SMOD=0 MOV R0, 60H ; 置数据区地址指针置数据区地址指针 MOV R2, 10H ; 等待接收数据长度等待接收数据长度 第7章 串行接口 LOOP: JBC RI, READ ; 等待接收数据并清等待接收数据并清RI SJMP LOOP READ: MOV A, SBUF ; 读一帧数据读一帧数据 MOV C, P JNC LP0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论