mcs-51 单片机内部 接口电路

60
MCS-51 单单单单单 单单单单 4. 4.

Upload: lixue

Post on 21-Jan-2016

156 views

Category:

Documents


0 download

DESCRIPTION

MCS-51 单片机内部 接口电路. 4. 接口基本概念. 1. 中断与中断系统. 2. 定时 / 计数器. UART 串行输入输出接口. 3. 5. 并行输入输出接口. 串行通信. 4. 6. 程序设计的基本技术. 接口电路的功能. 接口控制原理. 串行接口. 并行接口. 4.1 接口基本概念. 4.1.1 接口电路的功能. 接口电路是一组电路,是中央处理器与存储器、输入输出设备之间协调动作的 控制电路 。 简单的说,接口电路是在两个电路或设备之间,使两者动作相配合的 连接电路 。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MCS-51 单片机内部 接口电路

MCS-51 单片机内部接口电路

4.4.

Page 2: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

程序设计的基本技术

接口基本概念1

中断与中断系统2

定时 / 计数器3

并行输入输出接口4

UART 串行输入输出接口5

串行通信6

Page 3: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1 接口基本概念

接口电路的功能

接口控制原理

串行接口

并行接口

Page 4: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.1 接口电路的功能 接口电路是一组电路,是中央处理器与存储器、输入输出设备之间协调动作的控制电路。 简单的说,接口电路是在两个电路或设备之间,使两者动作相配合的连接电路。 接口电路的作用就是将来自外部设备的数据信号传送给微处理器,微处理器对数据进行适当加工,再通过接口电路传回外部设备。• 地址译码• 数据缓存• 信息转换• 提供命令译码和状态信息• 定时和控制

Page 5: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.2 接口控制原理1. 数据传送方式 并行数据传送 并行数据的每一位都对应独立的传输线路 速度快 线路多 只适用于较短距离的数据传送 串行数据传送 串行数据是将构成字符的每个二进制数据位,按一定的顺序逐位进行传送的方式 单向传送只需一根数据线、一个信号线和一根应答线即可(多微机通信时,我们可以自定义 3 线通信机制)。 远距离传输比并行经济,但控制较为复杂

Page 6: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.2 接口控制原理2. 传送控制方式 查询方式 中央处理器随时询问接口,数据传送完否或数据准备好否。(费时) 中断方式 中断方式下,接口在数据发送数据完毕或接收数据准备好时再通知中央处理器,中央处理器再发送或接收数据。(效率高) DMA 方式( Direct Memory Access ) 即数据不经过中央处理器在存储器和外设之间直接传送的操作方式。适合大量数据传送,控制复杂。

Page 7: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.3 串行接口1. 通用异步接收器和发送器 UARTUART 是一个能异步传输的数据总线。TXD :发送数据线RXD :接收数据线 接收和发送可以单独进行,也可以同时进行。 格式严格:每个数据以相同的位串形式传输。 每个串行数据由起始位、数据位、奇偶校验位组成。 从起始到停止位结束时间称为一帧 (frame) 。

Page 8: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.3 串行接口UART 格式① 起始位:在通信线上没有数据被传送时处于逻辑 1 状态,当要发送数据时,首先发出一个逻辑 0 信号,这个逻辑 0 信号就是起始位。② 数据位:起始位后位。数据位的个数可以是 5~9 位, MSC-51 中常采用 8 位或 9 位数据传送,从最低有效位开始发送。③ 奇偶校验位:检测有限差错。 偶校验:组成数据位和奇偶位的逻辑 1 个数必须是偶数。 奇校验:逻辑 1 的个数必须是奇数。④ 停止位:停止位是一个字符数据的结束标志,可以是 1 位、 1.5 位或 2 位的逻辑 1 。停止位后,通信线又恢复逻辑 1 状态。

Page 9: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.3 串行接口UART 格式波特率 异步通信传输的所有位信号必须保持一致的信号持续时间。每一位的宽度由数据的传输速度决定。 波特率:每秒传输多少个二进制位 波特率 = 1/ 信号持续时间 接收设备和发射设备需要保持相同的传送波特率。

Page 10: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.3 串行接口2. 串行外设接口 SPI 4 线全双工串行总线,可以有多个主器件,支持在同一总线上将多个从器件连接到一个主器件。① MOSI :主从输入线,当 SPI 作为主器件时,该信号是输出,当 SPI 作为从器件时,该信号是输入。传输时,高位在前,低位在后。② MISO :主从输出线,当 SPI 作为主器件时,该信号是输入,当 SPI 作为从器件时,该信号是输出。当 SPI未被选中时, MISO 为高阻态。③ SCK :串行时钟线。主器件产生并输出,作为从器件的输入,用于同步主器件和从器件之间的在 MOSI 和 MISO 线上的串行数据传输。④ NSS :从选择线。主器件用它来选择处于从方式的 SPI 器件。

