Transcript
Page 1: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构

存储器

I/O 接口

CPU

中断系统

定时 / 计数器

硬件结构

Page 2: MCS - 51 单片机的硬件结构

暂存器暂存器11

暂存器暂存器22

ACCACC

PSWPSW

BB

ALUALU 控制信号

Ⅰ CPU

指令寄存

指令寄存

器器时序电路

时序电路

指令译码

指令译码

器器

微操作控制电路微操作控制电路

程序地址程序地址寄存器寄存器

缓冲器缓冲器

PCPC+1

内部内部

ROMROM

DPTRDPTR

Page 3: MCS - 51 单片机的硬件结构
Page 4: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

Ⅱ 存储器

存储器

RAM 片内 RAM 片外 RAM

ROM 片内 ROM 片外 ROM

Page 5: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

特殊功能寄存器( 80H—FFH )

20H

普通 RAM 区

位寻址区工作寄存器区

SFR 分布在80H-FFH

其中 92 个位可位寻址

特殊功能寄存器( SFR) 又称为专用寄存器。专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。

00H

2FH

7FH

1FH

30H

80H

FFH

128 字节

片内 RAM

Page 6: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

片内 ROM

FFFH

000H

片内 ROM 4K

字节EA=1

8051 子系列

8052 子系列

1FFFH

0000H

8K字节

EA=1

片内 ROM

条件: EA = 1

用途:

主要用来存储程序

通过内部总线与 CPU 联接地址存放在 PC 寄存器中

Page 7: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

片内 RAM

8051 子系列

8052 子系列

8052 子系列有附加的 128 字节的片内 RAM 其地址与 SFR 重叠!

可以通过间接寻址的方法解决二者的地址重叠

FFH

00H

7FH80H

SFRs

FFH

80H 256字节

片内 RAM

主要用来作为数据存储器内部总线联接 CPU

地址存放在 RAM ADDR REG 中

128字节

7FH

00H

片内 RAM

FFH

SFRs

80H

Page 8: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

位寻址区30H

普通 RAM 区

工作寄存器区00H

20H

2FH

7FH

1FH

128 字节

片内 RAM

片内 ROM 主要作为内部数据存储器

包括普通 RAM 区、位寻址区、工作寄存器区

都可以用于存放数据,也称为数据缓存寄存器

00H

20H

2FH

7FH

1FH

30H

普通 RAM 区

位寻址区工作寄存器区

256 字节

80H

FFH

间接寻址普通 RAM 区

8051 子系列

8052 子系列

Page 9: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

外部存储器

FFFFH

0000H

64K字节

FFFFH

0000H

64K字节

可寻址片外 RAM

片外RAM

可寻址片外 RO

M

片外ROM

Page 10: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

FFFFH

0000H

可寻址片外 ROM/R

AM 64K字节

对于具体的一种单片机而言其内部的片内存储器的容量是确定。

片外存储器的容量是可以根据需要进行配置。我们所讲的可寻址片外 64KROM/RAM指的是一种能力。

Page 11: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

FFFFH

0000H

64K字节

地址总线

数据总线

控制总线

单片机为了具有扩展外部存储器的能力 ,应该为外部存储器提供相应的总线信号:

可寻址片外 ROM/R

AM

Page 12: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

FFFFH

0000H

可寻址片外 RO

M

64K字节

地址总线

数据总线

控制总线

单片机为了具有扩展外部存储器的能力应该为外部存储器提供相应的总线信号:

16 根地址线 A0 ~ A15

8 根数据线 D0 ~ D7

PSEN 、 ALE

使能EA = 0

地址存放在 PC中

通过外部总线与 CPU 联接

与片内 ROM 统一编址

Page 13: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

FFFFH

0000H

可寻址片外 R

AM

64K字节

地址总线

数据总线

控制总线

单片机为了具有扩展外部存储器的能力应该为外部存储器提供相应的总线信号:

16 根地址线 A0 ~ A15

8 根数据线 D0 ~ D7

WR 、 RD 、 ALE

地址存放在 DPTR 中

通过外部总线与 CPU 联接

与片内 RAM独立编址

Page 14: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

I/O 接口

串行 UART

并行 P0 P1 P2 P3

Page 15: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

实际应用中,计算机的 CPU 与其外部设备之间常常要进行信息的交换,计算机之间也需要交换信息,所有这些信息的交换均称为“通讯”。

Page 16: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

通讯的基本方式可分为: 通讯的基本方式

并行通讯

