通信接口选型及应用.
TB8 RB8 TI RI 接收中断标志
工作方式选择 多机通信控制位 允许串行接收位 发送中断标志 接收数据的第9位
发送数据的第9位
串行方式的定义
SM0 SM1
0 0 0 1 1 0 1 1
工作方式
方式0 方式1 方式2 方式3
功能
8位同步移位寄存器 10位UART 11位UART 11位UART
串口方式0应用
入口:把要显示的数分别放在显示缓冲区60H-65H共6个单元中,并且分别对应 各个数码管LED0-LED5。 出口:将预置在显示缓冲区中的6个数成相应的显示字形码,然后输出到显示器 中显示。
串行通信的分类:异步(Asynchronous Communication)
同步(Synchronous Communication)
串行通信制式:单工(a)、半双工(b)和全双工(c)
(simplex half duplex full duplex)
A站 发送器
单工通信
B站 接收器
(a) 发 收 A站 (b ) 发 收 B站 发 收 A站 (c) 收 发 B站
显然在相同的数据传输波特率下,同步方式比异步方式的 传送速度快,但同步方式要求收发双方在整个事件传送过程 中始终保持严格同步,这将增加硬件上的难度,而异步通信 只要求每帧(字节)的传送中短时间保持同步即可,实现起 来要容易得多。
MCS-51串行接口的结构
DB 写SBUF SBUF 发送 端口
1.数据缓冲寄存器SBUF 两个SBUF,一个用于发送 (只写);一个用于接收( 只读)。映象地址均为99H 。 2.数据发送与接收控制
可变(取决于定时 器1溢出率)
方式3
11位UART
方式0
在方式0下,串行口作同步移位寄存器用,其波特率固 定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移 位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。
方式0用于扩展I/O口输出
方式0用于扩展I/O输出口原理
串行数据从RXD引脚输出,TXD引脚输出移位脉 冲。CPU将数据写入发送寄存器SBUF时,立即启动 发送,将8位数据以Fosc/12的固定波特率从RXD输出, 低位在前,高位在后。发送完一帧数据后,发送标志 TI由硬件置位。 例:单片机串行口方式设为移位寄存器方式,外接6 片74LS164作为6位LED显示器的静态显示接口 。
发送控制 波 特 串行中断 TI 率 ≥1 控 制 RI 接收控制
TXD
接收 端口
RXD
SBUF
读SBUF DB
发送控制器在波特率作用下 ,将发送SBUF中的数据由 并到串,一位位地传输到发 送端口;接收控制器在波特 率作用下,将接收接收端口 的数据由串到并,存入接收 SBUF中。
MCS-51的串行接口
MCS-51系列单片机串行通信
基本概念: 串行通信和并行通信
发送
计算机1 GND 计算机2 GND 计算机1 GND
接收
计算机2 GND
并行通信
串行通信
并行通信:数据的各位同时传送;
串行通信:数据一位一位顺序传送。
串行、并行通信各自特点
并行/串行:并行方式可一次同时传送N位数据, 而串行方式一次只能传送一位;但并行传送的线 路复杂(需要N根数据线),串行传送的线路简 单(只需要1~2根数据线);并行方式常用于短 距离通信,串行方式则多用于长距离通信。 串行传送主要用于计算机与远程终端之间的 数据传送,也很适合于经由公共电话网连接的计 算机之间的通信。另外在某些场合,串行接口也 可代替并行接口来控制外设,以节省软硬件资源, 简化线路。
方式的选择由SM1、SM0实现。
工作方式
方式0 方式1 方式2
功能
8位同步移位寄 存器 10位UART 11位UART
说明
常用于扩展I/O 口
波特率
fosc/12
8位数据、起始位、 可变(取决于定时 结束位 器1溢出率) 8位数据、起始位 0、结束位1 和奇偶校验位 数据、起始、校 验、结束位
fosc/64或 fosc/32
MCS-51串行接口寄存器
SBUF——串行口数据缓冲器
共两个:一个发送寄存器SBUF,一个接收SBUF,二者共用一个 地址99H。
SCON——串行口控制寄存器 PCON——电源及波特率选择寄存器
控制寄存器SCON
9FH
SM0
9EH
SM1
9DH
SM2
9CH
REN
9BH 9AH 99H 98H
波特率
fosc/12 可变 fosc/或 fosc/32 可变
例:设串行口工作在方式1,允许接收,则指令为: MOV SCON,#01010000B
电源及波特率选择寄存器PCON
87H SMOD × × × GF1 GF0 PD IDL
串行通信只用该位,为1时,波特率×2;为0时不变。
串行口四种工作方式应用比较
概述
有一个可编程全双工串行通信接口(UART) (Universal Asychronous Receiver/Transmitter ) 管脚:TXD(P3.1)、RXD(P3.0) 可同时发送、接收数据(Transmit/Receive) 有四种工作方式,帧格式有8、10、11位。 波特率(Baud rate)可设置 波特率:每秒钟传送二进制数码的位数,也叫比特数, 单位为b/s,即位/秒。
同步、异步数据通信格式
同 步 字 符 1 数 据 同 步 字 符 2 数 据 数 据 数 据 数 据 … … … …
同步 字符
图 6.1 同 步 传 送 的数据格式 第n个 字符 第 n+1 个 字符 起 始 位 0 0/ 0/ 0/ 0/ 1 1 1 1
起 始 8位数 位 据 空闲 空闲 位 位 1 1 0 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 1 1 1 1 1 1 1 1 1 1 1 1 1 图6.2 异步通信数据帧 格式
奇 偶停 校止 验位
同步通讯异步通信的概念
同步和异步都属于串行数据传送方式,但二者的传送格式 有所不同。同步方式的一帧内含有很多数据位,而异步方式 一帧内只含有几个数据位。如果要传送一大堆数据,同步方 式只给这串数据进行一次外包装(即添加“头帧”、“尾 帧”、“校验”帧),而异步方式在传送这串数据时则要对 数据的每一个字节分别加以包装(即添加“头”位、“尾” 位和校验)。