21113|22

3390

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

单片机寄存器地址,为什么有些是00H,有些是0000H?有区别吗?80H到FFH有多少个地... [复制链接]

 

单片机寄存器地址,为什么有些是00H,有些是0000H?有区别吗?80H到FFH有多少个地址怎么计算呢?

QQ图片20200623104617.png (181.47 KB, 下载次数: 0)

QQ图片20200623104617.png
此帖出自单片机论坛

最新回复

有区别,51单片机一大特性是内存单元和程序存储单元分别使用各自的地址结构,非统一编址,00h指内存单元,8位形式,存储单元为16位  详情 回复 发表于 2020-6-28 17:16
点赞 关注
 

回复
举报

1377

帖子

2

TA的资源

五彩晶圆(初级)

沙发
 

单纯就数值来讲,00H 和 0000H 都是0.  在汇编里面写 0, 0H, 00H, 0000H ,或者C语言里面写 0, 0x0,  0x00,  0x0000 是没有区别的。

又比如 6月5日,可能会在电子设备上显示成 06月05日,那表示的意义是一样的。

你引用的这里写成 00H, 0000H 这样子,是为了暗示这个值用于8位或者16位的寄存器、地址之类的表示。

此帖出自单片机论坛

点评

恩恩。讲得挺好的。还有, 00H, 0000H这个能看出是多少位的寄存器不 00H为什么一眼就能看出是8位    详情 回复 发表于 2020-6-23 14:27
 
 

回复

2万

帖子

0

TA的资源

超级版主

板凳
 

8051单片机,片内RAM地址从0到127,当然用一字节表示就够了。8052单片机,片内RAM地址从0到255,一字节也够了。

程序存储器地址从0到65535,当然必须用两个字节表示。

此帖出自单片机论坛
 
 
 

回复

1377

帖子

2

TA的资源

五彩晶圆(初级)

4
 

80H 到 FFH,  就是 FFH-80H+1 = 80H (十进制128)个地址。两个地址数值相减再加1就得到答案了。

此帖出自单片机论坛

点评

要换算成十进制再相减吗  详情 回复 发表于 2020-6-23 14:28
从楼主贴出的图看,片内RAM地址直接用高半段的FFH减去低半段的7FH,正好。  详情 回复 发表于 2020-6-23 11:47
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

5
 

“80H到FFH有多少个地址怎么计算呢?”

前一回复已经说明地址从00H到FFH,一共是256字节,那么80H到FFH是256的一半。

此帖出自单片机论坛

点评

256是怎么计算来的  2^8次方?  详情 回复 发表于 2020-6-23 14:30
一个字节就是一个地址是吗    详情 回复 发表于 2020-6-23 14:29
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

6
 

“怎么计算呢?”

对你来说,把十六进制转换成十进制计算吧。

此帖出自单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

7
 
cruelfox 发表于 2020-6-23 11:27 80H 到 FFH,  就是 FFH-80H+1 = 80H (十进制128)个地址。两个地址数值相减再加1就得到答案了。

从楼主贴出的图看,片内RAM地址直接用高半段的FFH减去低半段的7FH,正好。

此帖出自单片机论坛
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

8
 
cruelfox 发表于 2020-6-23 11:22 单纯就数值来讲,00H 和 0000H 都是0.  在汇编里面写 0, 0H, 00H, 0000H ,或者C语言里面写 0, 0x0, & ...

恩恩。讲得挺好的。还有, 00H, 0000H这个能看出是多少位的寄存器不 00H为什么一眼就能看出是8位  

此帖出自单片机论坛

点评

确切说是不能。 你想我们日常写数字若非要用0开头是什么场合?比如快递三轮车编号 00245,就暗示了这个编号系统的范围是 5 位数能表示的范围,暗示这个地区可能有超过一万辆这类三轮车——但不一  详情 回复 发表于 2020-6-23 15:51
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

9
 
cruelfox 发表于 2020-6-23 11:27 80H 到 FFH,  就是 FFH-80H+1 = 80H (十进制128)个地址。两个地址数值相减再加1就得到答案了。

要换算成十进制再相减吗

此帖出自单片机论坛
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

10
 
maychang 发表于 2020-6-23 11:28 “80H到FFH有多少个地址怎么计算呢?” 前一回复已经说明地址从00H到FFH,一共是256字节,那 ...

一个字节就是一个地址是吗  

此帖出自单片机论坛

点评

“一个字节就是一个地址是吗 ” 不一定。对256个地址(00H~FFH,或者0~255)来说,是一字节。对65536个地址(0000H~FFFFH,或者0~65535)来说,是二字节。 当然,不够256个,例如8031单片机的RAM,  详情 回复 发表于 2020-6-23 15:06
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

11
 
maychang 发表于 2020-6-23 11:28 “80H到FFH有多少个地址怎么计算呢?” 前一回复已经说明地址从00H到FFH,一共是256字节,那 ...

256是怎么计算来的  2^8次方?

此帖出自单片机论坛

点评

“256是怎么计算来的  2^8次方?” 是的。  详情 回复 发表于 2020-6-23 15:08
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

12
 
QWE4562009 发表于 2020-6-23 14:29 一个字节就是一个地址是吗  

“一个字节就是一个地址是吗 ”

不一定。对256个地址(00H~FFH,或者0~255)来说,是一字节。对65536个地址(0000H~FFFFH,或者0~65535)来说,是二字节。

