STC12C5A60S2单片机学习DAY.3 存储器和特殊功能寄存器SFRs

STC12C5A60S2单片机的程序存储器和数据存储器各自独立编址,程序存储器都是片上flash

,不可以访问外部存储器。

内部有1280字节的数据存储器,分为两个地址空间:内部RAM256字节+内部扩展RAM1024字节,可访问片外扩展的64KB外部数据存储器

一、程序存储器

内部集成8k~62k字节的flash程序存储器,

二、数据存储器SRAM

1、内部RAM(256字节)

低128字节RAM+高128字节RAM+特殊功能寄存器区

1)低128字节RAM

可直接寻址+间接寻址

通用RAM区,包括工作寄存器组区+可位寻址区(20H~2FH)+用户RAM区+堆栈区

a.工作寄存器组区(00H~1FH共32B字节)

分为4个寄存器组,每组8个8位工作寄存器,8组编号均为R0~R7,通过PSW程序状态字寄存器中的RS1/RS0决定

b.可位寻址区(20H~2FH共16个字节128位)

可按字节存取,可按位存取

128位对应地址范围00H~7FH

c.用户RAM和堆栈区(30H~FFH)

一个8位的堆栈指针SP(8位专用寄存器)用于指向堆栈区,单片机复位后SP为07H,指向了工作寄存器组0中的R7

用户初始化程序都应对SP设置初值,一般设置在80H以后

堆栈向上生长,即数据压入堆栈后,SP内容增大

2)高128字节RAM+特殊功能寄存器区

共用地址(80H~FFH),但物理上独立,可通过不同寻址方式加以区分

高128字节RAM只能间接寻址,特殊功能寄存器区只能直接寻址

2、内部扩展RAM(1024字节)

单片机上集成了1024字节的内部扩展RAM,0000H~03FFH

C语言编程时用xdata声明存储类型,如“unsigned char xdata i=0;”

单片机内部扩展RAM是否可访问受AUXR寄存器中的EXTRAM位控制

3、外部扩展的64KB片外RAM

控制外部64KB数据总线速度的特殊功能寄存器:BUS_SPEED

三、特殊功能寄存器SFRs

具体见手册,只写常用的

1、累加器ACC

存放参与算数/逻辑运算的操作数及结果

2、程序状态字寄存器PSW

3、堆栈指针SP

具体见上述

4、数据指针DPTR

16位专用寄存器,DPL(低8位,地址82H)+DPH(高8位,地址83H),

单片机有2个16位的数据指针DPTR0和DPTR1,俩指针共用一个地址空间,可通过设置DPS/AUXR1.0来选择被使用的数据指针

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值