第7章 89C51串行口及串行通信技术
秦晓飞系列-单片机原理及应用-第7章 89C51、S51串行口及串行通信技术
第7章 89C51/S51串行口及串行口通信技术
§7.1 §7.2 §7.3 §7.4 §7.5 §7.6 串行通信基本知识 串行口及应用 89C51/S51与89C51/S51点对点异步通信 89C51/S51与PC机间通信 无线单片机及其点到多点无线通信 RFID技术与物联网的应用
7.1 串行通信基本知识
7.1 串行通信基本知识
7.1.3 异步通信和同步通信 2.同步通信
同步通信中,在数据开始传送前用同步字符来指示(常约定1~2个),并由时 钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序 传送数据,直到通信告一段落。 同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据 块开始时用同步字符SYNC来指示,其数据格式如图7-4所示。
在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停 止位。首先是一个起始位(0),然后是5~8位数据(规定低位在前,高位在后) ,接下来是奇偶校验位(可省略),最后是停止位(1)。
• 起始位(0)信号只占用一位,用来通知接收设备一个待接收的字符开始到达 。线路上在不传送字符时应保持为 1。接收端不断检测线路的状态,若连续为1 以后又测到一个0,就知道发来一个新字符, 应马上准备接收。字符的起始位 还被用作同步接收端的时钟,以保证以后的接收能正确进行。 • 数据位紧接在起始位后面,它可以是5(D0~D4)、6、7或8位(D0~D7)。 • 奇偶校验(D8)只占一位,但在字符中也可以规定不用奇偶校验位,则这一位 就可省去。也可用这一位( 1/0 )来确定这一帧中的字符所代表信息的性质( 地址/数据等)。 • 停止位用来表征字符的结束,它一定是高电位(逻辑1)。停止位可以是1位、 1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接 收下一个字符做好准备——只要再接收到 0,就是新的字符的起始位。若停止 位以后不是紧接着传送下一个字符,则使线路电平保持为高电平(逻辑1)。
单片机原理及接口技术李朝青课本答案第七章
第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。
由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。
串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。
定时器T1产生串行通信所需的波特率。
3、简述串行口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。
当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。
当发读SBUF 命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF取出信息通过89C51内部总线送CPU。
4、Error! Hyperlink reference not valid.Error! Hyperlink reference not valid.89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。
第7章AT89C51单片机的串行口
RETI
;中断返回
2.方式2接收
SM0、SM1=10,且REN=1。数据由RXD端输入,接收11位信息。当 位检测到RXD从1到0的负跳变,并判断起始位有效后,开始收 一帧信息。在接收器完第9位数据后,需满足两个条件,才能 将接收到的数据送入SBUF。
(1)RI=0,意味着接收缓冲器为空。 (2)SM2=0或接收到的第9位数据位RB8=1时。 当上述两个条件满足时,接收到的数据送入SBUF(接收缓冲
正脉冲,串行口即把SBUF中的8位数据以fosc/12的固定波特 率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲, 发送完8位数据置“1”中断标志位TI。时序如图7-5所示。 2.方式0接收 REN=1,接收数据,REN=0,禁止接收。
图7-5
REN=1,允许接收。向串口的SCON写入控制字(置为方式0,并 置“1”REN位,同时RI=0)时,产生一个正脉冲,串行口即 开始接收数据。RXD为数据输入端,TXD为移位脉冲信号输出 端,
图7-3 (1)SMOD—波特率选择位
例如:方式1的波特率的计算公式为:
方式1波特率=(2SMOD/32)×定时器T1的溢出率
也称SMOD位为波特率倍增位。
(2)GF1、GF0—通用标志位 这两个标志位可供用户使用,可用软件置1或清0。两个标志位
用户应充分利用。 (3)PD—掉电方式位 若PD=1,单片机进入掉电工作方式。
图7-9 时采样)进行表决以确认是否是真正的起始位(负跳变)的开始。 当一帧数据接收完,须同时满足两个条件,接收才真正有效。 ⑴ RI=0,即上一帧数据接收完成时,RI=1发出的中断请求已被
响应,SBUF中的数据已被取走,说明“接收SBUF”已空。 ⑵ SM2=0或收到的停止位=1(方式1时,停止位已进入RB8),
串行通信7章改
;查询结束,清RI
MOV A ,SBUF
;读数据到累加器
ACALL LOGSIM
;进行逻辑模拟
SJMP START
;准备下一次模拟
2.串行口方式1的应用
例3:在8051片内RAM30~4FH单元中有32个字节的数
据,若采用方式1进行串行通信,波特率为1200bit/s,
fosc=6MHz(SMOD=0),用查询和中断两种方式编写发
HERE:JNB TI,HERE CLR TI INC R0 DJNZ R7,LOOP SJMP $ END
查询方式
接收:
MAIN:
HERE:
ORG 0000H AJMP MAIN ORG 0030H MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H SETB TR1 MOV SCON,#50H MOV PCON,#00H MOV R0,#30H MOV R7,#20H JNB RI,HERE CLR RI
MAIN: MOV SP,#60H
HERE: AJMP HERE
MOV TMOD,#20H SER: CLR TI
MOV TH1,#0F3H
INC R0
MOV TL1,#0F3H
MOV A,@R0
SETB TR1
MOV SBUF,A
MOV SCON,#40H
DJNZ R7,HE
MOV R0,#30H
HERE: AJMP HERE
MOV TMOD,#20H SER: CLR RI
MOV TH1,#0F3H
MOV A,SBUF
同步通信数据格式
异步通信数据格式
四、通信数据的差错检测
(1)奇偶校验 在数据位后附加一个奇偶校验位,该位可为“0”
单片机原理及接口技术课后答案第七章
第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。
由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。
串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。
定时器T1产生串行通信所需的波特率。
3、简述串行口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。
当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN (SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。
当发读SBUF命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF 取出信息通过89C51内部总线送CPU。
4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。
89C51串行口及串行通信技术
②信号线的连接和应用 ► 使用MODEM连接 适用于远距离通信(15米以上) 通过专用的电话线通信
采用Modem(DCE)和电话网通信时的信号连接
采用专用线通讯时的信号连接
► 直接连接
不使用MODEM,近距离传送 简单只需3条线(TXD,RXD,SG) 也可采用反馈与交叉结合的连接法
当通信速率低于20Kb/s时,RS-232C所能直接连接的最 大物理距离为15m;使用特制的低电容电缆可以达到 150m。
1.RS-232C标准的信号线
①RS-232C信号线的定义 ► 传送信息信号 发送数据TXD:由发送端向接收端发送数据 接收数据RXD:用来接收发送端输出的数据 ► 联络信号 请求传送信号RTS:表示DTE请求DCE发送数据 清除发送CTS:表示DCE准备好接收DTE发来数据
数传机就绪DSR: DCE向DTE发送的联络信号, 为1时,DCE处于就绪状态。 数据终端就绪DTR:DTE向DCE发送的联络信号, 为1时,DTE处于就绪状态。 数据载波检出信号DCD:表示DCE已接通通信链路。 振铃指示信号RI:这是DCE向DTE发的状态信号, 为1时,表示已被呼叫。
►
由MAX232构成的电平转换电路
二、RS-422接口标准 ► RS-422标准是一种平衡方式传输(双端接收 和双端发送) ► 当AA的电平高于BB线的电平200MV表示逻辑 1 ► 当AA的电平低于BB线的电平200MV表示逻辑 0 ► RS-422最大传输速率 10MB/S(15M),90KB(1200M)
数据 字符2
… …
数据 字符n
CRC1
CRC2
(b)双同步字符帧结构
在同步通信中,同步字符可采用统一的标准格式, 也可以由用户在传送之前相互约定好。在单同步通 信字符帧结构中,如图(a)所示,同步字符通常采 用ACSII码中规定的SYN(同步)(即16H)代码;在双 同步通信字符帧结构中,同步字符一般采用国际通 用标准代码EB90H。 优点:同步通信的数据传输速率较高,通常可达到 56Mbps或更高。 缺点:要求发送时钟和接收时钟保持严格同步。
89C51串口通信的四种方式及特点
1、89C51串口通信的四种方式及特点通过设置SCON可以设置串行口的工作方式,相应设置位是SM0,SM1,共有四种方式方式0:为同步移位寄存器的输入输出方式,一般用于扩展I/O口,数据位为8位,无起始停止位方式1:波特率可调的异步通信方式,数据位为10位,1位起始位,8位数据位,1位停止位方式2:波特率固定的11位异步通信方式,数据位为11位,1位起始位,8位数据位,1位停止位,1位可编程的第9位,一般用于多机通讯。
方式3:与方式2功能相同,只是波特率可调。
2、51单片机的时钟周期,状态周期,机器周期如何定义的时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,发出一个脉冲的时间就是时钟周期,也就是1/12微秒。
通常也叫做系统时钟周期。
是计算机中最基本的、最小的时间单位。
在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
3、程序状态字寄存器PSW的格式及各位功能1. CY(Carry):CY表示加法运算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置1,否则为0。
2. AC(Auxiliary Carry):与CY基本相同,不同的是AC表示的是低4位向高4位的进、借位。
3.F0:该位是用户自己管理的标志位,用户可以根据自己的需要来设定。
4. RS1、RS0:这两位用于选择当前工作寄存器区。
8051有8个8位寄存器R0~R7,它们在RAM中的地址可以根据用户需要来确定。
RS1 RS0:R0~R7的地址0 0:00H~07H 0 1:08H~0FH 1 0:10H~17H 1 1:18H~1FH5.OV:该位表示运算是否发生了溢出。
第7章串行口
一、 89C51串行口 1、结 构
图7-7 串行口内部结构示意简图
☞ 2、串行口控制字及控制寄存器
串行口控制寄存器SCON(98H)
• ①SM0和SM1(SCON.7,SCON.6)——串行
口工作方式选择位。两个选择位对应4种通信方式,
如表7-1所示。其中,fosc是振荡频率。
3、串行通信工作方式
2 SMOD f osc 16 / 2 初值 串行方式1、方式3波特率≌ 32 12
4、波特率设计
• 定时器T1用作波特率发生器时,通常选用定时器模 式2(自动重装初值定时器)比较实用。每过“28-X” 个机器周期,定时器T1就会产生一次溢出。
• T1溢出速率为 T1溢出速率≌(fosc/12)/(28-X)
移位时钟来源不同,因此,各种方式的波特率计算公式也
不同。
4、波特率设计
• (1)方式0的波特率 由图7-14可见,方式0时,发送或接收一位数据的移位 时钟脉冲由S6(即第6个状态周期,第12个节拍)给出, 即每个机器周期产生一个移位时钟,发送或接收一位数据。
因此,波特率固定为振荡频率的1/12,并不受PCON寄存
TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1;
需要用软件清零 RI。
☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口
☞方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF ☞复位时,SCON 已经被清零,缺省值: 方式0。 ☞接收前,务必先置位 REN=1 允许接收数据。
89C51串行通信
12
51单片机的串行口的工作方式 单片机的串行口的工作方式
数据接收的有效性:
如果RI=0、SM2=0,则接收的数据送入SBUF,停止 位送入RB8,置RI=1;向CPU申请中断。 如果RI=0、SM2=1,那么只有停止位为1才发生上述 操作。 如果RI=0、SM2=1,且停止位为0,则接收的数据丢 弃。 如果RI=1,则接收的数据在任何情况下都不装入 SBUF,即数据丢失。
单片机实训
执行校长
单片机实训(第一讲下) 单片机实训(第一讲下)
教学内容
串行通信的基本概念 51单片机的串行口的功能与结构 单片机的串行口的功能与结构 51单片机的串行口的工作方式 单片机的串行口的工作方式 51单片机的串行口的波特率设置 单片机的串行口的波特率设置 多机通信
2
重点、 重点、难点
9
51单片机的串行口的功能与结构 单片机的串行口的功能与结构
RI——接收中断标志位 RI——接收中断标志位 —— 当一帧数据接收完成后,由内部硬件使RI置位, RI置位 当一帧数据接收完成后,由内部硬件使RI置位,向 CPU请求中断 中断响应后必须用软件清0 RI也可 请求中断。 CPU请求中断。中断响应后必须用软件清0。RI也可 供查询使用。 供查询使用。
发送时:第9位数据由 位数据由SCON中的 中的TB8位提供; 位提供; 发送时: 位数据由 中的 位提供 接收时:当第9位数据进入移位寄存器后 将前8位 位数据进入移位寄存器后, 接收时:当第 位数据进入移位寄存器后,将前 位 数据送入SBUF中,第9位装入 位装入SCON中的 中的RB8。 数据送入 中 位装入 中的 。
主要由发送数据缓冲器、发送控制器、输出控制门、 接收控制器、输入移位寄存器等组成。
第7章 AT89S51串行口及串行通信技术
第7章 AT89S51串行口及串行通信技术前几章所涉及的数据传送方式都是并行传送,如AT89S51和外接8位数据的并行传送。
这时外设和单片机间的距离都很短,若很长的话,要实行并行的形式显然要用很多的电缆线,这在布线和经济上都不是适合的。
因此,本章引入串行传送方式,只用一根数据线传送数据的位信号,同时加上一些通信控制信号线,以满足远距离数据传送的需要,如因特网终端和客户端之间的数据通信。
在相同条件下,串行传送速度比并行慢,串行是在牺牲速度的基础上节省成本的。
本章的知识点如下:1.了解数据通信中的并行/串行、同步/异步、单工/双工以及波特率的概念。
2.掌握为什么双机通信时要有通信协议以及通信协议的主要内容。
3.了解AT89S51串行接口的基本结构。
4.理解串行接口控制寄存器SCON 各个位的含义。
5.掌握串行接口的4种工作方式及其实际应用,掌握不同工作方式下的波特率计算方法。
6.理解串行接口中断的概念。
7.了解AT89S51与PC 机间的硬件系统及设计。
重点:1.不同工作方式下的波特率计算。
2.串口收/发数据的协议及流程。
3.串口4种工作方式的应用。
难点:1.AT89S51串行接口的基本结构。
2.MAX232和PC 机的通信。
7.1 串行通信基本知识 本节介绍串行通信的基本介绍,同时介绍通信中常用到的“波特率”的概念,为以下各节学习作基础。
7.1.1 数据通信1. 通信:计算机的CPU 与外设间的信息交换,计算机与计算机间的信息交换。
2. 分类及各方式的特点(1) 并行通信定义:数据的各位同时进行传送(发送或接收)的通信方式。
特点:优点——传送速度快;缺点——数据多少位就要多少根传送线,对于位数多,传送远的通信不合适。
(2) 串行通信定义:数据是一位一位按顺序传送的通信方式。
特点:优点——只需一对传输线(如电话线),大大降低了传送成本,适合于远距离通信;缺点——传送速度相对较慢。
闽江学院电子系 薛小铃对AT89S51单片机,它可以利用P3.0(RXD)和P3.1(TXD)实现串行通信。
89C51串行口及串行通信技术
从本质上说,所有的串行接口电路都是以并行数据形式与
CPU连接,以串行数据形式与外部逻辑设备连接。它们的基 本功能是从外部逻辑设备接收串行数据,转换成并行数据后
传送给CPU,或从CPU接收并行数据,转换成串行数据后输
出到外部逻辑设备。
19
89C51具有一个全双工串行通信接口。
作用:
●作为UART使用。
也可以用作地址/数据帧的标识位,D8=1表示该帧信息传 送的是地址,D8=0表示传送的是数据。两帧信息之间可以
无间隔,也可以有间隔,且间隔时间可任意改变,间隔用
空闲位“1”来填充。
6
异步通信
图
异步通信数据格式
7
奇偶校验
是一种校验代码传输正确性的方法。根据被传
输的一组二进制代码的数位中“1”的个数是奇数或
0 1 1
1 0 1
1 2 3
9位UART,波特率可变(由T1或T2溢出率
决定)
28
(3)串行通信工作方式
方式0
方式0时,串行口为同步移位寄存器的输入输出方式。
主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚
输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送 和接收均为8位数据,低位在先,高位在后。波特率固定为
23
●SM2,多机通信控制位,主要用于方式2和方式3。当接收机
的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不
激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并 激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,
不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激
从低位开始串行输出,数据的低位在右高位在左,在具体应用
单片机原理及接口技术-89C51串行口及串行通信技术解析59页PPT
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
单片机原理及接口技术-89C51串行口及 串行通信技术解析
1、合法而稳定的权力在使用得当时很 少遇到 抵抗。 ——塞 ·约翰 逊 2、权力会使人渐渐失去温厚善良的美 德。— —伯克
3、最大限度地行使权力总是令人反感 ;权力 不易确 定之处 始终存 在着危 险。— —塞·约翰逊 4、权力会奴化一切。——塔西佗
拉
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
பைடு நூலகம்
第7章89C51串行口及串行通信技术要点
图7-2 串行通信中的数据传送方式
7.1 串行通信基本知识
7.1.1 数据通信 7.1.2 串行通信的传输方式 7.1.3 异步通信和同步通信 7.1.4 串行通信的过程及通信协议
7.1.3异步通信和同步通信
• 串行通信有两种基本通信方式,即异步通信 和同步通信。
1、异步通信 在异步通信中,数据是一帧一帧(包括一 个字符代码或一字节数据)传送的,每一 帧的数据格式如图7-3所示
10b/字符×120字符/s=1200b/s
3、波特率(Baud rate)
• 每一位代码的传送时间Td为波特率的倒数。 Td=1b/(1)=0.833ms
• 异步通信的传送速率在50b/s--19200b/s之 间,常用于计算机到终端机和打印机之间 的通信、直通电报以及无线电通信的数据 发送等。
• 串行通信指数据是一位一位按顺序传送的通信方式。 • 它的突出优点是只需一对传输线(利用电话线就可
作为传输线),这样就大大降低了传送成本,特别 适用于远距离通信;
• 其缺点是传送速度较低。假设并行传送N位数据所 需时间位T,那么串行传送的时间至少为NT,实际上 总是大于NT的。
7.1 串行通信基本知识
2、同步通信
• 同步通信中,在数据开始传送前用同步字
符来指示(常约定1个--2个),并由时钟来 实现发送端和接收端同步,即检测到规定 的同步字符后,下面就连续按顺序传送数 据,直到通信告一段落。
• 同步传送时,字符与字符之间没有间隙, 也不用起始位和停止位,仅在数据块开始 时用同步字符SYNC来指示,其数据格式如 图7-4所示。
(2)设备同步
• 进行串行通信的两台设备必须同步工作才能 有效地检测通信线路上的信号变化,从而采 样传送数据脉冲。
第7章 89C51串行口及串行通信技术
2013年7月31日星期三 24
图7-5
返回
2013年7月31日星期三 25
图7-6 返回
2013年7月31日星期三 26
(2)设备同步
• 进行串行通信的两台设备必须同步工作才 能有效地检测通信线路上的信号变化,从 而采样传送数据脉冲。 • 设备同步对通信双方有两个共同要求:
一是通信双方必须采用统一的编码方法; 二是通信双方必须能产生相同的传送速率。
此,全双工配置是一对单向配置,它要求两端的通信
设备都具有完整和独立的发送和接受能力。 • 图7-2所示为串行通信中的数据传送方式。
返回
2013年7月31日星期三 10
图7-2 串行通信中的数据传送方式
返回
2013年7月31日星期三 11
7.1.3异步通信和同步通信
• 串行通信有两种基本通信方式,即异步通信和同步通信。 1、异步通信 在异步通信中,数据是一帧一帧(包括一个字符代码或 一字节数据)传送的,每一帧的数据格式如图7-3所示
返回
2013年7月31日星期三 15
1、异步通信
• 图7-3(a)表示一个字符紧接一个字符传送的情况,上一个字符的停止位和 下一个字符的起始位是紧邻的;
• 图7-3(b)则是两个字符间有空闲位的情况,空闲位为1,线路处于等待状态。 存在空闲位正是异步通信的特征之一。 • 例如,规定用ASCII编码,字符为七位,加一个奇偶校验位、一个起始位、 一个停止位,则一帧共十位。
返回
2013年7月31日星期三 16
2、同步通信 •
同步通信中,在数据开始传送前用同步字符来指示(常 约定1个--2个),并由时钟来实现发送端和接收端同步, 即检测到规定的同步字符后,下面就连续按顺序传送数据, 直到通信告一段落。
89c51串口通信
B=1MHz,每位数据占1s。
4. 发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。
TXD 发 写入 (a) 送 SBUF 时 序 RXD输出
D0
D1
D2
D3
D4
D5
D6
D7
TI 接 (b) 收 写REN=1 时 RI=0 序 RXD输入 RI
3.节电控制寄存器PCON
SMOD(PCON.7):波特率加倍控制位。 SMOD=1,波特率加倍, SMOD=0,则不加倍。
1.3 串行接口的工作方式
SM0,SM1选择四种工作方式。
一、方式0:同步移位寄存器方式。用于扩展并行I/O接口。
1. 一帧8位,无起始位和停止位。
2. RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3. 波特率B = fosc/12 如: fosc=12MHz,
5. 移位寄存器方式举例
数据从RXD(P3.0)引脚串行输出,低位在先,高位
在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12;
发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SCON,#00H ;串行口方式0 MOV SBUF,A JNB TI,$ ;将数据送出 ;等待数据发送完毕
四 串行数据传送方向
单工通讯:数据单向传送。 半双工通讯:数据可分时双向传送。 全双工通讯:可同时进行发送和接收。
发送2 串行口控制寄存器
一、1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式(P.237图):按不同方式,一帧位数 8/10/11 发送/接收时,数据皆低位在前。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
② 半双工传送:只有1根线传送数据 信号,要求通讯双方的发送和接 收由电子开关切换。由于只有一 条信道,所以数据不能同时在两 个方向上传送。
③ 全双工传送:通讯双方能同时进 行发送和接收操作
#4
五、串行通信的两种类型 1. 异步通信
第 n字 符 帧
计 算机 1
发送 接收
计 算机 2 或 外设
…
GN D
GN D
GN D
GN D
并行(a通) 信
串行(b)通信
注意:“串行”是指外设与接口电路之间的信息传送方式, CPU与接口之间仍按并行方式工作。
二、信息传输的检错和纠错
➢ 串行数据在传输过程中,由于干扰可能引起信息的出错 如何发现传输中的错误,叫检错 发现错误后,如何消除错误,叫纠错
➢ 一帧字符发送/接收完,置位标志位(TI/RI)并申请中断 ➢ 中断控制:中断允许位ES ➢ 中断入口:0023H
4. 含两个收、发数据缓冲器SBUF(共用一个地址99H ) ➢ 发送SBUF放待发的8位数据,写入SBUF便启动发送。
发送指令: MOV SBUF,A ➢ 接收SBUF放已成功接收的8位数据,供CPU读取。
装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据, 不置位RI
3. 方式2和方式3: 11位异步通讯方式。
➢ 一帧11位:起位+9位数据位+停位。 ➢ 第9位数据位在TB8/RB8中,常作校验位或多机通讯标识位 ➢ 波特率: 方式2:B=(2SMOD/64)×fosc 。
方式3:B=(2SMOD/32)×T1溢出率 ➢ 发送:先填写TB8,写入SBUF(启动发送),发送完TI=1。 ➢ 接收:REN=1,RI=0且第9位为1 (或SM2=0),将接收数据装
工作方式 方式0 方式1 方式2 方式3
功能 8位同步移位寄存器
10位UART 11位UART 11位UART
波特率
fosc/12 可变
fosc/64或fosc/32 可变
1. 方式0:8位同步移位寄存器(用于I/O扩展) ➢ 一帧8位,无起、停位。 ➢ RXD:数据输入/输出端。 ➢ TXD:同步脉冲输出端,每个脉冲对应一个数据位。 ➢ 波特率B = fosc/12,如:fosc=12MHz,B=1MHz,每位数据1s。 ➢ 发送过程:写入SBUF(启动发送),一帧发送完,TI=1。 ➢ 接收过程:REN=1且RI=0,启动接收,一帧接收完,RI=1。
第7章 89C51串行口及串行通信技术
7-1 串行通信基本知识 7-2 89C51串行口及应用
7-1 串行通信基本知识
一、数据通信 在计算机系统中,CPU和外部通信有两种形式:
➢ 并行通信,即数据的各位同时传送; ➢ 串行通信,即数据一位一位顺序传送。
数据的各位同时传送
计 算机 1
计 算机 2 或 外设
六、串行接口必须具备的功能
串行接口电路的种类和型号很多。 ➢ 能够完成异步通信的硬件接口电路称为UART,即通用异步接
收器/发送器。 ➢ 能够完成同步通信的硬件接口电路称为USRT。即通用同步接
收器/发送器。 ➢ 既能够完成异步又能同步通信的硬件接口电路称为USART。
所有这些串行接口电路都必须具备如下的基本功能:
例1:用串行口方式0扩展8位并行I/O输出口。
74HC164实现:串行→并行的数据转换
例2:用串行口方式0扩展8位并行I/O输入口。
74HC165实现:并行→串行的数据转换
2. 方式1:10位异步通讯方式。
➢ 一帧10位:起位+8位数据位+停位。 ➢ 波特率:用T1作波特率发生器,B=(2SMOD/32)×T1溢出率。 ➢ 发送:写入SBUF(启动发送),一帧发送完,TI=1。 ➢ 接收:REN=1,RI=0且停止位为1 (或SM2=0),将接收数据
读取指令: MOV A,SBUF
5. 串行口控制寄存器SCON(98H)
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 SM2 REN TB8 RB8 TI RI
➢ SM0,SM1:串口4种工作方式选择。
SM0 SM1 00 01 10 11
工作方式 方式0 方式1 方式2 方式3
① 发送器:并串数据转换,添加标识位和校验位,设置发送 结束标志,申请中断。
② 接收器:串并数据转换,检查错误,去掉标识位,保存有 效数据,设置接收结束标志,申请中断。
③ 控制器:接收编程命令和控制参数,设置工作方式:同步/异 步、字符格式、波特率、校验方式、数据位与同步时钟比例 等。
7-2 89C51串行口及应用
ORG 0000H
LJMP MAIN
ORG 0023H
AJMP SBR
ORG 0030H
MAIN: MOV SCON,#00H
SETB EA
SETB ES
SETB P1.0
MOV A,#80H
MOV SBUF,A
SJMP $
SBR: CLR TI
ACALL DELAY
RR
A
MOV SBUF,A
RETI
• 在方式2,3处于接收或发送方式时,若SM2=0,不论接收到 的第9位RB8为0还是1,TI、RI都以正常方式被激活。
• 在方式1处于接收时,若SM2=1,则只有收到有效的停止位后, RI置1。
• 在方式0中,SM2应为0。
SM0 SM1 SM2 REN TB8 RB8 TI RI
➢ REN:允许接收控制位,=1允许接收;=0禁止接收。
第 n+ 1字 符 帧
… 0/1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 0 D0 D1 …
起
8位 数 据
奇偶 停
始
校验 止
位
无空闲位(a)字符帧
位
第 n字 符 帧
空闲位
第 n+ 1字 符 帧
… 1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 1 1 1 0 D0 D1 …
起
8位 数 据
奇偶 停
始 位
有空闲位字符帧
校验 止 位
一个字符一个字符地传输,每个字符一位一位地传输,传输 一个字符时,以起始位开始,然后传输字符本身各位,接着传输 校验位,最后以停止位结束该字符传输。一次传输的起始位、字 符各位、校验位、停止位构成一个字符帧(数据帧)信息。
第 n字 符 帧
第 n+ 1字 符 帧
… 0/1 1
0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1
起
8位 数 据
奇偶 停
始
校验 止
位
无空闲位(a)字符帧
位
0 D0 D1 …
第 n字 符 帧
空闲位
第 n+ 1字 符 帧
… 1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 1 1 1 0 D0 D1 …
DELAY: ׃
;主程序入口 ;串口中断服务程序入口
;串口方式0初始化
注
;CPU开中
意
;串口开中
:
;74HC164的CLR=1,保持有移位输出 ;输出80H,最左一位先亮
书 上
;踏步等中断 ;清发送标志
程 序
;调用延时子程序,亮一段时间
有
;点亮下一位
错
;中断返回 ;延时子程序(根据点亮时间编制)
异步通信的优点是不需要传送同步时钟,字符帧长度不受限 制,故设备简单。缺点是字符帧中因包含起始位和停止位而降低 了有效数据的传输速率。
2. 同步通信
同步字符 字符1 字符2
……
字符n 校验字符
数据块
➢ 在每组信息的开始,加上同步字符,靠同步字符完成收发双 方同步的。
➢ 多个字符成组传送。 ➢ 同步字符和字符组以及需要的其他字符构成一个信息帧。
6. 电源控制寄存器PCON(87H),未包含在串口框图中。
SMOD X
X
X GF1 GF0 PD IDL
➢ SMOD波特率加倍控制位。=1波特率加倍,=0则不加倍。
二、89C51串行通信工作方式
89C51的串行口有4种工作方式,通过SCON中的SM0、SM1位 来决定。
SM0 SM1 00 01 10 11
入SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不 置位RI。
4. 关于波特率的计算:
① 方式0为固定波特率:B=fosc/12 ② 方式2可选两种波特率: B=(2SMOD /64)×fosc ③ 方式1、3为可变波特率,用T1作波特率发生器。
B=(2SMOD/32)×T1溢出率 在方式1,3下,波特率由T1溢出率和SMOD共同决定。实际 上,当T1做波特率发生器时,通常工作在模式2下,即自动重装 载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内。
T1模2溢出时间: t (28 X)T (28 X) 12
fosc
方式1,3下的波特率:
B
2SMOD 32
fosc 12(2 8 X)T1Βιβλιοθήκη 出率1 t
12
fosc (28
X)
T1模2定时初值:
X 28 2SMOD fosc 32 12 B
定时器1产生的常用波特率
波特率/(b/s)
fosc/MHz
SMOD
方式0:1
12
×
方式2:375 k
12
1
方式1、3:62.5k
12
1
19.2 k
11.059
1
9.6 k
11.059
0
4.8 k