标题: 单片机片内RAM [打印本页]

作者: 无忧    时间: 2008-9-3 22:12
标题: 单片机片内RAM
单片机片内RAM共256B,低128B为用户RAM区,高128B为特殊功能寄存器区,但是,今天老师讲单片机存储器时,讲到内部RAM时,说道片内低128B为用户RAM,高128B有两部分,内部RAM和特殊功能寄存器,他们地址重合,访问高128B和SFR时,通过采用不同指令来区分。可是,我看了好几本书,都说的是高128RAM存放着SFR,和老师讲的有点儿不一样,请问到底哪一个对?
作者: nglmh2006    时间: 2008-9-3 23:07

底128B 是程序用的,高128B是用户可以用的!


作者: pinako    时间: 2008-10-17 00:22
你老师说的是正确的,我认为。高128是可以使用的,但是不是全部都可以用,其中特殊功能寄存器要占一部分空间,堆栈要占一部分空间,剩下的才是你可以用的空间。定义idata型的变量就可以存储到这个空间了,不能直接寻址,只能间接寻址。
作者: colengol    时间: 2008-10-19 15:18

我也是看书自学的   我估摸着老师好像口误了  !


作者: 新手小苏    时间: 2018-6-3 18:30
在51中,SFR在物理结构上存在于高端RAM中,但是是二者不相等,可以说SFR包含于高端RAM之中。
SFR是高端RAM中具有特殊功能的寄存器。只能用直接寻址的方式(其中包括位寻址);
而高端RAM中剩下的空间用作扩展用。且只能用间址寻址的方式访问。
(老师教的加自学加个人理解)
作者: 新手小苏    时间: 2018-6-12 01:11
今天又去找老师,发现我之前的理解是错的,SFR和高端RAM在物理上是不同结构。只是二者在地址上是重合的,所以采用不同的寻址方式加以区别,即SFR只能用直接寻址。而高端RAM就是用作数据存储,而并非之前所理解的SFR包含于高端RAM中。并且对于基本型的51没有高端RAM,只有低端的128B的RAM。并且老师通过仿真软件演示给我看,所以现在我认为你的老师说的是对的,大部分书是错的。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1