单片机的串行口
单片机原理及应用第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单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。
51单片机串行通信接口

工 作 方 式 选 择 位
多允 机许 通接 信收 控控 制制 位位
发 接发接 送 收送收 数 数中中 据 据断断 第 第标标 九 九志志 位位
北京交通大学
18
各位功能说明如下: SM0 SM1:串口工作方式选择位
00 方式0: 同步移位寄存器 波特率=主振频率/12
01 方式1: 8位异步,波特率可变
⑵在双机通信中,该位作为奇偶校验位; ⑶在多机通信中用来表示D7-D0是地址帧或数据帧
即:
D8=0:表示数据帧; D8=1:表示地址帧
北京交通大学
20位是接收到的第9位数据。 方式1,SM2=0,停止位。方式0,不用。
⑵在多机通信中是地址帧(RB8=1)和数据帧 (RB8=0)的标识位。
北京交通大学
34
方式2、3的区别是:波特率设置不同 方式2的波特率是固定的。即:
波特率=fosc/32或fosc/64 方式3的波特率是可变的。即:
波特率 2smod
fosc
32 12 (256 X )
X
256
fosc (2s mod ) 384 波特率
北京交通大学
35
表1 波特率与时间常数
第6章 串行通信接口
本章主要内容 • 串行数据通信基本原理 • MCS-51单片机串行口 • 串行口应用举例
北京交通大学
1
一、串行数据通信基本原理
计算机的两种方式数据传送:并行和串行
并行传送的特点:
各数据位同时传送,传送速度快、效率高。
但需要的数据线多,因此传送成本高。并行数据
传送的距离通常小于30米。
3.直到停止位到来之后把它送入到RB8中,并 置位RI,通知CPU从SBUF取走接收到的一个字符。
单片机串行口的工作原理

单片机串行口的工作原理一、引言单片机串行口是单片机与外部设备进行通信的一种重要方式。
它通过串行通信协议将数据从单片机发送到外部设备或从外部设备接收数据并传输到单片机。
本文将详细介绍单片机串行口的工作原理。
二、串行通信协议1. 串行通信概述串行通信是指在同一时间内,只有一个比特(bit)被传输的通信方式。
与之相对的是并行通信,它可以同时传输多个比特。
由于现代计算机系统中各种设备间需要大量数据交换,因此串行通信成为了广泛应用的一种通讯方式。
2. 常见的串行通信协议常见的串行通信协议有RS232、RS485、I2C和SPI等。
其中,RS232是最早广泛使用的标准,用于在计算机和调制解调器之间进行数据传输。
RS485则是一种多点连接的标准,适用于在远距离范围内进行数据传输。
I2C和SPI则主要用于芯片级别的短距离数据传输。
三、单片机串口硬件结构1. 串口芯片在单片机系统中,使用专门的UART(Universal Asynchronous Receiver/Transmitter)芯片来实现串口通信。
UART芯片包括发送和接收两个模块,可以将单片机的并行数据转换为串行数据进行传输,并将接收到的串行数据转换为单片机可以处理的并行数据。
2. 串口引脚在单片机中,通常有两个引脚用于串口通信,分别为TX(发送)和RX(接收)。
这些引脚通过芯片内部的寄存器进行控制,以实现对串口的配置和控制。
3. 波特率发生器波特率是指在单位时间内传输的比特数。
在单片机中,使用波特率发生器来控制UART芯片的工作频率,从而实现不同波特率下的数据传输。
四、单片机串口软件实现1. 串口初始化在使用单片机进行串口通信之前,需要先对串口进行初始化。
这包括设置波特率、校验位、停止位等参数,并启动UART芯片以使其准备好接收或发送数据。
2. 串口发送当需要向外部设备发送数据时,在单片机中可以通过向TX引脚写入相应的比特序列来实现。
在发送前需要检查TX缓冲区是否为空,并等待直到缓冲区为空后再进行下一次传输。
单片机原理及应用串行口