串行通讯

并行通讯,是指数据的各位同时进行传送的方式。其特点是传输速度快,但当距离较远,位数又多时导致了通讯线路复杂且成本高,如图所示。

串行通讯,是指数据一位一位地顺序传送的通讯方式。其特点是通讯线路简单,只要一对传输线就可以实现通讯,并可以利用电话线,从而大大地降低了成本,特别适用于远距离通讯,但传送速度慢,如图所示。

Page 17: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

并行 P0 P1 P2 P3

MCS-51 单片机有 4 个双向 8 位 I/O 口 P0 ,P1 , P2 , P3 。 P0 口为三态双向口,负载能力为 8 个 LSTTL 门电路, P1 , P2 , P3 为准双向口,负载能力为 4 个 LSTTL 门电路。

Page 18: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

P0.0—P0.7: 双向 I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向 8位数据口和输出低 8位地址复用口;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

地址 / 数据 控制

引脚 P0.X

3

4

Vcc

P0

Page 19: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =1

读锁存器

写锁存器

内部总线

地址 / 数据 控制

引脚 P0.X3

4

控制 =0 时, 此脚作输入口(事先必须对它的寄存器写“ 1” )

00

1

00

截止

截止

=0 Vcc

P0.0—P0.7: 双向 I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向 8位数据口和输出低 8位地址复用口;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 20: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读锁存器

写锁存器

内部总线

地址 / 数据 控制

引脚 P0.X

3

4

控制 =0 时,此脚作 输出口(需要外接上拉电阻)

00

1

00

截止

截止

=0 Vcc

P0.0—P0.7: 双向 I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向 8位数据口和输出低 8位地址复用口;不接外部程序存储器时可作为 8位准双向 I/O 口使用。 Vcc

上拉电阻

Page 21: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =0

读锁存器

写锁存器

内部总线

地址 / 数据 控制 =1

引脚 P0.X

3

4

控制 =1 时,此脚作地址 / 数据复用口:( 1 )输出地址 / 数据 =0 时

1

0

1

1

=0

导通

截止=0

Vcc

P0.0—P0.7: 双向 I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向 8位数据口和输出低 8位地址复用口;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 22: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =0

读锁存器

写锁存器

内部总线

地址 / 数据 控制 =1

引脚 P0.X

3

4

控制 =1 时,此脚作地址 / 数据复用口:( 2 )输出地址 / 数据 =1 时

1

1

0

0

=1

截止

导通

=1

Vcc

P0.0—P0.7: 双向 I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向 8位数据口和输出低 8位地址复用口;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 23: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =1

读锁存器

写锁存器

内部总线

地址 / 数据 控制 =1

引脚 P0.X

3

4

控制 =1 时,此脚作地址 / 数据复用口: ( 3 )输入数据时,输入指令将使引脚与内部总线直通

Vcc

P0.0—P0.7: 双向 I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向 8位数据口和输出低 8位地址复用口;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 24: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

P1.0—P1.7: 准双向 I/O 口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“ 1”。

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

Vcc

引脚 P1.X

内部上拉电阻

P1

Page 25: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

Vcc

引脚 P1.X

内部上拉电阻

输出数据 = 1 时

1 1

0

截止

=1

P1.0—P1.7: 准双向 I/O 口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“ 1”。

Page 26: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

Vcc

引脚 P1.X

内部上拉电阻

输出数据 = 0 时

0 0

1

=0

导通

P1.0—P1.7: 准双向 I/O 口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“ 1”。

Page 27: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =1

读锁存器

写锁存器

内部总线

Vcc

引脚 P1.X

内部上拉电阻

输入数据时,要先对其写“ 1”

1 1

0

截止

P1.0—P1.7: 准双向 I/O 口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“ 1”。

Page 28: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

P2.0—P2.7: 双向 I/O (内置了上拉电阻) 寻址外部程序存储器时输出高 8位地址;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

地址高 8 位 控制

引脚 P2.X3

内部上拉电阻

Vcc

P2

Page 29: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =0

读锁存器

写锁存器

内部总线

地址高 8 位 控制

引脚 P2.X

控制 =0 时,此脚作通用 输出口: 输出 =1 时

1

10 截

止3

内部上拉电阻

1 1

Vcc

=1

=0

P2.0—P2.7: 双向 I/O (内置了上拉电阻) 寻址外部程序存储器时输出高 8位地址;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 30: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =0

读锁存器

写锁存器

内部总线

地址高 8 位 控制

引脚 P2.X

