首页 理论教育51单片机数据存储器用途及地址分配

51单片机数据存储器用途及地址分配

【摘要】:51单片机数据存储器用于存放运算中间结果、数据暂存和数据缓冲、标志位等。CPU在复位后默认选择表3-3中第0组工作寄存器。图3-9 片内RAM地址分配图表3-3 工作寄存器地址列表高128B地址空间,80H~FFH为特殊功能寄存器空间。图3-10 特殊功能寄存器地址分配图表3-4 特殊功能寄存器说明表3-4中论述的特殊功能寄存器需要在程序中处理,实际应用中与硬件操作相结合,需要开发人员按功能需求进行控制。

51单片机数据存储器用于存放运算中间结果、数据暂存和数据缓冲、标志位等。数据存储器包括片内RAM和片外RAM两种,采用不同的方法访问,不存在重叠的现象,从图3-8所示片外RAM空间为64KB,地址范围从0000H~FFFFH,对51单片机低128B地址空间,00H~7FH为片内RAM作为处理问题的数据缓冲器;其地址分配如图3-9所示;51单片机有32个工作寄存器,00H~1FH为四组工作寄存器区,每组有8个工作寄存器见表3-3。CPU在复位后默认选择表3-3中第0组工作寄存器。

工作寄存器从20H~2FH为位寻址区,位寻址区的每一位可以由程序直接进行位处理,图3-9中给出了自己地址和位地址对应关系,竖向字节地址从20H~2FH,横向代表8位位地址分别为D7~D0,如图3-9中7FH为字节地址2FH,位地址D7位。

978-7-111-47690-0-Part01-106.jpg

图3-9 片内RAM地址分配图

表3-3 工作寄存器地址列表

978-7-111-47690-0-Part01-107.jpg

高128B地址空间,80H~FFH为特殊功能寄存器空间。其地址范围为80H~FFH,特殊功能寄存器地址空间分配如图3-10所示,详细描述见表3-4。

978-7-111-47690-0-Part01-108.jpg

图3-10 特殊功能寄存器地址分配图(www.chuimin.cn)

表3-4 特殊功能寄存器说明

978-7-111-47690-0-Part01-109.jpg

表3-4中论述的特殊功能寄存器需要在程序中处理,实际应用中与硬件操作相结合,需要开发人员按功能需求进行控制。有部分寄存器将在定时/计数器、串口、中断内容中介绍,因为本书讨论单片机的软件编程采用C51来设计程序内容,所有对于采用C语言进行单片机编程的初学者SP、PSW、ACC、B、DPH、DPL不再是非常重要的特殊功能寄存器。所以这里主要讨论P0、P1、P2、P3端口锁存寄存器,P0~P4为4个8位特殊功能寄存器,分别是4个并行I/O端口的锁存器,每个端口有字节地址也有位地址,I/O线独立用作输出时,数据可以锁存,用作输入时,数据可以缓冲。

通过对P0~P3口地址的读和写改变I/O口状态,如下通过简单样例程序初步了解对P0口的读取和P2口的输出操作。

978-7-111-47690-0-Part01-110.jpg

若对某个I/O口引脚进行操作,可以参考下面的样例程序。

978-7-111-47690-0-Part01-111.jpg