单片机串行口课件

合集下载

单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。

串行口是一种通信接口,可以通过单根线传输数据。

本章将介绍80C51单片机的串行口原理及其应用。

一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。

SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。

80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。

1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。

80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。

在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。

首先,需要选择串行口的工作模式。

80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。

其次,需要设置波特率。

波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。

然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。

在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。

在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。

2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。

80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。

在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。

首先,需要选择串行口的工作模式。

80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。

第7章AT89C51单片机的串行口

第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),

AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍

AT89S51单片机串行口的内部结构及工作原理介绍AT89S51单片机串行口的内部结构如下图所示。

它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。

发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。

串行口的控制寄存器共有两个:特殊功能寄存器SCON 和PCON。

下面介绍这两个特殊功能寄存器各位的功能。

1、串行口控制寄存器SCON串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。

SCON的格式如下图所示。

下面介绍SCON中各位的功能。

(1) SM0、SMl:串行口4种工作方式选择位。

SM0、SM1两位的编码所对应的4种工作方式见下表。

表串行口的4种工作方式(2) SM2:多机通信控制位。

因为多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或方式3中。

当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为1时,才使RI置l,产生中断请求,并将接收到的前8位数据送人SBUF;当接收到的第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。

而当SM2=0时,则不论第9位数据是l还是0,都将前8位数据送入SBUF中,并使RI置1,产生中断请求。

在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI。

在方式0时,SM2必须为0。

(3)REN:允许串行接收位。

由软件置1或清0。

REN=1,允许串行口接收数据。

REN=O,禁止串行口接收数据。

(4)TB8:发送的第9位数据。

在方式2和方式3时,TB8是要发送的第9位数据,其值由软件置l或清O。

在双机串行通信时,TB8一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。

(5) RB8:接收的第9位数据。

工作在方式2和方式3时,RB8存放接收到的第9位数据。

单片机原理_第10章 MCS-51系统的串行接口(教学PPT)

单片机原理_第10章 MCS-51系统的串行接口(教学PPT)
第十章 MCS-51单片机的串行接口
1
10.1 串行通信基础知识
通信的基本方式
• 并行通信:各位数据同时传送。
• 串行通信:数据一位位按顺序传送。
串行接口
2
10.1.1 串行通信的两种基本方式
1. 异步传送方式
收发双方有各自的时钟源控制字符发送 和接收,数据以一个字(字符)为传送单位, 它们在线路上传送不连续。异步传送时, 发送方能采用两种方式传送,即各个字符
2. 数据输入(接收)
当REN=1、SM0=0、SM1=1,并检测到 起始位后,由移位脉冲控制接收数据。当满 足条件:

RI=0; 收到停止位为“1”或SM2=0时,8位数据送 入SBUF,停止位进入RB8,置位中断标志RI。 如果两个条件不满足,数据将丢失。
串行接口
38
串行口方式1的时序
串行接口
串行接口
34
方式0:移位寄存器输入/输出方式
(1) 数据输出(发送) 数据写入SBUF后,数据在移位脉冲(TXD) 控制下, 由RXD端逐位移入74LS164。当8位数据全部移出后, TI由硬件置位,发生中断请求。若CPU响应中断,则 从0023H单元开始执行串行口中断服务程序,数据由 74LS164并行输出。
串行接口

MOV SCON, #80H
方式2:11(9)位异步发送/接收方式
REN=1、SM0=1、SM1=0时,串口以 方式2接收数据。当满足条件:

RI=0,SM2=0 ;
或收到的第9位数据为“1”。
8位数据送入SBUF,第9位数据进入 RB8,置位RI。如果条件不满足,数据将 丢失。
串行接口
串行接口
10
串行通信的基础知识

《单片机原理及应用教程》第7章:单片机的串行通信及接口