Page 11: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

SPI 串行总线在 MCS-51 系列单片机中的实现

Page 12: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.3 串行接口3. I2C 总线 双线的半双工串行总线,可以有多个主器件,支持

在同一总线上将多个从器件连接到一个主器件。

① I2C 是一个双线的双向串行总线。 I2C 上可以有多个主器件,并允许一个主器件同时访问多个从器件。 两种数据的传输,都由主器件启动,并提供时钟。 2 个信号:时钟线: SCL, 数据线: SDA.

② I2C 传输一次数据包括一个起始命令 START 、一个地址字节、一个或多个数据字节和一个停止命令 STOP 。

③ 每个地址字节和每个数据字节后面都跟随一个来自接收器的确认位 ACKNOWLEDGE 。

④ 地址字节包括一个 7 位的地址和一个方向位 R/W( 最低位, 1 为读操作, 0 为写 ).

Page 13: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

应用应用

Page 14: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.1.4 并行接口

Page 15: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2 中断与中断系统

中断和中断处理过程

MCS-51 中断系统

中断扩展

Page 16: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.1 中断和中断处理过程

1. 中断的概念 CPU在处理某一事件 A时,发生了另一事件 B请求 CPU迅速去处理 (中断发生 ); CPU暂时中断当前的工作,转去处理事件 B(中断响应和中断服务 ); 待 CPU将事件 B处理完毕后,再回到原来事件 A被中断的地方继续处理事件 A(中断返回 ),这一过程

称为中断。

Page 17: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.1 中断和中断处理过程

执行主程序

继续执行主程序

断点

中断请求中断响应

执行中断处理程序

中断返回

主程序

Page 18: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.1 中断和中断处理过程

2. 中断系统的功能 1. 能实现中断并返回中断; 判断→响应→保护断点和现场→中断服务→恢复现场→返回 2. 能实现中断优先级; 3. 能实现中断嵌套 (高中断低 );

Page 19: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.1 中断和中断处理过程

4. 中断的处理过程

关闭中断 保存断点 转入中断服务子程序

恢复现场 中断服务 保护现场

打开中断 中断返回

硬件完成

Page 20: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

中断向量

高级中

断请求

查询硬件

中断优先级寄存器

全局中断允许

中断允许寄存器

IE0

TF0

IE1

TF1

RI/TI

1

1

IT0

IT1

≥1

PX0

PT0

PX1

PT1

PS

EA

EX0

ET0

EX1

ET1

ES

1

1

1

1

1

0

0

0

0

0

中断源

中断向量

高级中

断请求

中断源

INT0

INT1

T0

T1

TI

RI

Page 21: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

1. 特点

5 个中断源, 3 个在片内, 2 个在片外 ; 固定的中断入口地址; 两级中断优先级,可以形成嵌套; 通过 SFR 进行中断控制和设置编程。

Page 22: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

2. 中断源

外部中断 (2 个 )

外部中断 0 和外部中断 1

定时 / 计数器中断 (2 个 )

定时 / 计数器中断 0 和定时 / 计数器中断 1

串行口中断 (1 个 )

Page 23: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

3. 中断控制 (寄存器 )

定时器控制寄存器 --TCON

串行口控制寄存器 --SCON

中断允许寄存器 --IE

中断优先级寄存器 --IP

Page 24: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

定时器控制寄存器 --TCON

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

定时器溢出中断请求标志1 :有请求0 :无请求

外部中断请求标志1 :有请求0 :无请求

外部中断触发方式控制位1 :边沿触发0 :电平触发

T1 、 T0 的运行控制位标志1 :启动定时器 T1 、 T0 工作0 :停止定时器 T1 、 T0 工作

Page 25: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

串行口控制寄存器 --SCON

SM0 SM1 SM2 REN TB8 RB8 TI RI

串行口的发送中断标志 串行口接收中断标志

Page 26: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

中断允许寄存器— IE

EA NA NA ES ET1 EX1 ET0 EX0

串行口中断控制位定时器 1 中断控制位外中断 1 中断控制位定时器 0 中断控制位外中断 0 中断控制位

全局中断控制位

说明:复位后 IE 被清 0 ,禁止一切中断

Page 27: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

中断优先级寄存器 --IP