控制 =0 时,此脚作通用 输出口:输出 =0 时

0

01 导

通3

内部上拉电阻

0 0

Vcc

=0

=0

P2.0—P2.7: 双向 I/O (内置了上拉电阻) 寻址外部程序存储器时输出高 8位地址;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 31: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =0

读锁存器

写锁存器

内部总线

地址高 8 位 控制 =1

引脚 P2.X

控制 =1 时,此脚作 高 8 位地址 A8—A15 输出口:当输出 =1 时

1

0 截止3

内部上拉电阻

1

=1

Vcc

=1

P2.0—P2.7: 双向 I/O (内置了上拉电阻) 寻址外部程序存储器时输出高 8位地址;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 32: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚 =0

读锁存器

写锁存器

内部总线

地址高 8 位 控制 =1

引脚 P2.X

0

1 导通3

内部上拉电阻

0

=0

Vcc

=0

控制 =1 时,此脚作 高 8 位地址 A8—A15 输出口:当输出 =0 时

P2.0—P2.7: 双向 I/O (内置了上拉电阻) 寻址外部程序存储器时输出高 8位地址;不接外部程序存储器时可作为 8位准双向 I/O 口使用。

Page 33: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向 I/O 口。

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

第二功能输出

引脚 P3.X3

内部上拉电阻

Vcc

第二功能输入

4

P3

Page 34: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

第二功能输出( WR , RD , TxD )

引脚 P3.X3

内部上拉电阻

Vcc

4

第二功能输出时,内部自动 D=1

1 1

1

反相器

P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向 I/O 口。

Page 35: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

2

1

D Q

CK /Q

读引脚

读锁存器

写锁存器

内部总线

此端自动= 1

引脚 P3.X

3

内部上拉电阻

Vcc

第二功能输入( RxD ,T0 , T1 , INT0 , INT1 )

4

第二功能输入时,信号经缓冲器 4 直接进入内总线

1

1

1 0 截止

P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向 I/O 口。

Page 36: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )P3 口第二功能表( P.26 表 2 - 3 )

引 脚 第 二 功 能 P3.0 RxD: 串行口接收数据输入端P3.1 TxD: 串行口发送数据输出端P3.2 INT0: 外部中断申请输入端 0P3.3 INT1: 外部中断申请输入端 1P3.4 T0: 外部计数脉冲输入端 0P3.5 T1: 外部计数脉冲输入端 1P3.6 WR: 写外设控制信号输出端P3.7 RD: 读外设控制信号输出端

Page 37: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )

串行 UART

Page 38: MCS - 51 单片机的硬件结构

MCS - 51 单片机的硬件结构( 2 )串行通讯本身又分为两种基本方式:

异步传送

同步传送 所谓同步传送就是去掉异步传送时每个字符的起始位和停止位的成帧标志信号,仅在数据块开始处用同步字符来指示,如图所示。 很显然,同步传送的有效数据位传送速率高于异步传送,可达 50千波特,甚至更高。其缺点是硬件设备较为复杂,因为它要求要有时钟来实现发送端和接收端之间的严格同步,而且对同步时钟脉冲信号的相位一致性还要求非常严格,为此通常还要采用“锁相器”等措施来保证。

在异步传送中,每一个字符要用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。

Page 39: MCS - 51 单片机的硬件结构

异步传送 异步传送时,每个字符的组成格式如图所示。首先是一位起始位表示字符的开始;后面紧跟着的是字符的数据字,数据字可以是 8 或 9 位数据,在数据字中可根据需要加入奇偶校验位;最后是停止位,其长度可以是一位、一位半或两位。所以,串行传送的数据字加上成帧信号起始位和停止位就形成一个字符串行传送的帧。起始位用逻辑“ 0” 低电平表示,停止位用逻辑“ 1” 高电平表示。图示数据字为 7 位,第 8 位(或第 9 位)是奇偶校验位。加上起始位、停止位,一个字符由 10 位(或 11 位)组成。这样加上成帧信号后,字符便可以一个接一个地传送了。

0/ 10/ 1 0/ 10/ 1 0/ 10/ 1 0/ 10/ 1 0/ 10/ 1 1 0/ 10/ 1 0/ 10/ 1

起始位

停止位

奇偶校验 7 ( 8 )位数据 或 位

停止位

奇偶校验

起始位 7 ( 8 )位数据 或 位

01 0

n第 个字符(n-1)第 个字符 (n+1)第 个字符

低位 高位 下降沿指出下一个字符的开始