《单片机原理及应用教程》第7章:单片机的串行通信及接口
8051单片机通过引脚RXD和TXD进行串行通信。其串行口结构包括控制寄存器SCON和PCON,分别用于配置工作方式和波特率。串行通信可选工作方式有四种:方式0为同步移位方式,方式1、方式2和方式3为异步收发方式,不同方式下帧格式和时序有所不同。波特率是数据传送速率,可通过设置定时器T1和SMOD位来调整。在方式0下,波特率固定为fosc/12;方3的波特率则通过T1溢出率和SMOD位共同决定。此外,文档还提供了波特率设计的实例和初始化程序,帮助读者更好地理解和应用8051单片机的串行通信功能。

51单片机-串行口ppt课件

51单片机-串行口ppt课件

为发送时CPU是主动的,不会产生重叠错误。
最新课件
21
8.2.2 80C51串行口的控制寄存器
SCON 是一个特殊功能寄存器,用以设定串行口的工 作方式、接收/发送控制以及设置状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
最新课件
22
●SM2,多机通信控制位,主要用于方式2和方式3。 当接收机的SM2=1时可以利用收到的RB8来控制是否 激活RI(RB8=0时不激活RI,收到的信息丢弃; RB8=1时收到的数据进入SBUF,并激活RI,进而在 中断服务中将数据从SBUF读走)。当SM2=0时,不 论收到的RB8为0和1,均可以使收到的数据进入 SBUF,并激活RI(即此时RB8不具有控制RI激活的 功能)。通过控制SM2,可以实现多机通信。
起 空始 闲位
一个字符帧 数据位
校停 验止 位位
空 下一字符 闲 起始位
LSB
MSB
异步通信的特点:不要求收发双方时钟的
严格一致,实现容易,设备开销较小,但 每个字符要附加2~3位用于起止位,各帧 之间还有间隔,因此传输效率不高。
最新课件
9
2、同步通信
同步通信时要建立发送方时钟对接收方时钟的直接控制, 使双方达到完全同步。此时,传输数据的位之间的距离均 为“位间隔”的整数倍,同时传送的字符间不留间隙,即 保持位同步关系,也保持字符同步关系。发送方对接收方 的同步可以通过两种方法实现。
波特率=2SMOD/32×T1的溢出率 = 2SMOD × fosc/[ 32 × 12×(2K-初值)]
最新课件
19
回目录 上页 下页
3、传输距离与传输速率的关系
串行接口或终端直接传送串行信息位流的

第7章AT89S51单片机的串行口

第7章AT89S51单片机的串行口

PCONSMOD — — — GF1 GF0 PD IDL
GF1,GF0:用户可自行定义使用的通用标志位 GF1: General purpose Flag bit. GF0 :General purpose Fபைடு நூலகம்ag bit.
PD:掉电方式控制位 Power Down bit. =0:常规工作方式. =1:进入掉电方式:振荡器停振片内RAM和SRF的
例如:120字符/秒,1个字符10位, 波特率为:120×10=1200bps 平均每一位传送占用时间:Td=1/1200=0.833ms
常用的波特率有:(离散) 19200/9600/4800/2400/1200/600/300/150/100
/50, 还有10M/100M
7.1.1 与串行通信有关的寄存器
TB8:在串行工作方式2和方式3中,是要发送的第9位数据。 The 9th bit that will be transmitted in modes 2&3. Set/Cleared
by software 多机通信中: TB8=0 表示发送的是数据;
TB8=1 表示发送的是地址.
RB8:在串行工作方式2和方式3中,是收到的第9位数据.该数据来自发
REN:串行口接收允许控制位 Set/Cleared by software to Enable/Disable reception
=1 允许接收; (SETB REN) =0 禁止接收.
系统复位后,REN=0,不允许接受
SM0 SM1 SM2 REN TB8 RB8 TI RI
模式选择 多机通讯位 允许接收位 发送、接收第9位 发送、接收标志
1
1
3 Split timer mode (Timer 0) TL0 is an 8-bit Timer/Counter controlled by the

MCS-51单片机的串行口及控制寄存器

MCS-51单片机的串行口及控制寄存器

位序
B7
B6
B5
B4
B3
B2
B1
B0
位符
smod
/
/
/
GF1
Hale Waihona Puke GF0PDIDL