NA NA NA PS PT1 PX1 PT0 PX0

串行口中断优先级控制位定时器 1 中断优先级控制位外中断 1 中断优先级控制位定时器 0 中断优先级控制位外中断 0 中断优先级控制位

1 :对应的中断声明为高优先级,

0:对应的中断定义为低优先级中断

Page 28: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

4. 中断响应

同级或高优先级的中断已在进行中 ; 当前的机器周期还不是正在执行指令的最后一个机器周期 ( 换言之 , 正在执行的指令完成前 , 任何中断请求都得不到响应 ); 正在执行的是一条 RETI 或者访问特殊功能寄存器 IE 或 IP 的指令 ( 换言之 , 在 RETI 或读写 IE 或 IP 之后, 不会马上响应中断请求 , 而至少执行一条其它指令之后才会响应 ) 。

(1) 中断不响应的条件

Page 29: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

单片机一旦响应中断请求 , 就由硬件完成以下功能 : 根据响应的中断源的中断优先级,使相应的优先级状态触发器置 1; 执行硬件中断服务子程序调用,并把当前程序计数器 PC 的内容压入堆栈; 把被响应的中断源所对应的中断服务程序的入口地址 ( 中断矢量 ) 送入 PC , 从而转入相应的中断服务程序。关中断允许位 EA; 响应中断程序处理后,清除相应的中断请求标志位( 串行口中断请求标志 RI 和 TI除外 );

(2) 中断响应过程

Page 30: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.2 MCS-51单片机中断系统

(3) 中断服务程序入口地址表

中断源中断源 入口地址入口地址

外部中断外部中断 00 0003H0003H

定时器定时器 00 000BH000BH

外部中断外部中断 11 0013H0013H

定时器定时器 11 001BH001BH

串行口串行口 0023H0023H

Page 31: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.3 中断扩展

1. 中断与查询结合 MCS-51 单片机有两个外部中断输入端,当有 2个以上中断源时,它的中断输入端就不够了。此时,可以采用中断与查询相结合的方法来实现。可以使每个中断源都接在同一个外部中断输入端上,同时利用输入口线作为多中断源情况下各中断源的识别线。

Page 32: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.3 中断扩展

INT0

INT1

P1.3P1.2P1.1P1.0

+5V

INT2

INT3

INT4

INT5

OC门

Page 33: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.2.3 中断扩展ORG 0013H LJMP INT1......

INT1: PUSH PSWPUSH ACCJB P1.0, INT2JB P1.1, INT3JB P1.2, INT4JB P1.3, INT5

GOBACK:POP ACCPOP PSWRETI

INT2: ; INT2 中断服务程序...... AJMP GOBACK

INT3: ; INT3 中断服务程序......

AJMP GOBACKINT4: ; INT4 中断服务程序

...... AJMP GOBACK

INT5: ; INT5 中断服务程序...... AJMP GOBACK

Page 34: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3 定时 /计数器

定时器的结构

定时器的工作方式

定时器应用举例

Page 35: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.1 定时器的结构

1. 定时 / 计数器的概念 主要作用包括产生各种时标间隔,记录外部事件的数量等等。 8031 有两个 16 位的定时器 / 计数器。 作定时器时,每个机器周期定时寄存器自动加 1,因此定时器也可以看作是计量机器周期的计数器。 作计数器时,计量单片机外部引脚从 1 到 0 的负跳变,每个跳变计数器自动加 1 。

Page 36: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.1 定时器的结构

2. 2. 定时定时 // 计数器的结构计数器的结构

处理器

TH1 TL1 TH0 TL0

TCON TMOD

Page 37: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

T0T0 和和 T1T1无论是用作定时器或者计数器都有无论是用作定时器或者计数器都有 44种工作种工作方式:方式: 方式方式 00 方式方式 11 方式方式 22 方式方式 33

除了方式除了方式 33 ,, T0T0 和和 T1T1 有完全相同的工作方式。有完全相同的工作方式。

Page 38: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

方式方式 0—(0—(1313 位工作方式位工作方式 ))

中断请求

T1引脚

TL1(D0~4)

TR1

GATE

INT1引脚

T1C/T = 0

C/T = 1

fosc

控制(高有效)

&

÷12振荡器

≥ 11

TH1(D0~7)

TF1

Page 39: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

方式方式 1—(1—(1616 位工作方式位工作方式 ))

中断请求

T1引脚

TL1(D0~7)

TR1

GATE

INT1引脚

T1C/T = 0

C/T = 1

fosc

控制(高有效)

&

÷12振荡器

≥ 11