Page 40: MCS - 51 单片机的硬件结构

在异步传送中,字符间隔不固定,在停止位后可以加空闲,空闲位用高电平表示,用于等待传送。这样,接收和发送可以随时地 或间断地进行,而不受时间的 限制。图示为有空闲位的情况。

0/ 10/ 10/ 1 0/ 10/ 1 0/ 10/ 1 0/ 10/ 1 0/ 1

起始位 7 ( 8 )位数据 或 位

停止位

奇偶校验

起始位

0 0

n第 个字符(n+1)第 个字符

低位 高位 下降沿指出下一个字符的开始

1 1 1 1

空用位

位时间取决于波特率

Page 41: MCS - 51 单片机的硬件结构

在异步数据传送中, CPU 与外设之间事先必须约定两项事宜:

①字符格式。双方要约好字符的编码形式,奇偶校验形式、 以及起始位和停止位的规定。

②波特率( Baud rate )。波特率是衡量位传送速率的指标,它要求发送站和接收站都要以相同的数据传送速率工作。

Page 42: MCS - 51 单片机的硬件结构

串行通讯中数据的传送方向

(b) 半双工通信方式

(a) 单工通信方式

(c) 全双工通信方式

A B

A B

A B

KK

单工通讯方式 ☞

半双工通讯方式 ☞

全双工通讯方式 ☞

A 端为发送站, B 端为接收站,数据仅能从 A站发至 B站

数据可以从 A发送到 B ,也可以由 B发送到 A 。不过同一时间只能作一个方 向的传送,其传送方式由收发控制开关 K 来控制。

每个站( A 、 B )既可同时发送,又可同时接 收。

Page 43: MCS - 51 单片机的硬件结构

MCS-51 单片机串行口

串行通信的基本特征是数据逐位顺序进行传送串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平……等)不同,形成了多种串行通信的协议与接口标准。常见的有:☞通用异步收发器 (UART) 51 系列单片机的串口形式☞通用串行总线( USB )☞I2C 总线☞CAN 总线☞SPI 总线☞RS-485 , RS-232C , RS422A 标准……等等

Page 44: MCS - 51 单片机的硬件结构

MCS-51 单片机串行口

SBUF(发)

SBUF(收)

发送控制器 TI

接收控制器 RI

移位寄存器

波特率发生器

1

A累加器

移位寄存器

RxD

TxD

申请中断

引脚

引脚

CP

U

串行口结构

Page 45: MCS - 51 单片机的硬件结构

SM0 SM1 SM2 REN TB8 RB8 TI R1SCON☞ SM0 , SM1 :串行口 4种工作方式的选择位。

0 0 方式 0: 8位移位寄存器 I/O, 波特率固定为 fosc/12 0 1 方式 1: 8位 UART ( 1+8+1 位), 波特率可变 ,按公式计算 1 0 方式 2: 9位 UART ( 1+8+1+1 位), 波特率固定 =fosc x ( 1/32 )或( 1/64 ) 1 1 方式 3: 9位 UART ( 1+8+1+1 位), 波特率可变,按公式计算☞ SM2 :串行口多机通信控制位 (作为方式 2、方式 3的附加控制位)

串行口控制寄存器 SCON

Page 46: MCS - 51 单片机的硬件结构

☞ RI,TI :串行口收 /发数据申请中断标志位 = 1 申请中断; = 0 不申请中断

☞ TB8 :方式 2、 3中,是要发送的第 9位数据。 多机通信中 ,TB8=0 表示发送的是数据; TB8=1 表示发送的是地址。(奇偶校验)

☞ RB8 :在方式 2、 3中,是收到的第 9位数据。 在多机通信中 ,用作区别地址帧 /数据帧的 标志。(奇偶校验)

SM0 SM1 SM2 REN TB8 RB8 TI R1

☞ REN :串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。

SCON

Page 47: MCS - 51 单片机的硬件结构

串行口工作方式

工作方式 0: 8位同步移位寄存器 I/O 方式☞ 发送: SBUF 中的串行数据由 RxD 逐位移出; TxD 输出移位时钟,频率 =fosc1/12 ; 每送出 8位数据 TI 就自动置 1; 需要用软件清零 TI 。 ☞ 接收:串行数据由 RxD 逐位移入 SBUF 中; TxD 输出移位时钟,频率 =fosc1/12 ; 每接收 8位数据 RI 就自动置 1; 需要用软件清零 RI 。