PD和IDL:是CHMOS单片机用于进入低功耗方式的控制位,在第 2章中已介绍过这两位的应用。
GF1和GF0:用户使用的一般标志位。
smod:串行口波特率倍增位,当smod=1时,串行口波特率增加 1倍。系统复位时,smod=0。
位地 址
位符 号
0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8 H
EA
/
/
ES
ET1
EX1
ET1 EX0
其中与串行口有关的是ES位。当ES=0时,禁止串行口的中断; 当ES=1时,表示允许串行口中断。EX0、ET0、EX1、ET1分别表示 对外中断0、定时器/计数器0、外中断1、定时器/计数器1个中断 源的中断允许控制,EA是中断总允许控制位,详见本书第5章介绍。
PCON寄存器的B6、B5、B4位未定义。
3. 中断允许寄存器IE
中断允许寄存器IE,是MCS-51单片机中实现是否开放某 中断源中断的控制寄存器,在第5章中已做过介绍。IE寄存 器 是 可 寻 址 的 寄 存 器 , 其 字 节 地 址 为 0 A8H, 位 地 址 由 0A8H~0AFH,IE寄存器各位定义如下:
0BBH PT1
0BAH PX1
0B9H PT0
0B8H
PX0
其中与串行口有关的是PS位,当PS=0时,表示串行口中断处于 低优先级别;当PS=1时,表示串行口中断处于高优先级别。PX0、 PT0、PX1、PT1分别控制外中断0、定时器/计数器0、外中断1、定 时器/计数器1中断源的中断优先级别,详见本书第5章介绍。

单片机原理及应用 第14讲 串行口及习题

单片机原理及应用 第14讲 串行口及习题
单片机串行口的控制寄存器
1.寄存器PCON
• PCON的各位的定义和功能如下: • 当SMOD=l时,方式1、2、3的波特率加 倍,否则不加倍。
PCON D7 SMOD D6 D5 D4 D3 GF1 D2 GF0 D1 PD D0 IDL
(87H)
单片机串行口的控制寄ቤተ መጻሕፍቲ ባይዱ器
• 2.串行口控制寄存器SCON
ORG 0000H • SJMP MAIN • ORG 0023H • LJMP BRSR • ORG 0100H • MAIN: MOV TMOD,#20H • MOV TL1,#0E8H • MOV TH1,#0E8H • SETB TR1 • MOV SCON,#0C0H • MOV PCON,#00H • MOV DPTR,#3000H • MOV R7,#10H • SETB REN • SETB EA • SETB ES • ……

接收程序编程如下:
;设置定时器1为方式2 ;设预置值 ;启动定时器1 ;设置串行口为方式3 ; SMOD=0 ;设置数据块指针 ;设数据块长度 ;允许接收
BRSR: • • • • PZ: YES:
CLR RI MOV A,SBUF JNB PSW.0,PZ JNB RB8,ERR SJMP YES JB RB8,ERR MOVX @DPTR,A DJNZ R7,NEXT • CLR PSW.5 • SJMP SRRET ERR:SETB PSW.5 • DJNZ R7,NEXT • SJMP SRRET NEXT:INC DPTR SRRET:RETI • END
• 3、如果单片机的振荡频率为12MHz,要 求定时器T0工作在方式1,分别实现 50ms、10ms、5ms的定时时间,那么怎 样设置TH0及TL0

第8章 AT89S51单片机的串行口