当然,不够256个,例如8031单片机的RAM,只有00H~7FH,那也要占一字节。对51系列单片机来说,外部RAM可能只占用了很少一部分地址,例如可能只有0000H~03FFH,那么地址也需要二字节。

此帖出自单片机论坛

点评

00H~7FH,那也要占一字节------------------这个怎么是一字节?怎么看出来只占了一字节啊  这个范围是128个字节啊  详情 回复 发表于 2020-6-23 17:53
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

13
 
QWE4562009 发表于 2020-6-23 14:30 256是怎么计算来的  2^8次方?

“256是怎么计算来的  2^8次方?”

是的。

此帖出自单片机论坛

点评

FF换算成十进制是255   详情 回复 发表于 2020-6-23 17:54
 
 
 

回复

1377

帖子

2

TA的资源

五彩晶圆(初级)

14
 
QWE4562009 发表于 2020-6-23 14:27 恩恩。讲得挺好的。还有, 00H, 0000H这个能看出是多少位的寄存器不 00H为什么一眼就能看出是8位 &n ...

确切说是不能。

你想我们日常写数字若非要用0开头是什么场合?比如快递三轮车编号 00245,就暗示了这个编号系统的范围是 5 位数能表示的范围,暗示这个地区可能有超过一万辆这类三轮车——但不一定有这么多。

一个十六进制的符号(0,1,...到 F)能表示16个数值。用2个这样符号书写的数字表示整数范围是0~255,  用4个可表示的范围是0~65535.  但是寄存器是多少位(能存的整数范围有多大)是需要单独说明的。

比如说某个“寄存器 A 当前值是 0000H”, 给了一个暗示—— 寄存器A的值的范围需要用4个十六进制数来书写表示。但它可以是16位, 还可以是15位,14位,13位。

此帖出自单片机论坛
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

15
 
maychang 发表于 2020-6-23 15:06 “一个字节就是一个地址是吗 ” 不一定。对256个地址(00H~FFH,或者0~255)来说,是一字节 ...

00H~7FH,那也要占一字节------------------这个怎么是一字节?怎么看出来只占了一字节啊  这个范围是128个字节啊

此帖出自单片机论坛

点评

“00H~7FH,那也要占一字节------------------这个怎么是一字节?” 一字节地址。   “怎么看出来只占了一字节啊  这个范围是128个字节啊” 一字节地址,这个一字节地址  详情 回复 发表于 2020-6-23 18:14
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

16
 
maychang 发表于 2020-6-23 15:08 “256是怎么计算来的  2^8次方?” 是的。

FF换算成十进制是255 

此帖出自单片机论坛

点评

“FF换算成十进制是255” 写出FF,本身就是错误。必须写成FFH。十进制数字7写成二进制必须写成111B,否则会被误解为十进制一百一十一。  详情 回复 发表于 2020-6-23 18:09
“FF换算成十进制是255” 没错,FFH换算成十进制是255。但是,0这个数,你计算进去了吗?数数字个数的时候,0是第一个数。  详情 回复 发表于 2020-6-23 18:07
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

17
 
QWE4562009 发表于 2020-6-23 17:54 FF换算成十进制是255 

“FF换算成十进制是255”

没错,FFH换算成十进制是255。但是,0这个数,你计算进去了吗?数数字个数的时候,0是第一个数。

此帖出自单片机论坛

点评

引用:工 作寄存器区后面的 16B单 元 (20H~2FH)为 位寻址区-----------按这样说 这是16个位的地址?而不是16个字节啊  详情 回复 发表于 2020-6-24 11:04
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

18
 
QWE4562009 发表于 2020-6-23 17:54 FF换算成十进制是255 

“FF换算成十进制是255”

写出FF,本身就是错误。必须写成FFH。十进制数字7写成二进制必须写成111B,否则会被误解为十进制一百一十一。

此帖出自单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

19
 
QWE4562009 发表于 2020-6-23 17:53 00H~7FH,那也要占一字节------------------这个怎么是一字节?怎么看出来只占了一字节啊  这个范 ...

“00H~7FH,那也要占一字节------------------这个怎么是一字节?”

一字节地址。

 

“怎么看出来只占了一字节啊  这个范围是128个字节啊”

一字节地址,这个一字节地址,内容从00H到FFH,可以指向128个地址,即128个存储位置。正如手机号为十进制11位数,却可以指向世界上所有手机。

此帖出自单片机论坛
 
 
 

回复

3390

帖子

0

TA的资源

五彩晶圆(中级)

20
 
maychang 发表于 2020-6-23 18:07 “FF换算成十进制是255” 没错,FFH换算成十进制是255。但是,0这个数,你计算进去了吗?数 ...

引用:工 作寄存器区后面的 16B单 元 (20H~2FH)为 位寻址区-----------按这样说 这是16个位的地址?而不是16个字节啊

此帖出自单片机论坛

点评

这16字节可以按位寻址,是51系列单片机的特点,其它单片机往往没有这个可以按位寻址的区域。  详情 回复 发表于 2020-6-24 11:52
是16个字节,共128位。 这128位(16个字节),可以按位寻址,也可以按字节寻址。两种寻址方法,地址是不一样的。按位寻址,当然读出或者写入的是一位二进制数,不是 “0” 就是 “1”。按字节  详情 回复 发表于 2020-6-24 11:51
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表