从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器。片内程序存储器还分为直接寻址区和间接寻址区。
data:将数据存储在0x00 - 0x7f的128B的RAM空间,可以用acc直接读写,速度最快,生成的代码也最少。
idata:将数据存储在0x00 - 0xff的256B的RAM空间,与data的区别在于访问方式不同,idata数据需要通过间接方式访问。
xdata:将数据存储在外部0x0000 - 0xffff RAM空间,用DPTR访问。
pdata:将数据存储在外部扩展RAM的低256字节空间。
code:将数据存储在ROM区域。
bdata:C51自定义语句,非标准C关键字。主要用于定义8位或以上的位访问。
例如:
1 char bdata MODE;
2
3 sbit MODE_7 = MODE^7;
4 sbit MODE_6 = MODE^6;
5 sbit MODE_5 = MODE^5;
6 sbit MODE_4 = MODE^4;
7 sbit MODE_3 = MODE^3;
8 sbit MODE_2 = MODE^2;
9 sbit MODE_1 = MODE^1;
10 sbit MODE_0 = MODE^0;
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
51单片机的片内RAM和片外RAM的区别(2023-07-26)
型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必须得用 xdata 来访问了。
......
如何对51单片机RAM不同的区域进行划分(2024-03-19)
是使用 data 区域,data 不够用了,我们就用 xdata,如果希望程序执行效率尽量高一点,就使用 pdata 关键字来定义。其它型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必......
51单片机存储程序和数据(2024-03-19)
51单片机存储程序和数据;初学51总是会有这样的疑问,从电脑下载程序到开发板后,程序去哪了? C51中,用户或应用程序,系统程序和数据都是存放在哪的?
51单片机从物理结构上,可分为片内,片外......
51单片机的启动代码究竟里面写了什么(2023-06-26)
51单片机的启动代码究竟里面写了什么;在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:
keil创建新项目时,提示是否添加启动文件
一般情况下,需要选择“是”。当然,也可......
51学习笔记之关键词data、bdata、idata、pdata、xdata、code的含义(2024-07-24)
51学习笔记之关键词data、bdata、idata、pdata、xdata、code的含义;最近用51单片机做个小项目,编写程序时,出现如下错误
MAIN.C(284): error C249......
51单片机的启动文件作用是什么(2023-06-19)
51单片机的启动文件作用是什么;在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:
一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么......
51单片机的启动文件内容(2023-07-18)
51单片机的启动文件内容;在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:
keil创建新项目时,提示是否添加启动文件
一般情况下,需要选择“是”。当然,也可......
单片机启动文件.s有什么作用(2023-06-27)
单片机启动文件.s有什么作用;在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:
keil创建新项目时,提示是否添加启动文件
一般情况下,需要选择“是”。当然,也可......
单片机启动文件.s有什么作用?(2023-07-11)
单片机启动文件.s有什么作用?;在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:
keil创建新项目时,提示是否添加启动文件
一般情况下,需要选择“是”。当然,也可......
51单片机编程在不同内存空间(data xdata bdata)定义变量的注意事项(2024-05-06)
51单片机编程在不同内存空间(data xdata bdata)定义变量的注意事项;1、data区空间小,所以只有频繁用到或对运算速度要求很高的变量才放到data区内,比如for循环中的计数值。
2......