Page 48: MCS - 51 单片机的硬件结构

SBUF(发)

SBUF(收)

发送控制器 TI

接收控制器 RI

移位寄存器

波特率发生器

1

A累加器

移位寄存器

RxD

TxD

申请中断

引脚

引脚

CP

U

回顾

Page 49: MCS - 51 单片机的硬件结构

串行口方式 0 的扩展应用

串行口常用工作方式 0扩展出并行 I/O口

AB

CLK

h g f e d c b a

CLR

AB

CLK

CLR

AB

CLK

CLR

+5V

74LS164 74LS164 74LS164

74LS164 是串入并出芯片

h g f e d c b a h g f e d c b a

+5V共阳 LED 数码管

VCCTxDRxD

51 单片机

Page 50: MCS - 51 单片机的硬件结构

☞常用于串行通讯。除发 /收 8位数据外,还 在 D0 位前有一个起始位“ 0”; 在 D7 位后有一个停止位“ 1”。

☞方式 1工作时: 发送端自动添加一个起始位和一个停止位; 接收端自动去掉一个起始位和一个停止位。

工作方式 1:8 位 UART(1+8+1 位 )波特率可变

☞波特率可变 (由用户设置 ) ——用定时器 T1作波特率发生器: 公式:波特率 =( 2SMOD/32 ) T1 的溢出率

Page 51: MCS - 51 单片机的硬件结构

波特率 =(2SMOD/32)T1 的溢出率

☞ 溢出率: T1溢出的频繁程度 即: T1溢出一次所需时间的倒数。

☞ 初值 X = 2n - 2SMOD fosc

32 波特率 12

☞ 波特率 =2SMOD fosc

32 12(2n - X)其中: X 是定时器初值

Page 52: MCS - 51 单片机的硬件结构

☞RxD 引脚为接收端, TxD 引脚为发送端 ,由波特率 发生器 T1控制发送速度 , 不同于方式 0:收 /发都 需要由 TxD 送出移位时钟。

☞T1 作波特率发生器时初始化包括 : 选定时器工作方式 2(TMOD 选 8位自动重装 ); 将计算 (或查表 )出的初值 X赋给 TH1,TL1; 启动 T1 (SETB TR1); 对 T1 不要开中断 !!

工作方式 1的接收 /发送

☞串行口的初始化包括 : 对 SCON 选工作方式 对 PCON 设波特率加倍位“ SMOD”(缺省值 =0) 如果是接收数据 , 要先置“ 1”REN 位

Page 53: MCS - 51 单片机的硬件结构

☞由于波特率固定 ,常用于单片机间通讯。 数据由 8+1 位组成,通常附加的一位 (TB8/RB8) 用于“奇偶校验”。

工作方式 2: 9 位 UART(1+8+1+1 位 )两种波特率

☞方式 2的波特率 = fosc 2SMOD/64 即 : fosc 1/32 或 fosc 1/64 两种

在 SFR 的 SCON中

Page 54: MCS - 51 单片机的硬件结构

☞奇偶校验是检验串行通信双方传输的数据正确与否的一个措施。但是,并不能保证通信数据的传输一定正确。 换言之:如果奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。

☞奇校验: 8位有效数据连同 1位附加位中, 二进制“ 1”的个数为奇数 偶校验: 8位有效数据连同 1位附加位中, 二进制“ 1”的个数为偶数

Page 55: MCS - 51 单片机的硬件结构

☞约定接收采用奇校验 若接收到的 9位数据中“ 1”的个数为奇数, 则表明接收正确,取出 8位有效数据即可; 若接收到的 9位数据中“ 1”的个数为偶数, 则表明接收出错!应当进行出错处理。

☞约定发送采用奇校验 若发送的 8位有效数据中“ 1”的个数为偶数, 则要添加一个附加位“ 1”一起发送; 若发送的 8位有效数据中“ 1”的个数为奇数, 则要添加一个附加位“ 0”一起发送。

采用偶校验时,处理方法与奇校验相反

Page 56: MCS - 51 单片机的硬件结构

☞选用偶校验方式发送 如果 A 中 1的个数是奇数( P=1 ), 将 TB8 写成“ 1”一起发出去; 反之:若( P=0 )则写 TB8=“0”发出去。 ☞选用偶校验方式接收 若收到的数中 P=0,且检查到 RB8=0 就可能对了 若收到的数中 P=1,且检查到 RB8=1 也可能对了 若 P=0且 RB8=1 或 P=1且 RB8=0 就一定出错了!

