电子产品世界 » 论坛首页 » 基础知识 » 综合知识 » 基础知识每日一题——第十五题


共10条 1/1 1 跳转至

基础知识每日一题——第十五题

高工
2014-06-25 09:19:29    评分
       活动简介:

“每日一题”是EEPW参考西电XDLab社推出的旨向初学者普及基础知识的一项活动,每天在此帖内公布“每日一题”的题目。大家可以根据自己的理解对题目进行回答和相互讨论,我们鼓励大家积极发言。第二天会给出参考答案。每天一帖,所有的题目都将汇集至此,以期方便大家查找。

 

活动宗旨:

活动目的在于通过“每日一题”让大家每天进步一点点,增强大家的基础知识,提高大家对电子制作的兴趣。我们鼓励大家积极发言,如果不懂、是菜鸟,请积极发问;如果懂、是大神,请慷慨解囊。


        今日题目:

        1、51单片机内的RAM根据用途的不同,可以分为哪几个区?

        2、分别具有怎样的特点?


        参考答案:10L



基础知识每日一题



关键词: 51单片机     RAM     基础知识    

助工
2014-06-25 16:55:31    评分
2楼
菜鸟同问,期待高手回答

菜鸟
2014-06-25 17:12:28    评分
3楼

8051为代表说的51单片机存储器结构


1.内部数据存储器低128单元 (DATA区)

  

1)工作寄存器区


8051共4有4组,每组包括8个(以R0~R7为编号)共计32个寄存器单元,用来存放操作数及中间结果等,称为通用寄存器或者工作寄存器。4组通用寄存器占内部 RAM 的 00H~1FH单元地址


2)位寻址区


内部 RAM 的 20H~2FH单元,即可做一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称为位寻址区(BDATA区),位寻址区共有16个 RAM 单元 。共计128位,相应的地址为00H~7FH


3)用户数据缓冲区


  在内部RAM低128单元中,除了工作寄存器区(占32个单元)和位寻址区(占16个单元)外,剩下的80个单元,单元地址为30H~7FH,是供用户使用的一搬RAM区,对用户数据缓冲区的使用没有任何规定或限制,但在一般应用中常吧堆栈开辟在此区中。

2.内部数据存储器高128单元


    内部RAM的高128单元地址80H~FFH,是供给专用寄存器SFR也称为特殊功能寄存器。用户不能使用


专家
2014-06-25 17:43:41    评分
4楼
学习了

菜鸟
2014-06-25 19:33:27    评分
5楼

51单片机本科时候学习过

都想不起来啦

现在刚好学习一下


菜鸟
2014-06-25 20:51:46    评分
6楼

一般用到的时候才会查,平时没事看看也好,有个印象,以后查的时候也就快了。


专家
2014-06-25 22:02:32    评分
7楼
学习了,谢谢楼主。

专家
2014-06-26 00:16:28    评分
8楼

这个东西还这么复杂呢~~

还划分了这么多的区域啊~~


专家
2014-06-26 01:19:24    评分
9楼

 51单片机片内RAM,共256字节,可以分为两个部分:低128字节数据区,用于存放可读写数据;高128字节数据区,被专用寄存器占用

  

 低128字节(00H~7FH)数据区可以直接寻址,分为三个区域:工作寄存器区,位寻址区和通用数据区。

  工作寄存器区共4个组,每组为8个存储单元,即00H~07H,08H~0FH,10H~17H,18H~1FH,具体选择哪一个由程序状态字(PSW)中的RS1和RS0的组合决定。

  位寻址20H~2FH,共16个单元,既可以做位操作,也可以字节操作。
  通用数据区30H~7FH,共80个单元,用于堆栈和存放程序运行时的数据和中间结果。

128字节(80H~FFH)数据区为专用寄存器占用,其中还离散的分布SFR(21个特殊功能寄存器)比如累加器 、P0-P3口地址、TMOD、PCON等,这里有的可以位寻址,有的不行,看具体寄存器的要求


 


高工
2014-06-26 09:22:02    评分
10楼

51单片机内的RAM根据用途的不同,可以分为以下几个区:

1、DATA区:又叫直接寻址区,位于单片机内部RAM的前128个字节,可以直接寻址,例如MOV A,30H,一般在写C程序的时候,把一些经常用到的变量放在这个区里面,这样可以节省机器周期。

2、IDATA区:间接寻址区,单片机内部RAM的前256个字节,用间接寻址进行访问。例如:

MOV R0,#30H  

MOV A,@R0

这里要说明的是,89C52的特殊功能寄存器的地址跟后面128个字节的RAM的地址重叠,但是他们两的物理地址独立的,只是用不同的寻址方式来访问。所以89C52的后128个字节的RAM只能用间接的寻址方式来访问。而特殊功能寄存器只能用直接寻址的方式来访问。

3、BDATA区:位寻址区。位于单片机内部RAM地址为20H-2FH的16个寄存器,这16个寄存器可以进行位寻址。例如:CLR 20H.0

对于外部RAM也可以分为如下两个区:

PDATA区:位于外部RAM的前256个字节的寄存器,用R0和R1做指针进行访问。

XDATA区:位于外部RAM的整个64K的空间,用DPTR做指针访问。



由于水平有限,如果您发现参考答案中有错误或者有需要补充的,请将您的答案或者建议发送至:master@eepw.com.cn 


共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]