TH1(D0~7)

TF1

Page 40: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

方式方式 2—(2—(88 位自动重装工作方式位自动重装工作方式 ))

中断请求

T1引脚

TL1(D0~7)

TR1

GATE

INT1引脚

T1C/T = 0

C/T = 1

fosc

控制(高有效)

&

÷12振荡器

≥ 11

TF1

TH1(D0~7)

自动重装控制

Page 41: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

方式方式 3—(3—(22 个个 88 位工作方式位工作方式 ))

中断请求

T1引脚

TL0(D0~7)

TR0

GATE

INT0引脚

T1C/T = 0

C/T = 1

fosc

控制(高有效)

&

÷12振荡器

≥ 11

TF0

fosc

中断请求

÷12振荡器 TH0(D0~7)

TF0

TR1

控制(高有效)

Page 42: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

控制寄存器控制寄存器 定时器 / 计数器 T0 和 T1 有 2 个控制寄存器: TMOD 和 TCON 作用: 设置各个定时器 / 计数器的工作方式,选择定时或者计数功能,控制启动运行,以及作为运行状态的标志等。 TCON还有 4 位用于中断系统。

Page 43: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

定时器方式控制寄存器定时器方式控制寄存器 ----TMODTMOD

GATE C/T M1 M0 GATE C/T M1 M0

T1 T0

门控位1 :打开0 :关闭

工作状态选择位1 :计数状态0 :定时状态

工作方式设置位00 :方式 0 01 :方式110 :方式 2 11 :方式3

Page 44: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.2 定时器的工作方式

定时器控制寄存器定时器控制寄存器 ----TCONTCON

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

中断请求标志1 :有请求0 :无请求

运行控制位1 :打开0 :关断

外部中断控制

Page 45: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.3 定时器的初值计算

51 内部定时器 / 计数器是可编程序的,通过程序设置寄存器对它进行设定和控制。因此需要进行初始化操作,初始化步骤为:设定 TMOD寄存器,确定工作方式。根据需要设定时 / 计数器初值或计数器初值。根据需要开放中断,设定中断优先级。设置 TCON寄存器,以启动或禁止定时 / 计数器

Page 46: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.3 定时器的初值计算

计数器方式计数器方式

DD==MM--CC 定时器方式定时器方式

DD==MM--TTCC*(f*(foscosc/12)/12)

D :计数设定的初值;C :所需要的计数值,即所需要计

量的负跳变次数;M :为计数器模值,与方式有关。

方式 0: 213;方式 1: 216; 方式 2,3: 28 。

D : 计数设定的初值;TC :所需要的定时时间;M : 为计数器模值,与方式有关。

方式 0: 213;方式 1: 216; 方式 2,3: 28 。

fosc :振荡频率

实际上就是计算所需要计数的机器周期个数 C

Page 47: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.4 定时器的应用举例

例 4-2 : P1.0 输出周期为 1ms 的连续方波,要求用T0 定时器,设振荡频率 fosc=6MHz 。

解:周期为 1ms ,则定时时间为 500us ,定时时间到调用 CPL ,将 P1.0取反。

定时器初值计算: D=M-TC*(fosc/12)

需要计数 TC*(fosc/12) = 500*10-6*(6*106/12)=250

可以采用方式 2 ,初值可以设为 6=(28-250) 。

Page 48: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.4 定时器的应用举例

例 4-2 :如果要求 P1.0 输出周期为 4ms 的连续方波,仍用 T0 定时器,设振荡频率 fosc=6MHz 。

解:周期为 4ms ,则定时时间为 2ms 。

定时器初值计算: D=M-TC*(fosc/12)

需要计数 TC*(fosc/12) = 2000*10-6*(6*106/12)=1000

可以采用方式 0 ,初值可以设为 1C18H(213-1000)。

TH0 = E0H , TL0=18H

注: 18H放在 TL0 的低 5 位中; 1CH放在高 8 位 TH0中;

1CH左移 3 位,即是 E0H;

Page 49: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.3.4 定时器的应用举例

例 4-4 :应用 T0 定时器的方式 3产生 200us 和 400us 的定时,并使 P1.0 和 P1.1分别输出 400us 和 800us 的连续方波,设振荡频率 fosc=6MHz 。

解:定时时间为 200us 和 400us 。

定时器初值计算: D=M-TC*(fosc/12)

28-TC*(fosc/12) = 256-200*10-6*(6*106/12)=156

28-TC*(fosc/12) = 256-400*10-6*(6*106/12)=56

TH0 = 156 , TL0=56

Page 50: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.4 并行输入输出接口