单片机原理及应用串行口单片机是一种集成电路芯片,具有处理器核心、内存、定时器/计数器、输入/输出口等功能。
它采用单一芯片封装,具有体积小、功耗低、性价比高等优点,广泛应用于嵌入式系统、电子设备控制等领域。
串行口是单片机的一种重要接口,它通过串行通信协议实现与外部设备的数据交换。
串行口的主要特点是一次只能传输一个比特的数据,传输速率相对较慢,但传输距离较远,能够满足长距离数据传输的需求。
串行口的应用非常广泛,下面将从基本原理、工作方式和应用场景三个方面进行详细介绍。
1. 基本原理串行口基于串行通信协议,通过发送和接收两个引脚来实现与外部设备的数据交换。
串行口的发送和接收部分需要配合串行通信协议进行设置,包括数据位数、停止位数、奇偶校验位等。
2. 工作方式串行口的工作方式一般分为同步和异步两种模式。
同步模式中,数据传输的速率由外部计时器控制,发送和接收双方需要在同一时钟脉冲上进行数据传输;异步模式中,数据传输的速率由波特率发生器控制,发送和接收双方根据起始位和停止位进行数据传输。
3. 应用场景串行口广泛应用于各种嵌入式系统和电子设备控制中,以下是几个典型的应用场景:(1) 通信设备串行口可用于实现与计算机之间的数据交换,如通过串口与计算机进行数据通信、调试和程序下载等。
同时,串行口还可以与无线模块或蓝牙模块等外部设备配合,实现远程无线通信。
(2) 外设控制串行口可以控制各种外部设备,如继电器、数码管、液晶显示屏等。
通过串行口发送指令或数据,控制外部设备的状态和显示。
(3) 传感器数据采集串行口可以接收和解析各种传感器的数据,如温度传感器、湿度传感器、光照传感器等。
通过串行通信协议,将传感器采集到的数据发送给单片机进行处理和存储。
(4) 工业控制串行口广泛应用于工业领域的数据采集和控制系统中。
通过串行口,可以实现与各种传感器、执行器的数据交换和控制,如温湿度检测系统、智能电表系统等。
(5) 仪器仪表串行口可以连接到各种仪器仪表上,实现数据的采集和控制。
串行口工作方式2、3及应用举例

二■方式2. 3的应用
▼主从式多机通信:
▼该通信系统中,每个从机有不同的地址;主机与各从机之间能实现 双向通信,而各从机之间不能直接通信,只能通过主机才能通信。
二■方式2. 3的应用
主从式多机通信过程: ▼初始化时令主机的SM2=0,所有从机的SM2=REN = 1; ▼主机在TB8=1时向所有从机发送n号从机的地址; ▼所有从机都收到该地址帧,只有n号从机修改本机的SM2=0 ; ▼主机在TB8=0时发送数据帧,但只有n号从机能够接收到数据信息。 ▼主机与n号从机之间的数据通信完成后,n号从机应重新设定SM2 = 1, 以便等待下一次通信。
-PS.T.'T! D
-
1
R国Pg円
再机
19_ ;:EL1
15_ 5_
PSEN ALE
■
FAL1 EL2 RST
31 卩UFN
fete
ALE
LED-RED _EA
ponton PO.t'ftDI
PQ3 时
D3 PO.^ftDi PO-S^DS PO.&P.D 6 PO.TJP.D T
P2DPS P2.1.-P3 P22'Ain
例:由三个单片机组成主从式多机通信系统,其中A为主机,B、C为从机。
硬件连接图为:
要求实现: A机的按键按第一次,A机的LED灯亮1秒,同时 A机的两个数码管分别显示〃0”和“A”;
按第二次,B机的LED灯亮1秒,同时A机的两个 4 R1
数码管分别显示“1”和“b”;
zu R2
按第三次,C机的LED灯亮1秒,同时A机的两个
单片机的串行口 -串行口方式2、3及应用
杨凌雪教授河南理工大学
—■方式2. 3的功能特点
51单片机串行口的工作方式

