标题: 单片机字节的地址为什么可以和位地址重叠? [打印本页]

作者: QWE4562012    时间: 2020-6-30 10:21
标题: 单片机字节的地址为什么可以和位地址重叠?


作者: cjjdemon    时间: 2020-6-30 16:34
没有重叠呀,字节地址98H,从98H到9FH这8个位,就是这个字节的8位地址呀。
如果你选择直接整个寄存器赋值,就是对98H赋值。如果是选择对某一位赋值,就是选择98H到9FH之间的某一位就行了。
作者: Y_G_G    时间: 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:你估计是看不明白我说的东西的,单片机这玩意只能一步一步来,你想先看完整套的数据手册,等到弄明白了再编程,这会浪费很多时间
作者: adject    时间: 2020-6-30 21:44
寻址方式不同,位寻址是51特有的,由内部的布尔处理来完成的
作者: QWE4562012    时间: 2020-7-1 08:25
cjjdemon 发表于 2020-6-30 16:34
没有重叠呀,字节地址98H,从98H到9FH这8个位,就是这个字节的8位地址呀。
如果你选择直接整个寄存器赋值 ...

字节赋值和位赋值用怎样的指令呢
作者: QWE4562012    时间: 2020-7-1 08:25
adject 发表于 2020-6-30 21:44
寻址方式不同,位寻址是51特有的,由内部的布尔处理来完成的

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




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1