找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2840|回复: 5
打印 上一主题 下一主题
收起左侧

单片机字节的地址为什么可以和位地址重叠?

[复制链接]
跳转到指定楼层
楼主

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:612392 发表于 2020-6-30 16:34 | 只看该作者
没有重叠呀,字节地址98H,从98H到9FH这8个位,就是这个字节的8位地址呀。
如果你选择直接整个寄存器赋值,就是对98H赋值。如果是选择对某一位赋值,就是选择98H到9FH之间的某一位就行了。
回复

使用道具 举报

板凳
ID:401564 发表于 2020-6-30 19:52 | 只看该作者
没有人规定地址不能相同呀!你认为地址不能用相同名称的理由是什么呢?
1:SBUF这个寄存器的地址是99H,也就是说99H用了SBUF这个名称而已,而99H在8051中实际的物理空间一共有三个:两个是SBUF,前面的文字已经说明白了:读SBUF就是读取接收到的数据,写入SBUF就是发送数据,意思就是这个字面上的意思,没有其它意思了
2:还有一个地址也是99H,那就RAM上的99H,而且,在RAM中,80H-FFH的地址是和特殊寄存器地址是一样的,也就是说,在8051中,有两个80H-FFH的空间,区分它们的方法是寻址方式,不同的寻址对应不同的空间
3:你估计是看不明白我说的东西的,单片机这玩意只能一步一步来,你想先看完整套的数据手册,等到弄明白了再编程,这会浪费很多时间
回复

使用道具 举报

地板
ID:419968 发表于 2020-6-30 21:44 | 只看该作者
寻址方式不同,位寻址是51特有的,由内部的布尔处理来完成的
回复

使用道具 举报

5#
ID:668004 发表于 2020-7-1 08:25 | 只看该作者
cjjdemon 发表于 2020-6-30 16:34
没有重叠呀,字节地址98H,从98H到9FH这8个位,就是这个字节的8位地址呀。
如果你选择直接整个寄存器赋值 ...

字节赋值和位赋值用怎样的指令呢
回复

使用道具 举报

6#
ID:668004 发表于 2020-7-1 08:25 | 只看该作者
adject 发表于 2020-6-30 21:44
寻址方式不同,位寻址是51特有的,由内部的布尔处理来完成的

位寻址是51特有的???那 ARM岂不是更不好用
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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