3714|6

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于51单片机的地址 [复制链接]

我在课件上看到,STC89C52RC单片机的地址,只有80H-FFH这段地址能用程序来控制, 这就是在REG52.H头文件中被定义了,至于00H-7EH这段是被称为"直接或间接寻址寄存器", 一共分为四个区的,请问这四个区, 既然不能被程序控制,那么它是用在存放什么数据的呢?

谢谢.

最新回复

在C51中,直接寻址的变量声明为data,间接寻址的声明为idata,外部存储器则声明为xdata。  详情 回复 发表于 2008-10-22 13:19
点赞 关注

回复
举报

77

帖子

0

TA的资源

五彩晶圆(中级)

沙发
 
1.只有80H-FFH这段地址能用程序来控制, 这就是在REG52.H头文件中被定义了
        这些都是些特殊寄存器,与一些锁存器,状态字
2.至于00H-7EH这段是被称为"直接或间接寻址寄存器",...既然不能被程序控制,
    那个说不能被程序控制,可能可以的,建议楼主先认真看书
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 vc8fans 的回复:
1.只有80H-FFH这段地址能用程序来控制, 这就是在REG52.H头文件中被定义了
        这些都是些特殊寄存器,与一些锁存器,状态字
2.至于00H-7EH这段是被称为"直接或间接寻址寄存器",...既然不能被程序控制,
    那个说不能被程序控制,可能可以的,建议楼主先认真看书


书上就是没讲清楚啊. 那么00H-7EH这段, 是用什么存放什么数据的呢?
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

4
 
至少可以当ram
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

5
 
在51里面它的存储器地址为00H-FFH,共256个字节,这256个内存空间可以划分为四块
00H-1FH 为工作寄存器组,共四组,每组8个字节,这里为了在响应中断的时候快速保护现场设的,可以作为通用RAM用。
20H-2FH 为位寻址区,共32个字节,256个bit,这个区域即可以按位寻址,也可以按字节寻址,比如你定义的bit类型就是     在这个区域,也可以把全局变量和临时变量放在这个区。
30H-7FH 为通用RAM区,程序中定义的全局变量和临时变量一般都在这个区,包括堆栈。
80H-FFH 为特殊功能寄存器区,这个区有些地址可按位寻址(以0和8结尾的地址)。
在52里面,共有256RAM,它比51多了128字节的RAM,前面的情况和51是一样的。但多出来的128个字节地址编码还是从80H-FFH,这样不是和特殊功能寄存器的地址重叠了吗。所以为了能正确寻址这128字节和特殊功能寄存器,52里规定,要对高128字节RAM寻址,只能通过间接寻址的方式,要对特殊功能寄存器寻址只能用直接寻址方式。比如下面的
MOV A,80H; 寻址的是特殊功能寄存器80H(即P0口)

MOV R0,80H;
MOV A,@R0;寻址的是地址是80H的RAM
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

6
 
C51中对52单片机
data对应00-ffh
sfr对于直接寻址的7fH-ffH
变量定义到data区就好了。
许多单片机还有片内RAM,定义在XDATA区。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

7
 
在C51中,直接寻址的变量声明为data,间接寻址的声明为idata,外部存储器则声明为xdata。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表