串口方式 2 的奇偶校验用法:

SM0 SM1 SM2 REN TB8 RB8 TI RISCON

串行口控制寄存器 SCONTB8 RB8

Page 57: MCS - 51 单片机的硬件结构

工作方式 3:9 位 UART(1+8+1+1 位 ) 波特率可变

串口方式 3和方式 2唯一的区别是波特率机制不同☞方式 2的波特率固定为时钟周期的 32或 64 分频,不可变。此工作方式与其他串行通讯设备连接困难,因此不常用。☞方式 3的波特率可变,按前面的公式计算: ☞波特率 =

2SMOD fosc

32 12(2n - X)其中: X 是定时器初值

Page 58: MCS - 51 单片机的硬件结构

☞ SBUF 两个同名的接收 /发送缓冲寄存器

串行口相关的 SFR

☞ SCON 串行口控制寄存器

☞ PCON 电源控制寄存器

☞ TMOD 定时方式寄存器

☞ TH1,TL1 定时器 1初值寄存器

☞ TCON 定时器控制寄存器

缓存发送 / 接收数据( 8位)

设置工作方式

设置波特率

Page 59: MCS - 51 单片机的硬件结构

☞ 指令 MOV SBUF , A 启动一次数据发送 , 向 SBUF 发送一个数 指令 MOV A , SBUF 完成一次数据接收 ,SBUF可再 接收下一个数

☞ SBUF 两个同名的接收 /发送缓冲寄存器缓存发送 / 接收数据( 8位)

Page 60: MCS - 51 单片机的硬件结构

SM0 SM1 SM2 REN TB8 RB8 TI R1SCON ☞ SM0 , SM1 :串行口 4种工作方式的选择位。

0 0 方式 0: 8位移位寄存器 I/O, 波特率固定为 fosc/12 0 1 方式 1: 8位 UART ( 1+8+1 位), 波特率可变 ,按公式计算 1 0 方式 2: 9位 UART ( 1+8+1+1 位), 波特率固定 =fosc x ( 1/32 )或( 1/64 ) 1 1 方式 3: 9位 UART ( 1+8+1+1 位), 波特率可变,按公式计算 ☞ SM2 :串行口多机通信控制位 (作为方式 2、方式 3的附加控制位)

SCON 串行口控制寄存器

Page 61: MCS - 51 单片机的硬件结构

☞ RI,TI :串行口收 /发数据申请中断标志位 = 1 申请中断; = 0 不申请中断

☞ TB8 :多机通信中 ,TB8=0 表示发送的是数据; TB8=1 表示发送的是地址。方式 2、 3中,是要 发送的第 9位数据。(奇偶校验)

☞ RB8 :在多机通信中 ,用作区别地址帧 /数据帧 的标志。在方式 2、 3中,是收到的第 9位数据。 (奇偶校验)

SM0 SM1 SM2 REN TB8 RB8 TI R1

☞ REN :串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。

SCON

SCON 串行口控制寄存器

Page 62: MCS - 51 单片机的硬件结构

SMOD — — — GF1 GF0 PD 1DL

电源控制寄存器 PCON ( 97H)——特殊功能寄存器 PCON不能按位寻址——

☞ SMOD :在串行口工作方式 1、 2、 3 中, 是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 ( 在 PCON 中只有这一个位与串口有关 )

PCON

Page 63: MCS - 51 单片机的硬件结构

MCS - 51 单片机的引脚

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST

(RXD)P3.0(TXD)P3.1(INT0)P3.2(INT1)P3.3

(T0)P3.4(T1)P3.5

(WR)P3.6(RD)P3.7

XTAL2XTAL1GND

P0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)

VCC

EA/VPPALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)

电源地组( VCC 和 GND ) VCC(40): 电源端GND(20): 接地端时钟组( XTAL1 和 XTAL2 ) XTAL1(19): 输入端XTAL2(18): 输出端控制信号组 RST(9): 复位端ALE/PROG(30):地址锁存允许端PSEN(29): 外部程序存储器选通端EA/Vpp(31): 外部程序存储器地址允许端I/O 端口 (P0,P1,P2,P3)

AT89C51

Page 64: MCS - 51 单片机的硬件结构

作业

单片机只是用来实现我们解决某些问题思想的一种工具。

解决某些问题的思想是最重要的。

如果你已经掌握了单片机系统的设计方法,你将用它来解决什么问题?!

请提出你将应用单片机系统解决的问题,并给出解决这个问题的思路。