为什么51单片机的SFR字节地址只有以0和8结尾才能位寻址?原来是这样!

概要

在学单片机原理这本书的时候,讲的特殊功能寄存器--SFR。老师都会告诉你,只有地址以0和8结尾的SFR(能被8整除)才能进行位寻址。但这是为什么呢?其实很简单,让我们慢慢道来!

详细解析

首先,我们要知道8051单片机只有位地址空间才可以进行位寻址,位地址空间有2个区域,一个是片内RAM的20H~2FH,一共16个单元128位;另一个区域则是SFR中的位地址,一共有12个寄存器,实际96个位,其中93个位可位寻址(因为AEH、BEH、BFH位未定义)。

8051的位寻址能力就是作用在这些范围内:内部RAM的20H~2FH的128个位,位地址00~7FH和特殊功能寄存器的12个寄存器。

说了这么多可能大家又乱了,但是我们可以看一下下面这张图:

这张图片就是清晰地解释了,其实SFR中字节地址以0和8结尾(被8整除)的寄存器 就是图中右边部分红色标注的部分。因为每个SFR寄存器有8位,刚好SFR的位地址编码和字节地址编码都是从80H开始的,所以那些80H,88H,90H,98H......都可以被位寻址。

小结

其实51单片机的SFR字节地址只有以0和8结尾才能位寻址的原因就是SFR的字节地址和位地址都是从80H开始编码,且一个寄存器有8个位,所以从80H开始,每加8就是下一个可位寻址的SFR寄存器!例如:80H,88H,90H,98H......

以上都是本人的见解,欢迎评论指正!希望对你有所帮助!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SFR-小曾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值