1.3 mcs-51 单片机的存储器

17
Copyright http: //www.myvtc.edu.cn 2006 MCS-51 系系系系系系系 5 系系系系系系系系系系 / 系系系系系系系 64K 0000-0FFFFH ); 128B 系系系系系系系系00-7FH ); 128B 系系系系系系系 SFR 80-0FFH ); 系系系系20H-2FH ); 系系系系系系系 64K 0000-0FFFFH )。 MCS-51 系系系系系系系系系系系系系系系系系系系系系系系系系系系系系系系1.3 MCS-51 系系系系系系系

Upload: ailsa

Post on 05-Jan-2016

133 views

Category:

Documents


9 download

DESCRIPTION

1.3 MCS-51 单片机的存储器. MCS-51 系列的单片机有 5 个独立的存储空间: 片内 / 片外程序存储器 64K ( 0000-0FFFFH ) ; 128B 的片内数据存储器( 00-7FH ) ; 128B 特殊功能寄存器 SFR ( 80-0FFH ) ; 位寻址区( 20H-2FH ); 片外数据存储器 64K ( 0000-0FFFFH )。 注: MCS-51 系列单片机各型号芯片在各个存储器空间的物理单元个数可能是不同的。. 1 2 3 4 5 6 7 8 9 10111213141516171819 20. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

MCS-51 系列的单片机有 5 个独立的存储空间:片内 / 片外程序存储器 64K ( 0000-0FFFFH );128B 的片内数据存储器( 00-7FH );128B 特殊功能寄存器 SFR ( 80-0FFH );位寻址区( 20H-2FH );片外数据存储器 64K ( 0000-0FFFFH )。注: MCS-51 系列单片机各型号芯片在各个存储器空间的物

理单元个数可能是不同的。

1.3 MCS-51 单片机的存储器

Page 2: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

123456789

1011121314

2827262524232221 201918171615

EP

RO

M

2764

123456789

1011121314

2827262524232221 201918171615

EP

RO

M

2764

123456789

1011121314151617181920

4039383736353433323130292827262524242221

123456789

1011121314

2827262524232221 201918171615

RAM

6264

123456789

1011121314

2827262524232221 201918171615

RAM

6264

8031

8751

8051

89C51片内片内RAMRAM

片内片内ROMROM

256B (字节)

4K

64K

64K

Page 3: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

MCS-51 单片机的程序存储器分为:片内程序存储器片外程序存储器MCS-51 单片机的最大存储空间为 64KB 。MCS-51 单片机程序存储器的地址指针为程序计数器 PC 。MCS-51 单片机程序存储器的读取顺序由 EA 确定。MCS-51 单片机存储空间的 6 个特殊功能区域。

程序存储器

Page 4: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

一、对于片内有 4KB 程序存储器的单片机EA=1 时,则 PC 的值在 0000H-0FFFH 之间, CPU 先

从片内程序存储器空间取指执行;当 PC 的值大于 0FFFH 时才访问外部的程序存储器空间。

若 EA=0 时,则片内程序存储器空间被忽略, CPU 只从片外程序存储器空间取指执行。

二、对于片内没有程序存储器的单片机 在构成系统时必须在外部扩展程序存储器,其 EA 必

须接地。 ( 最好不要扩展片外程序存储器的单片机,单片机型号多达数百种,可选用片内 Flash 容量大的型号,除非特殊原因。 )

EA 作用

Page 5: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

(( 11 )程序存储器)程序存储器

程序存储器

内部 外部

0000H

0FFFH

(4K)

0000H

FFFFH

(64K)

0000H

0FFFH

(4K)

0000H0001H0002H

(PC)

0000H 是程序执行的起始单元 ,在这三个单元存放一条无条件转移指令

中断 5

中断 4

中断 3

中断 2

中断 10003H

000BH

0013H

001BH

0023H

002BH

外部中断 0

定时器 0 中断

外部中断 1

定时器 1 中断

串行口中断

8 位

...0FFFH0FFEH

EA=1 EA=0

程序存储器资源分布

中断入口地址

Page 6: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

0000H :系统的启动单元(系统复位后,单片机从此处开始取指令开始执行)

0003H :外部中断 0 入口地址000BH :定时器 / 计数器 0 中断入口地址0013H :外部中断 1 入口地址001BH :定时器 / 计数器 1 中断入口地址0023H :串行中断入口地址

程序存储器空间的 6 个特殊功能区域

Page 7: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

MCS-51 单片机的内部数据存储器有以下几个部分:工作寄存器区(00H—1FH )位寻址区( 20H—2FH )该区域的 16 个字节单元可以用于位寻址 ( 共 128 个位单元,位地址为:

00H—7FH ) ;另外也可以作为一般的 RAM 使用。举例: SETB 0FH(21H. 7) ;置位 0FH 为“ 1”

CLR 0FH(21H. 7) ;置位 0FH 为“ 0”

用户区( 30H—7FH )该区域的 80 个字节单元,主要用于用户的数据存储,在该区域的单元只

能以地址单元的形式进行操作。

128B 的片内数据存储器( 00H-7FH )

(2)(2) 片内数据存储器片内数据存储器SRAMSRAM

Page 8: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

0000H

FFFFH

(64K)

内部

外部

(2)(2) 片内数据存储器片内数据存储器 SRAMSRAM

数据存储器

00H

FFH

7FH

80H

( 高 128B)

( 低 128B) RAM

专用寄存器

00H

07H08H

0FH10H

17H18H

1FH

0 区R0

R7R0

R7R0

R7R0

R7

1区

2 区

3 区

工作寄存器区

可位寻址区

20H

2FH 7F 78

07 00

30H

7FH数据缓冲区 / 堆栈区

