您的位置 首页 汽车

单片机关于RAM的效果

1、内部RAM:共256个单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。前128单元具体分为:1工作寄存器区:

1、内部RAM:共256个单元,用户运用前128个单元,用于寄存可读写数据,后128个单元被专用寄存器占用。

前128单元详细分为:
1.作业寄存器区:共4个组,每组为8个存储单元,即00H-07H,08H-0FH,10H-17H,18H-1FH,详细挑选哪一个由程序状态字(PSW)中的RS1和RS0的组合决议
2.位寻址区:20H-2FH,共16个单元,每一位能够进行位寻址(16*8=128个位地址),便是每一个触发位,便是bit能够寻址
3.便笺区:从30H-7FH,共80个单元,用于寄存用户数据或作仓库区运用。

4.从80H-FFH为专用寄存器占用,其间还离散的散布SFR(21个特别功用寄存器)

2、256B
其间00H~7FH
可分为3个区域:
00H~1FH 是通用寄存器区
20H~2FH 是位寻址区
30H~7FH 是用户RAM区

80H~FFH是特别功用寄存器区

3、AT89S51单片机的ram,只要128字节,地址规模:00H~7FH。
SFR不是RAM,是特别功用寄存器,地址规模:80H~FFH,SFR在其间离散散布着。

AT89S52单片机的ram,就有256字节,地址规模:00H~FFH。
SFR,特别功用寄存器,仍然在地址规模:80H~FFH。
两者的地址重叠了,差异办法如下:
对80H~FFH直接寻址,便是读写SFR,特别功用寄存器;
对80H~FFH直接寻址,便是读写RAM。

4、先说说这几个词是什么意思:
1,DATA,51的内部RAM,只要128B(字节)巨细,不管是最新的什么增强型单片机;

2,XDATA,外部RAM,只能运用MOVX寻址

3,CODE,代码区,便是你的代码的巨细,AT89C51为4K,C52为8K等,增强型的有更多的挑选。

然后阐明一下,几种RAM的差异:
1,DATA,也是上面1说到的DATA RAM,占51的128B;
2,IDATA,巨细也为128B,与DATA构成256字节的内存(如AT89C52)
3,PDATA,外部RAM的前256B(便是一个页的巨细),是XDATA的一部分;
4,XDATA,外部RAM

所以你的那个单片机的1280B,其实组成为:
DATA :128B
IDATA:128B
XDATA:1024B

单片机C言语unsigned char code table[] code 是什么效果?

code的效果是告知单片机,我界说的数据要放在ROM(程序存储区)里边,写入后就不能再更改,其实是适当与汇编里边的寻址MOVC(好像是),由于C言语中没办法详细描述存入的是ROM仍是RAM(寄存器),所以在软件中添加了这一个句子起到替代汇编指令的效果,对应的还有data是存入RAM的意思。

程序能够简略的分为code(程序)区,和data (数据)区,code区在运转的时分是不能够更改的,data区放全局变量和暂时变量,是要不断的改动的,cpu从code区读取指令,对data区的数据进行运算处理,因而code区存储在什么介质上并不重要,象曾经的计算机程序存储在卡片上,code区也能够放在rom里边,也能够放在ram里边,也能够放在flash里边(可是运转速度要慢许多,首要读flash比读ram要费时间),因而一般的做法是要将程序放到flash里边,然后load到 ram里边运转的;DATA区就没有什么挑选了,肯定要放在RAM里边,放到rom里边改动不了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/261602.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部