第8章  AT89S51单片机的串行口
7
(5)RB8—接收的第9位数据 在方式2和方式3时,RB8存放接收到的第9位数据。在方式1, 如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。 (6)TI—发送中断标志位
方式0时,串行发送的第8位数据结束时,TI由硬件置“1”,
在其他工作方式中,串行口发送停止位的开始时,置TI为“1” 。TI=1,表示1帧数据发送结束。TI位状态可供软件查询,也可 申请中断。CPU响应中断后,在中断服务程序向 SBUF写入要发送 的下一帧数据。注意:TI必须由软件清“0”。 (7)RI—接收中断标志位
2
图8-1 串行口的内部结构
3
8.1.1
串行口控制寄存器SCON
串行口控制寄存器 SCON,字节地址98H,可位寻址,位地址 为 98H ~ 9FH ,即 SCON 的所有位都可用软件来进行位操作清 “0”或置“1”。SCON格式见图8-2。
图8-2 串口控制寄存器SCON格式
4
寄存器SCON各位功能: (1)SM0、SM1—串口4种工作方式选择
P1.1脚控制。若SH/LD*=0,则74LS165可以并行输入数据,且
串行输出端关闭;当SH/LD*=1,则并行输入关断,可以向单片 机串行传送。当P1.0连接的开关K合上时,可进行开关S0~S7 状态数字量的并行读入。由图8-8,采用中断方式来对S0~S7状 态读取,并由单片机P2口驱动二极管点亮(开关S0~S7中的任
方式0输出典型应用是串口外接串行输入/并行输出的同步移 位寄存器74LS164,实现并行端口的扩展。 图8-6为串口方式0,通过74LS164输出控制8个外接LED发光二 极管亮灭的接口电路。当串口设置在方式0输出时,串行数据由
RXD端(P3.0)送出,移位脉冲由TXD端(P3.1)送出。在移位脉

第八课51单片机串行口工作原理

第八课51单片机串行口工作原理

第八课:51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。

1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。

其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。

串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。

串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。

发送时,只写不读;接收时,只读不写。

在一定条件下,向阳UF写入数据就启动了发送过程;读SBUf就启动了接收过程。

串行通信的波特率可以程控设定。

在不同工作方式中,由时钟振荡频率的分频值或由定时器Tl的定时溢出时间确定,使用十分方便灵活。

2.串行端口的工作方式①方式08位移位寄存器输入/输出方式。

多用于外接移位寄存器以扩展I/O端口。

波特率固定为fosc/12。

其中,fosc为时钟频率。

在方式0中,串行端口作为输出时,只要向串行缓冲器SBUF写入一字节数据后,串行端口就把此8位数据以等的波特率,从RXD引脚逐位输出(从低位到高位);此时,TXD输出频率为fosc/12的同步移位脉冲。

数据发送前,仅管不使用中断,中断标志TI还必须清零,8位数据发送完后,TI自动置1。

如要再发送,必须用软件将TI清零。

串行端口作为输入时,RXD为数据输入端,TXD仍为同步信号输出端,输出频率为fosc/12的同步移位脉冲,使外部数据逐位移入RxD。

当接收到8位数据(一帧)后,中断标志RI自动置。

如果再接收,必须用软件先将RI清零。

串行方式0发送和接收的时序过程见下图。

单片机第七课--串口

单片机第七课--串口

1、方式2和方式3发送
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7 TB8
停止位
发送前,先根据用户约定的通信协议由软件设置TB8的值, 然后把要发送的数据写入SBUF启动发送过程,先把起始位 0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到 TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移 一位,并由TXD引脚输出。 第一次移位时,停止位“1”移入输出移位寄存器的第9位 上 ,以后每次移位,左边都移入0。当停止位移至输出位时, 左边其余位全为0,检测电路检测到这一条件时,使控制电 路进行最后一次移位,并置TI=1,向CPU请求中断。
一个字符帧 空 闲 起 始 位 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
LSB
MSB
异步通信对硬件要求较低,实现起来比较简单、灵活, 适用于数据的随机发送/接收,但因每个字节都要建立一次同 步,即每个字符都要额外附加两位,所以工作速度较低,在 单片机中主要采用异步通信方式。
2、同步通信 以一串字符为一个传送单位,字符间不加标识位,字符串开 始用同步字符标识(一般约定为1~2个字符),以触发同步时 钟开始发送或接收数据;多字节数据之间不允许有空隙,每位 占用的时间相等;空闲位需发送同步字符。 硬件要求高,通讯双方须严格同步,适用于成批数据传送。 单片机不用该方式。
在单片机的应用中,常用的晶振频率为:12MHz和 11.0592MHz。所以,选用的波特率也相对固定。 常用的串行口波特率以及各参数的关系如表所示。
串行口工作之前,应对其进行初始化,主 要是设置产生波特率的定时器1、串行口控 制和中断控制。具体步骤如下:
确定T1的工作方式(编程TMOD寄存器);

CH7单片机的串行口

CH7单片机的串行口

7.3 串行口工作方式——方式1,异步串行通信方式
起始 D0 D1 D2 D3 D4 D5 D6 D7 停止
波特率可变, 它取决于定时器 T1 的溢出速率及SMOD的状态。 数据 位由 P3.0 (RXD)端接收, 由P3.1(TXD)端发送。
(1) 发送过程。用软件清除 TI后, CPU执行任何一条以 SBUF为目 标寄存器的指令, 就启动发送过程。 一帧信号发送完时, 将置位发送中断 标志TI=1, 向CPU申请中断, 完成一次发送过程。
⑤ RB8 —— 方式2和方式3中要接收的第9位数据。
⑥ TI —— 发送中断标志。
⑦ RI —— 接收中断标志。
D1
TI
99H 发送 中断
D0
RI
98H 接收 中断
① SM0 SM1——串行口工作方式选择位
SM0 SM1 工作方式
功能说明
00
0
同步移位寄存器输入/输出,波特率固定为fosc/12
位地址 9FH 9EH 9DH 9CH 9BH 9AH
功能
工作方式 多机通 接收 发送 接收
选择
信控制 允许 第9位 第9位
① SM0 SM1 —— 串行口工作方式选择位。
② SM2 —— 多机通信控制位。
③ REN —— 允许接收控制位。REN=1,允许接收。
④ TB8 —— 方式2和方式3中要发送的第9位数据。
在方式0时,SM2必须为0。
③REN —允许接收控制位。REN位用于对串行数据的接收进行控制: REN=0,禁止接收;REN=1,允许接收。该位由软件置位或复位。
④TB8 —方式2和方式3中要发送的第9位数据。在多机通信中,以TB8位的 状态表示主机发送的是地址还是数据:TB8=0表示数据,TB8=1表示地址。 该位由软件置位或复位。 TB8还可用于奇偶校验位。 ⑤RB8—方式2或方式3时,RB8存放接收到的第9位数据。 ⑥TI —发送中断标志。当方式0时,发送完第8位数据后,该位由硬件置1。 在其他方式下,遇发送停止位时,该位由硬件置1,表示帧发送结束。 ⑦RI —接收中断标志。当方式0时,接收完第8位数据后,该位由硬件置1。 在其他方式下,当接收到停止位时,该位由硬件置1,表示帧接收结束。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RI
图(b) 方式 0 接收电路及时序
串行口方式0的应用(P150,P169)
• 串行口扩展的键盘
vcc vcc
8051 RXD TXD
9 2 1
74HC165
D0 D1 D2 D3 D4 D5 D6 D7

• • • • •
ORG 0100H START: CLR P1.0 ;载入数据 NOP; NOP; SETB P1.0;数据输出
2. 串行口方式1的应用
例 : 通 过 MCS-51 串 行 口 发 送 带 存 放 在 片 内
RAM 20H~3FH中的数据,要求传送的波
特率为1200bps。编写有关的通信程序。
fosc=11.0592MHz。
分析:
设串行口为方式1,定时器/计数器T1为方式2作为串 行口的波特率发生器。可以避免计数溢出后用软件重装定 时初值的工作。
MOV TMOD,#20H
MOV TL1,#0E8H MOV TH1,#0E8H SETB TR1 MOV R0,#20H MOV R7,#32 LOOP: ACALL SP_IN
;设置定时器T1为方式2
;初值,波特率为1200b/s ;启动T1运行 ;数据存放首地址 ;数据块长度 ;调用接收一帧子程序
• 附加第9位(D8)由软件置1或清0。发送时在TB8中,接收
时送RB8中。
• 方式2的波特率是固定的,为振荡器频率的1/32或1/64。 • 方式3的波特率则由T1的溢出率决定,可用程序设定。 • 方式2和方式3的发送、接收时序如图所示。其操作与方式1 类似。
只有当REN=1时,才能对RXD进行检测。
同步 字符1 起始
同步 字符2
数据块(若干字节)
校验 符1
校验 符2 结束
串行通信的波特率
波特率(band rate)是异步通信中每秒钟传送的二进制 数码的位数(比特数),单位是位/秒。 作用:1、反映串行通信的速率;
2、反映对传输通道的要求:波特率越高,要求的传输
通道的频带宽度就越宽。 异步通信:波特率为每秒传送的字符数和每个字符位数 的乘积。
取SMOD=0 ∴(TH1)=232=0E8H
主程序:
ORG 0100H MOV TMOD,#20H ;设T1为方式2 MOV TL1,#0E8H ;T1定时常数 MOV TH1,#0E8H SETB TR1 ;启动T1 MOV SCON,#01000000B;设串行口为方式1 MOV R0,#20H ;设发送数据区首址 MOV R7,#32 ;发送32个ASCII码数据 LOOP:MOV A,@R0 ;取ASCII码数据 ACALL SP_OUT ;调用串行口发送子程序 INC R0 ;未发送完,则继续 DJNZ R7,LOOP …
置RI为1;否则,这次接收无效,也不置位RI。
例:编制一个发送程序,将片内RAM中50H—5FH的数据串 行发送。串行口设定为工作方式2,TB8作奇偶校验位。 发送波特率375 kb/s,晶振为12 MHz, SMOD=1。 解:在数据写入发送SBUF之前,先将数据的奇偶标志P写入 TB8,此时,第9位数据便可作奇偶校验用。可采用查询和 中断两种方式发送。
74LS165
74LS165是一个并行输入串行输出的移位寄存器。
其中A ,B,C,D,E,F,G,H 并行输入端。 QH串行输出端。 CLOCK:时钟输入端。 CLOCK INHIBIT:时钟禁止端。当时钟禁止端CLK2为低电平时,允 许时钟输入。 SHIFT/LOAD:移位与置位控制端。 SER:扩展多个74LS165的首尾连接端。
MAIN:
LOOP:
WAIT: CONT:
ORG AJMP ORG MOV MOV MOV MOV MOV MOV MOV MOV JBC AJMP INC DJNZ SJMP END
0000H MAIN 0100H SCON,#80H PCON,#80H R0,#50H R7,#10H A,@R0 C,P TB8,C SBUF,A TI,CONT WAIT R0 R7,LOOP $
6.3 串行口的 4 种工作方式
• 方式的选择由SM0 、 SM1实现。 • 四种方式的比较: 工作方式
方式0
功能
8位同步移位寄 存器
说明
常用于扩展I/O 口 起始位0、 8位 数据、结束位1 起始位0、 8位 数据、奇偶校验 位和结束位1 同上
波特率
fosc/12 可变(取决于定 时器1溢出率) fosc/64或 fosc/32 可变(取决于定 时器1溢出率)
源程序如下:
MAIN: MOV SCON ,#080H ;串行口工作于方2;REN=1,可接收 MOV PCON ,#80H ;设SMOD=1 MOV R0,#50H ;首址50H送R0 MOV R7,#10H ;数值长度送R7 SETB REN ;启动接收 WAIT: JBC RI ,PR1 ;接收完一帧数据,清RI, 转PR1 SJMP WAIT ;否则等待 PR1: MOV A ,SBUF ;读入数据 JNB P ,PNP ;P=0,转PNP JNB RB8 ,ERR ;P=1,RB8=0,转出错处理 SJMP RIGHT PNP: JB RB8 ,ERR ;P=0,RB8=1,转出错处理 RIGHT: MOV @R0 ,A ;数据送内存 INC R0 ;修改地址指针 DJNZ R7 ,WAIT ;数据未接收完, ;继续接收下一个数据 CLR F0 ;置正确接收完毕标志F0=0 SJMP ENDT ERR: SETB F0 ENDT: SJMP $
6.2 MCS-51串行口的结构
MCS-51有一个可编程的全双工串行通信接
口,可作为通用异步收发器(UART),也可作 为同步移位寄存器。它的帧格式有8位、10位和 11位,可以设置为固定波特率和可变波特率, 给使用者带来很大的灵活性。
内部总线 8 发送 SBUF (99H) 门 串 行 控 制 寄 存 器 (98H) SCON RXD(P3.0) TXD(P3.1)
SBUF和RB8(RB8装入停止位),并置位RI,通知CPU
取数据;如果不满足,接收到的数据不能装入SBUF,这 意味着该帧信息将会丢失。
两个单片机之间的通信
• 通信协议:数据格式、校验方式
• 波特率 • 硬件连接
RXD 8051 应用系统 (甲) TXD GND TXD RXD GND 8051 应用系统 (乙)
串行口方式0的应用(P150,P169)
• 串行口扩展显示器 • 【例1】用8位串入并出移位寄存器74HC164扩展 显示器。
TXD
74HC164 74HC164
D Q1Q0 Q7 (1) Q1Q0 D Q7
74HC164
(7) Q1Q0
RXD
D Q7
(0)
8051
(0)
(1)
(7)
+5V
编写程序实现:
方式1
方式2 方式3
10位UART
11位UART 11位UART
1.串行口方式0 — 同步移位寄存器方式 方式0以8位数据为一帧,不设起始位和停止位, 先发送或接收最低位。其帧格式如下:
• 串行数据通过RXD输入或输出,而TXD用于输出 移位时钟,作为外接部件的同步信号。
• 这种方式不适用于两个8051之间的串行通信,但 可以通过外接移位寄存器来实现单片机的I/O接口 扩展。
串行口发送子程序:
SP_OUT:MOV
JNB CLR
SBUF,A
TI,$ TI
;带校验位发送
;发送等待 ;清TI标志
RET
例:B机由串行口接收数据块。 解:采用查询方式,本例与上例相呼应,接 收器把接收到的32个数据存放在20H-
3FH单元内,波特率同上。
主程序:
MOV SCON,#01010000B ;设串口方式1,允许接收
MOV
INC
@R0,A
R0
;存放接收的数据
DJNZ R7,LOOP
……
接收一,$
CLR RI MOV A,SBUF RET
;RI由硬件置位
;软件清除RI
3.串行口方式2和3 — 11位UART
• 方式2和方式3以11位为1帧传输,设有1个起始位(0),8个数 据位,1个附加第9位和1个停止位(1)。其帧格式为:
• 串行口方式1的发送和接收时序如图(a)和(b)所示。
只有当REN=1时,才能对RXD进行检测。
方式 1 发送和接收时序
接收有效的两个条件:
①RI=0。即上一帧数据接收完成时,RI=1发出的中断请求
已被响应,SBUF中数据已被取走。由软件使RI=0,以便 提供“接收SBUF已空”的信息。 ②SM2=0或收到的停止位为1(方式1时,停止位进入RB8)。 满足上述两个条件,将接收到的数据装入串行口的

CLR P1.1;允许时钟输入
TAB: AJMP OPR0 AJMP OPR1 … AJMP OPR7
• RCVI: MOV SCON,#10H • JNB RI,$ • CLR RI • MOV A,SBUF • …;判断键值,散转 • OPR0: …
LJMP START
2.串行口方式1 — 10位UART
;上电,转向主程序 ;主程序 ;设工作方式2 ;取波特率为fosc/32 ;首址50H送R0 ;数值长度送R7 ;取数据 ;P→C ;奇偶标志送TB8 ;发送数据 ;等待中断标志TI=1
;数值尚未发送完, 继续发送下一个数据
例:编制一个接收程序,将接收的16B数据 送入片内RAM的50H-5FH单元中。设串 行口工作在方式2,波特率为375bps。 解:
方式2、方式3发送和接收时序
发送过程
• 发送前,先根据通信协议由软件设置TB8(如作奇偶校验
相关文档
最新文档