hgfedcba
a
fg b
e
c
dh
共阳极
累加器 A hgfedcba
0C0H = “0”
0B0H = “3”
例:利用串行口工作方式0扩展出8位并行I/O 口,驱动共阳LED数码管显示0—9。
VCC TxD RxD
☞方式2的波特率 = fosc 2SMOD/64 即: fosc 1/32 或 fosc 1/64 两种
☞奇偶校验是检验串行通信双方传输的数据正确与 否的一个措施,并不能保证通信数据的传输一定正 确。
换言之:如果奇偶校验发生错误,表明数据传输 一定出错了;如果奇偶校验没有出错,绝不等于数 据传输完全正确。
☞ REN:串行口接收允许位。 REN=1 允许接收
☞ TB8,RB8,TI,RI等位由运行中间的情况 决定,可先写成 “0”
三、工作方式2: 9位UART(1+8+1+1位)两种波特率
☞由于波特率固定,常用于单片机间通讯。 数据由8+1位组成,通常附加的一位 (TB8/RB8)用于“奇偶校验”。
☞ 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。
☞ 波特率 =
2SMOD fosc 32 12(2n - X)
其中:X 是定时器初值
☞ 初值 X = 2n -
2SMOD fosc 32 波特率 12
常用波特率和T1初值查表
☞表格有多种, 晶振也不止一种
串口波特率 (方式1,3)
74LS164
hgfedcba
A B
CLK
CLR
74LS164
单片机 串行口精讲

方式0接收时序 图7-7 方式 接收时序
20
(2)方式 接收应用举例 )方式0接收应用举例 为串行口外接两片 图7-8为串行口外接两片 位并行输入串行输出的寄存器 为串行口外接两片8位并行输入串行输出的寄存器 74LS165扩展两个 位并行输入口的电路。 扩展两个8位并行输入口的电路。 扩展两个 位并行输入口的电路 端由高到低跳变时, 当74LS165的S/ L 端由高到低跳变时,并行输入端的数 的 据被置入寄存器;当S/ L = 1,且时钟禁止端(第15脚)为 据被置入寄存器; , 时钟禁止端( 脚 低电平时 允许 低电平时,允许TXD(P3.1)串行移位脉冲输入,这时在 ( )串行移位脉冲输入, 移位脉冲作用下,数据由右向左方向移动, 串行方式进 移位脉冲作用下,数据由右向左方向移动,以串行方式进 入串行口的接收缓冲器中。 入串行口的接收缓冲器中。
11
SCON的所有位都可进行位操作清“0”或置“1”。 的所有位都可进行位操作清“ ”或置“ ” 的所有位都可进行位操作清 7.1.2 特殊功能寄存器 特殊功能寄存器PCON 字节地址为 所示。 字节地址为87H,不能位寻址。格式如图7-3所示。 ,不能位寻址。格式如图 所示
图7-3
特殊功能寄存器PCON的格式 特殊功能寄存器 的格式
方式0的帧格式 图7-4 方式 的帧格式
14
1.方式0发送 .方式 发送 (1)方式 发送过程 )方式0发送过程 当CPU执行一条将数据写入发送缓冲器 写入发送缓冲器SBUF的指令 的指令时, 写入发送缓冲器 的指令 产生一个正脉冲,串行口开始把SBUF中的8位数据以 产生一个正脉冲 fosc/12的固定波特率 的固定波特率从RXD引脚串行输出,低位在先, TXD TXD引脚输出同步移位脉冲,发送完8位数据,中断标志 发送完8位数据 发送完 位数据, 所示。 位TI置“1”。 发送时序如图7-5所示 置 ” 所示
单片机串行口几种工作方式的波特率

