数据存储器分为三部分是:
1) 片内数据存储器。片内数据存储器只有较少的字节,对于AT89C51只有128B+128B,而AT89C52也只有256B+128B,但在单片机中起到相当重要的作用,必须掌握。 注意:其中128B是用于特殊功能寄存器,不能存储用户数据。 2)特殊功能寄存器。专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。在编程时用的很多,要求必须掌握。 注意:在AT89C52中,片内数据存储器的高128字节地址与特殊功能寄存器的地址重叠,因此在访问片内数据存储器的高128字节,必须用简接寻址的指令访问。
3)外部数据存储器。当内部数据存储器不够用时,可以扩展外部数据存储器,最多可以扩展64KB。地址是 0000H~0FFFFH。片外数据存储器与片内数据存储器空间低地址0000H—00FFH是重迭的, CPU通过MOVX指令访问外部数据存储器, 用间接寻址方式, R0、R1和 DPTR都可作间接寄存器。注意, 外部RAM和扩展的I/O接口是统一编址的, 所有的外扩I/O口都要占用 64 KB中的地址单元。 2、片内数据存储器 1)片内RAM的配置:
AT89C51 单片机片内RAM的配置如下图 :
7FH用户RAM区2FH/30H位寻址区(位地址00H~7FH)1FH/20H17H/18H第3组通用寄存器区第2组通用寄存器区第1组通用寄存器区第0组通用寄存器区R0、R1、R2、R3、R4、R5、R6、R7数据缓冲区、堆栈区、工作单元即可位寻址,又可字节寻址0FH/10H07H/08H00H
图2-11 片内RAM的配置 片内
RAM为 128 字节, 地址范围为00H~FFH,(有些
教材为256B,含专用寄存器的128B字节。)
2)工作寄存器:
作用:供用户临时存放数据或8位地址,编程时使用频繁。 结构:00H~1FH共 32 单元是 4 个通用工作寄存器区。每一个区有 8 个通用寄存器R0~R7。寄存器和RAM地址对应关系如下表 :
注意:
a、寄存器名称与数据重叠,一个名称下有4个地址,如R2对应02H、0AH、12H、1AH,编程时到底是那一个地址呢,
相关推荐: