找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5685|回复: 14
收起左侧

新人,求教,关于特殊功能寄存器SFR

[复制链接]
ID:139137 发表于 2016-9-15 19:11 来自手机 | 显示全部楼层 |阅读模式
ram不外扩就128B,00H~7FH,那SFR的80H~FFH是怎么回事,书上说SPR的单元地址映射在片内RAM的80H~FFH区域,不是太懂,请教一下
回复

使用道具 举报

ID:137239 发表于 2016-9-15 23:36 | 显示全部楼层
256B的片内数据存储器的地址空间,80~FFH是特殊功能寄存器的地址
回复

使用道具 举报

ID:139137 发表于 2016-9-16 00:37 来自手机 | 显示全部楼层
STC89C51 发表于 2016-9-15 23:36
256B的片内数据存储器的地址空间,80~FFH是特殊功能寄存器的地址

但是片内RAM就是128B啊。?
回复

使用道具 举报

ID:139137 发表于 2016-9-16 19:25 来自手机 | 显示全部楼层
STC89C51 发表于 2016-9-15 23:36
256B的片内数据存储器的地址空间,80~FFH是特殊功能寄存器的地址

我们学的是AT89S51单片机,片内数据存储器就128B,没有256,但是书上还是说SFR映射地址单元在80—FFH
回复

使用道具 举报

ID:137239 发表于 2016-9-17 08:11 | 显示全部楼层
非增强型片内RAM就128个字节,0x00~0x7f,增强型的片内RAM是256个字节,0x00~0x7f低128字节单元,0x80~0xff是高128字节单元;特殊功能寄存器SFR的字节地址也是0x80~0xff,虽然与增强型片内RAM的高128字节地址相同,但是它们是不同的的存储空间,具有不同的功能,访问方式也不同。
回复

使用道具 举报

ID:139589 发表于 2016-9-17 08:27 | 显示全部楼层
uytiuytioluyyuuuuuuuuuuuuuuuuuuuuuuuuu
回复

使用道具 举报

ID:139618 发表于 2016-9-17 14:00 | 显示全部楼层
不明觉厉,新手表示膜拜
回复

使用道具 举报

ID:123289 发表于 2016-9-18 15:45 | 显示全部楼层
51系列中供用户使用的RAM不三种:64,128,256,以型号不同而异,现在的产品都是256的了,128也较少使用了。
回复

使用道具 举报

ID:123289 发表于 2016-9-18 15:48 | 显示全部楼层
对应128的地址是:00-7FH
对应256的地址是:00-FFH
但是其内部的特殊功能寄存器,无论是128,还是256,都点用地扯80-FFH.
回复

使用道具 举报

ID:123289 发表于 2016-9-18 15:51 | 显示全部楼层
对应128的地址是:00-7FH,特殊功能寄存器占用地扯80-FFH,两者地址不同相安无事。
对应256的地址是:00-FFH,用户区的80-FFH,与特殊功能寄存器占用地扯80-FFH是有冲空的。
回复

使用道具 举报

ID:123289 发表于 2016-9-18 15:59 | 显示全部楼层
例如:特殊功能寄存器的80H=P0口。如果往地址80H是送数是不是会改变P0口呢?
单片机设计者为了解决这个冲突就做了如下设计:
1、直接寻址:是访问特殊功能寄存器,本例即P0口。
如:MOV   80H, #00111100B
等同写法: MOV   P0, #00111100B
回复

使用道具 举报

ID:123289 发表于 2016-9-18 16:04 | 显示全部楼层
2、间接寻址:是访问用户高端RAM,而不是特殊功能寄存器(本例P0口)。
如:MOV   R1,  #80H
      MOV   @R1, #00111100B
     MOV   R0, #P0                        ;注意P0会被译成80H,而P0前的#则表示这个80是立即数。这里故意这样写是帮助理解编译器的编译过程
MOV   @R0, #00111100B
回复

使用道具 举报

ID:123289 发表于 2016-9-18 16:17 | 显示全部楼层
总结:无冲突的低端RAM:00-7FH,无论直接或间接寻址,都是访问的同一个地址。
有冲突的高端RAM:80-FFH,是通过直接与间接寻址来区分的。

特殊功能寄存器:是每个51单片机都有的,这是51单片机设计高明的地方,型号不同其特殊功能不同,但最基本的寄存器定义是相同的,这是为了保证51系列的通用性。
扩充的特殊功能寄存器因型号不同而定义是不同的,这是51开放了它的资源,使用其它芯片商能发展扩大51的功能,正是这一举措,使得51成为最经典,最富生命力的单片机。
像C8051F,STC51……的特殊功能寄存器扩充部分就有差异,这是高手门应用时需要特别注意的地方。


回复

使用道具 举报

ID:106900 发表于 2016-9-18 16:41 | 显示全部楼层
51单片机片内数据存储器除了RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128个字节,其编址为00H~7FH;后者也占128个字节,其编址为80H~FFH;两者连续而不重叠。
回复

使用道具 举报

ID:139792 发表于 2016-9-19 08:44 | 显示全部楼层
不错不错
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表