Page 51: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5 串行输入输出接口

一个串行 I/O端口,通过引脚 RXD(P3.0) 和 TXD(P3.1)与外设进行全双工的串行异步通信。 4种工作方式 两个控制寄存器,用来设置工作方式、发送接收状态、特征位、波特率等等。 一个数据寄存器 SBUF 作为接收发送的数据缓冲。

Page 52: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.1 串行口控制寄存器

串行口控制寄存器串行口控制寄存器 --SCON--SCON

SM0 SM1 SM2 REN TB8 RB8 TI RI

串行口接收中断标志

串行口工作方式设置:00~11 :方式 0~ 方式 3

方式 2 和方式 3 的多机通信特征位

允许串行接收位:1 :允许; 0 :禁止

接收到的第 9 位数据

要发送的第 9 位数

串行口发送中断标志

Page 53: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.1 串行口控制寄存器

电源控制寄存器电源控制寄存器 --PCON--PCON

SMOD NA NA NA NA NA NA NA

波特率加倍控制位1 :加倍; 0 :不加倍

Page 54: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.1 串行口控制寄存器

应用特点:应用特点:1) 1) 两个中断标志,两个中断标志, RIRI 用于接收,用于接收, TITI 用于发送。用于发送。2) 2) 发送发送 // 接收前都必须对接收前都必须对 RI/TIRI/TI 清零,一帧数据发送清零,一帧数据发送 // 接收后,接收后,

RI/TIRI/TI 自动置自动置 11 ,如要再发送,如要再发送 // 接收,必须用软件清零。接收,必须用软件清零。3) 3) 方式方式 00 和和 11 :数据发送:数据发送 // 接收完成后,置位接收完成后,置位 RI/TIRI/TI ,请求中断,请求中断

。 方式。 方式 22 和和 33 :数据接收完成后,视:数据接收完成后,视 SMSM22 和和 RBRB88 状态确状态确定定 RIRI 和请求中断。和请求中断。

SMSM22 RBRB

88 接收中断状态与标志接收中断状态与标志

00 00 激活激活 RIRI,引起中断,引起中断00 11 激活激活 RIRI,引起中断,引起中断11 00 不激活不激活 RIRI,不引起中断,不引起中断11 11 激活激活 RIRI,引起中断,引起中断

Page 55: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.2串行口工作方式

方式方式 主要作用主要作用 位数位数 波特率波特率

方式方式 00用于外接移位寄存用于外接移位寄存器,扩展器,扩展 I/OI/O电路电路 88位位

方式方式 11双机通信或者与外双机通信或者与外设电路的通信设电路的通信

88位位 UART(UART(共共传传 1010位位 ) )

方式方式 22 除了方式除了方式 11的功能的功能外,还可用于多机外,还可用于多机通信,以构成多微通信,以构成多微

机系统机系统

99位位 UARTUART ( (1111位)位)

方式方式 3399位位 UARTUART((

1111位)位)

12OSCf

)(32

21溢出率T

SMOD

)(32

21溢出率T

SMOD

OSC

SMOD

f64

2

Page 56: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.2 串行口工作方式

方式方式 00

[TXD]发送时钟

写SBUF

[RXD]发送数据 D0 D1 D2 D3 D4 D5 D6 D7

TI

[TXD]接收时钟

[RXD]接收数据 D0 D1 D2 D3 D4 D5 D6 D7

RI

Page 57: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.2 串行口工作方式

方式方式 11

[RXD]发送时钟

写SBUF

[TXD]发送数据 D0 D1 D2 D3 D4 D5 D6 D7

TI

[TXD]接收时钟

[RXD]接收数据 D0 D1 D2 D3 D4 D5 D6 D7

RI

起始位 停止位

起始位 停止位

Page 58: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

4.5.2 串行口工作方式

方式方式 2, 32, 3

[RXD]发送时钟

写SBUF

[TXD]发送数据 D0 D1 D2 D3 D4 D5 D6 TB8

TI

[TXD]接收时钟

[RXD]接收数据 D0 D1 D2 D3 D4 D5 D6 D7

RI

起始位 停止位

起始位 停止位

D7

RB8

Page 59: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

Page 60: MCS-51 单片机内部 接口电路

第四章 MCS-51单片机内部接口电路第四章 MCS-51单片机内部接口电路

相关知识

LEDLED 共阴极共阴极 共阳极共阳极 a-g,dpa-g,dp 分别对分别对

应应 88 位数据的位数据的段选码的段选码的 D0-DD0-D77

a

b

c

d

e

f

g

dp