内部 RAM 存储器

1 11 1 第 第 3 3 区区 18H~1FH18H~1FH

0 10 1 第 第 1 1 区区 08H~0FH08H~0FH

RS1 RS0RS1 RS0 寄存器区寄存器区 片内片内 RAMRAM 地址地址 0 00 0 第 第 0 0 区区 00H~07H00H~07H

1 01 0 第 第 2 2 区区 10H~17H10H~17H

工作寄存器区选择位 RS0 、 RS1

PSW 位地址 CY

AC F0 RS1 RS0 OV F1 P

Page 9: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

内部 RAM 的 00H-1FH 分为 4 个区(由 RS0 和 RS1 的状态决定当前的工作寄存器组别), 每个区有 8 个单元,分别用 R0-R7 来表示。

第 0 组工作寄存器:地址范围为 00H-07H ;第 1 组工作寄存器:地址范围为 08H-0FH ;第 2 组工作寄存器:地址范围为 10H-17H ;第 3 组工作寄存器:地址范围为 18H-1FH 。举例:如果 RS0 : RS1=00 时;则 (R0)=00H( 使用第 0 组)如果 RS0 : RS1=01 时;则 (R0)=08H( 使用第 1 组)如果 RS0 : RS1=10 时;则 (R0)=10H( 使用第 2 组)如果 RS0 : RS1=11 时;则 (R0)=18H( 使用第 3 组)

工作寄存器区( 00H—1FH )

Page 10: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

MCS-51 单片机中,有 21 个具有特殊功能的寄存器,它主要是用来存放单片机的相应功能部件的控制命令、状态或数据。其中常用的有以下几个:

ACC (累加器, 8 位):特殊用途的寄存器,专门存放操作数或运算结果。

例如: MOV A , 30H (把 30H 单元的数据传送给 A )

ADD A , 30H ( 30H 的数据和 A 的内容相加,并保存在 A中)

B ( 8 位):专门为乘除法而设置的寄存器。 又如: MUL A , B ; A 和 B 相乘,结果的高低字节分别放入 A 和 B 中

DIV A , B ;( A ) / ( B ),商存 A ,余数存 B

128B 特殊功能寄存器 SFR ( 80H-0FFH )

Page 11: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

高高 128128 个单个单元元☆离散分布有 21个

特殊功能寄存器 SFR 。(Specific Function register )

☆ 11 个可以进行位寻址。

☆特别提示:对 SFR 只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。

Page 12: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

CY ( C ):进位和借位标志,当指令执行中有进位和借位产生时, CY 为 1 ,反之为 0 。

AC :辅助进位、借位标志(低半字节对高半字节的进位和借位),有进位和借位产生时, AC 为 1 ,反之为 0 。

F0: 用户标志位,由用户自定义。 RS1 和 RS0 :工作寄存器选择标志位。 OV :溢出标志位。 P :奇偶校验位,当 A 中 1 的个数为偶数时 P=0 ,反之为 1 。

位序 D7 D6 D5 D4 D3 D2 D1 D0

位标志 CY AC F0 RS1 RS0 OV / P

PSW(程序状态字, 8 位):存放指令执行后的有关状态。

Page 13: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

DPTR( 数据地址指针, 16 位) : 存放程序存储器的地址或外部数据存储器的地址。可分 DPH 和 DPL两个独立 8 位寄存器使用。

PC (程序地址寄存器, 16 位):执行指令后自动加一,常将 PC 值设置成程序第一条指令的内存地址。 访问范围: 0000-0FFFFH 。

SP (堆栈指针, 8 位):专门存放堆栈的栈顶位置。遵循“先进后出”的原则。 注意:禁止用传送指令存放数据。

Page 14: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

标准 51 系列单片机的内部 RAM—— 堆栈 堆栈——是在 RAM 区中划定的一个区域,对该区域 RAM 单元的

读写操作必须遵守特定的顺序。比如先入先出,或先入后出原则。 堆栈的作用——主要用在子程序的调用过程中或作为特殊的数据交换区。

堆栈的开辟 栈顶的位置由 SP (堆栈指针)寄存器指示。 复位时 SP 的初值为 07H ,在系统初始化时可以根据用户的需要重新设置。

标准 8051 的堆栈一般设在 30H~7FH 的范围内。

51 单片机的数据存储器管理

Page 15: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

X YZ

51 单片机的数据存储器管理标准 51 系列单片机的内部 RAM—— 堆栈

堆栈的操作

65H

64H

63H

62H

61H

栈底 60H

59H

内部 RAM

PUSH PUSHPUSH

X YZ

入栈过程

65H

64H

63H

62H

61H

栈底 60H

59H

内部 RAM

POP Z POP YPOP X

X

Y

Z

出栈过程

先入后出后入先出先入后出后入先出

Page 16: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

22 、、 80318031 有四个工作寄存器区,由有四个工作寄存器区,由 PSWPSW 状态字中的状态字中的 RS1RS1 、、RS0RS0 两位的状态来决定,单片机复位后,若执行 两位的状态来决定,单片机复位后,若执行 SETB SETB RS0 RS0 指令,此时只能使用( )区的工作寄存器。指令,此时只能使用( )区的工作寄存器。

AA .. 00 区区 BB .. 22 区区 DD .. 11 区区CC .. 33 区区

Page 17: 1.3  MCS-51 单片机的存储器

Copyright http://www.myvtc.edu.cn 2006

11 、、 CPUCPU 主要的组成部分为主要的组成部分为 ( )( ) 。。

DD ..加法器,寄存器加法器,寄存器

AA ..运算器,指令译码器运算器,指令译码器 BB ..运算器运算器 ,, 寄存器寄存器

CC ..运算器,控制器运算器,控制器