C51中各种存储区名词解释

本文详细介绍了51单片机的存储类型,包括code、data、idata、xdata和pdata。code存储程序,data为直接寻址的内部数据,idata用于不可直接寻址的内部数据,xdata则是外部数据存储,而pdata则涉及外部RAM的低256字节。理解这些存储区的区别对于51单片机的程序设计至关重要,特别是当涉及到外部RAM的使用时,正确配置存储空间是确保程序正常运行的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先c51有下面几种存储类型

code :程序存储区(64KB),

data :可直接寻址的内部数据存储区(128B)

idata:不可直接寻址的内部数据存储区(256B)

xdata:外部数据存储区(64KB)

pdata:分页的外部数据存储区

在51系列中data,idata,xdata,pdata的区别:

code:程序存储区。
data:固定指前面0x00-0x7f的128个RAM,可以直接读写的,速度最快,生成的代码也最小。
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同,是用类似C中的指针方式访问的。
xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。

在这里插入图片描述
可以在keil这个位置来选择使用片内ram还是片外ram
如果没有外部RAM则XDATA即使可以编译下载,程序也无法正常使用
还需要去指定存储空间
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值