单片机串行口几种工作方式的波特率单片机串行口是单片机与外部设备进行通信的重要接口之一。
在串行口通信中,波特率是一个关键参数。
波特率是指每秒钟传送的波特数量,用于衡量数据的传输速率。
单片机串行口的波特率通常选择常见的标准波特率,例如9600、19200、38400等。
单片机串行口的工作方式有多种,下面将详细介绍几种不同的工作方式下的波特率设置。
1. 同步串行口同步串行口是指在传输数据时,发送端和接收端通过一个时钟信号来同步数据的传输。
在同步串行口中,波特率的设置是固定的,因为发送端和接收端需要以相同的波特率来同步数据传输。
常见的同步串行口波特率包括115200、230400等。
2. 异步串行口异步串行口是指在传输数据时,发送端和接收端通过起始位、停止位来进行数据的同步。
在异步串行口中,波特率的设置是非常重要的,因为发送端和接收端需要以相同的波特率来正确解析数据。
常见的异步串行口波特率包括9600、19200、38400等。
3. 高速串行口随着单片机技术的进步和应用的广泛,对串行口的传输速率要求也越来越高。
高速串行口通常指的是波特率在1Mbps及以上的串行口。
高速串行口通常应用于需要大量数据传输的场景,例如高速数据采集、图像传输等。
4. 自适应波特率有些情况下,单片机需要与多种速率不同的设备通信,这就需要单片机具备自适应波特率的能力。
自适应波特率指的是单片机可以根据外部设备的对应波特率来自动调整自身的波特率。
这种方式可以极大地提高单片机的通信灵活性和适用性。
在实际应用中,程序员需要根据具体的通信需求选择合适的波特率,并在程序中进行相应的设置和配置。
还需要注意波特率的选取要与外部设备相匹配,以确保数据的正确传输和解析。
通过上述对单片机串行口几种工作方式的波特率的介绍,我们可以更好地理解单片机串行口通信中波特率的重要性以及不同工作方式下的波特率设置方法。
在实际应用中,合理选择和设置波特率将有利于提高通信的可靠性和稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=1200波特(bps).每一位代码的传送时间Td=1/ 1200=0.833ms • 波特率是衡量传输通道频宽的指标,它和传送数据的速率并不一 致。例如上例中,因为除掉起始位和终止位,每一个数据实际只 占8位,所以数据位的传送速率为:8×120=960位/秒 • 异步通讯的传送速度在50~19200波特之间。常用于计算机到终 端机和打印机之间的通信、直通电报以及无线电通讯的数据发送 等。
REN :串行接收使能位,软件置 1 时,启动接 收过程
TB8:多机方式发送的第9位
多机方式的地址/数据帧标志。也可作为奇偶 校验位
RB8:多机方式接收的第9位
多机方式的地址/数据帧标志。也可作为奇偶校验位
TI:发送中断标志位,要由软件清0 RI:接收中断标志位,要由软件清0
方式2和方式3:11位帧,用于多机通信
SM2 —— 多机通信控制位(方式2和3) • SM2 = 0,无多机通信
• SM2 = 1,允许多机通信
REN —— 串行口接收数据控制
• REN = 1,允许串行口接收数据 • REN = 0,禁止串行口接收数据 • 由软件置位或清
• TB8 —— 发送串行输出数据的第 9
双机通信时它可作奇偶校验位;在多机通信中可作为 区别地址帧或数据帧的标识位。
• SM2=1时,接收机处于地址帧筛选状态。若 RB8=1,该地址帧信息可进入SBUF,并 使RI为1,进而在中断服务中再进行地址号 比较;若RB8=0,该帧不是地址帧,应丢掉, 且保持RI=0。 SM2=0时,接收机处于地址帧筛选被禁止状 态。不论收到的RB8为0或1,均可以使收 到的信息进入SBUF,并使RI=1。此时的 RB8通常为校验位。
SMOD=0
装载SBUF 输入移位寄存器
RI
• 8051通过引脚RXD(P3.0,串行口数据接收端)和引 脚TXD(P3.1,串行口数据发送端)与外界进行通信。 • 图中有两个物理上独立的接收、发送缓冲器SBUF, 它们占有同一个地址99H,可同时发送、接收数据。 发送缓冲器只能写入,不能读出;接收缓冲器只能 读出不能写入。 • 串行发送与接收的速率与移位时钟同步。8051用定 时器T1作为串行通信的波特率,T1溢出率经2分频 (或不分频)又经16分频作为串行发送或接收的移 位脉冲。移位脉冲的速率即是波特率。 • 串行口的发送和接收都是以特殊功能寄存器SUBF的 名义进行读或写的,当向SUBF发“写”命令时(执 行MOV SBUF, A 指令)即是向发送缓冲器SBUF装 载并开始由TXD引脚向外发送的一帧数据,发送完 便使发送中断标志位TI=1
8.2单片机串行口的结构与工作原理
• 51系列单片机的串行口是什么? 串行口是一个可编程的全双工串行通信接口,通过软件编程,它可以作通用 异步接收和发送器UART用,也可以作同步移位寄存器用。 • 串行口结构框图:(Pg157)
8
发送SBUF(99H)
门
TXD(P3.1) 串 寄 行 存 控 器 制 SCON (98H)
串行口的应用
串行口初始化编程格式:
SIO:MOV SCON,#控制状态字 ;写方式字且 TI=RI=0 ( MOV PCON,#80H ) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES)
串行口的结构
MCS-51 单片机串行接口的硬件
P3.0 位的第二功能 —— 收端 RXD P3.1 位的第二功能 —— 发端 TXD
MCS-51 单片机串行接口的控制
寄存器 SCON、PCON、SBUF 寄存器 IE、IP
串行口控制寄存器SCON
SM0、SM1 —— 串行接口工作方式定义位 • SM0、SM1 = 00 —— 方式 0,8位同步移位寄存器 • SM0、SM1 = 01 —— 方式 1,10 位异步接收发送 • SM0、SM1 = 10 —— 方式 2,11 位异步接收发送 • SM0、SM1 = 11 —— 方式 3,11 位异步接收发送 注意: 方式 0 的特点,方式 2、方式 3 的差异
多机通信
• 多个MCS-51单片机可以利用串行口进行多机通信。在 多机通信中要保证主机与所选择的从机实现可靠地通信, 必须保证串行口具有识别功能。 • 控制寄存器SCON的SM2位就是为满足这一条而设置 的多机通信控制位。 • 原理:在串行口以方式2(或方式3)接收时,若SM2=1, 表示置多机通信功能位,此时可能出现两种情况: 接 收到的第9位数据为1时,数据才装入SBUF,并置中断 标志RI=1,向CPU发出中断请求。 接收到的第9位数 据为0时,则不产生中断标志,信息抛弃 • 若SM2=0,则接收到的第9位数据不论为0还是1,都 产生RI=1中断标志,接收到的数据装入SBUF。(104)
电源控制寄存器PCON
SMOD :波特率倍增位。在串行口方式 1 、方式 2 、 方式3时,波特率与SMOD有关,当SMOD=1时,波特 率提高一倍。复位时,SMOD=0。
1帧共11位 空 闲 起 始 位 D0 LSB 数据位9位 D7 MSB 停 止 位 空 闲
RB8/TB8
起始位:1位 数据位:9位 停止位:1位 (104)
2.80C51串行口的控制寄存器
串行口控制寄存器SCON
计算波特率
方式0为固定波特率:B=fosc/12 方式2可选两种波特率: B=(2SMOD /64)×fosc 方式1、3为可变波特率,用T1作波特率发生器。 B=(2SMOD/32)×T1溢出率 T1为方式2的时间常数: X = 28 - t/T 溢出时间: t= (28 -X)T = (28 -X)×12/ fosc T1溢出率=1/t= fosc /[12×(2n -X)] 波特率B=(2SMOD /32)×fosc/[12×(28-X)] 串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。 T1选方式2: TH1= X = 28 - fosc/12×2SMOD/(32×B) T1选方式1用于低波特率,需考虑T1重装时间常数时间。 也可选工作方式3。
例:主机向02号从机发送50H~5FH中的数 据;02号从机将接收到的数据放到内 RAM30H ~ 3FH单元中。
• 主机程序:
• ORG 0030H • MAIN:MOV SCON , # 98H • M1: MOV SBUF , # 02H • L1: JNB TI,$ • CLR TI • JNB RI,$ • MOV A,SUBF • XRL A,#02H • JZ RHT • AJMP M1
内 部 中 断 总 线
定时器T1
发送控制器 分 频 器Βιβλιοθήκη TIRI1
中断
Fosc/2 波特率发生器
接收控制器
8
接收SBUF(99H)
输入移位寄存器
RXD(P3.0)
波特率
• 什么是波特率? • 波特率,即数据传送率,表示每秒钟传送二进制代码的位数,它 的单位是位/秒. • 波特率对于CPU与外界的通信是很重要的:假设数据传送率是 120字符/秒,而每个字符格式包含十个代码(一个起始位、一个
器 T1 接收控制器 RI
TXD
SBUF
移位寄存器
RXD
串行口内部结构示意简图
移位时钟
T1 fosc
1 12
TXD(P3.1) 1/16 发送SBUF(99H)
写SBUF 内部BUS
SMOD=1
TH1 TL1
读SBUF 接收SBUF(99H)
T1溢出率 1/2 PXD(P3.0)
1 12 1 2
1/16
(1)主、从机均初始化为方式2或方式3,置SM2
=1,允许中断。 (2)主机置TB8=1,发送要寻址的从机地址。 (3)所有从机均接收主机发送的地址,并进行地 址比较。 (4)被寻址的从机确认地址后,置本机。SM2= 0,向主机 返回地址,供主机核对。 (5)核对无误后,主机向被寻址的从机发送命令, 通知从机接收或发送数据。 (6)通信只能在主、从机之间进行,两个从机之 间的通信需通过主机作中介。 (7)本次通信结束后,主、从机重置SM2=1, 主机可再对其他从机寻址。
特殊功能寄存器
• 串行数据传送速率控制寄存器 —— PCON
地址:
SMOD = 0,定义波特率不 SMOD = 1,定义波特率加 注:PCON 寄存器的地址为87H, 仅 b7 位有用,不可位寻址 ANL PCON,#7FH:对SMOD位清 ORL PCON,#80H:对SMOD位置
TDL:等待方式 PD:掉电方式 GF1、 GF2通用标志位
• 接收器是双缓冲结构,在前面一字节被从接收缓冲器 SBUF读出之前,第二字节即开始被接收(串行输入 至移位寄存器)但是,在第二字节接收完毕而前一字 节CPU未读取时,会丢失前一字节。 • 在满足串行口接收中断标志位RI(SCON.0)=0的条件 下,置允许接收位REN(SCON.4)=1就会启动接收一 帧数据进入输入移位寄存器,并装载到接收SBUF中, 同时使RI=1.当发读SBUF命令时(执行MOV A , SBUF指令),即是有接收缓冲器(SBUF)取出信息 通过8051内部总线送CPU. • 对于发送缓冲器,因为发送时CPU是主动的,不会 产生重叠错误,一般不需要用双缓冲器结构来保持最 大传送速率。
RHT :CLR TB8 MOV R0,#50H M1: MOV R7,# 10H L3: MOV A,@R0 MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,L3 AJMP MAIN END
• • • • • • • • • • • • • •
从机程序: SR3 :JNB RI,$ ORG 0030H CLR RI MAIN: MOV R0,#30H MOV R6,#10H JNB TB8,RHT SI: MOV SCON,#0B0H SETB SM2 SR1: JNB RI,$ SJMP SR1 CLR RI RHT: MOV A,SBUF SR2: MOV A,SUBF MOV @R0 , A XRL A,#02H INC R0 JNZ SR1 CLR SM2 DJNZ R6,SR3 MOV SBUF,#02H AJMP SI JNB TI,$ END CLR TI