找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机的地址冲突问题,怎么从物理层面来解释?

[复制链接]
跳转到指定楼层
楼主
特殊功能寄存器TMOD的字节地址为89H,TCON的字节地址为88H,那么TCON的第1位,sbit IE0=89H,而TMOD的第0位地址也为89H,sfr TMOD=89H,
虽然TCON可以位寻址,TMOD只能字节寻址,但是按我的理解是IE0和TMOD的第0位地址都是89H,
这是不是地址冲突了呢,怎么从物理层面来解释?




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

使用道具 举报

沙发
ID:123289 发表于 2017-10-13 00:37 | 只看该作者
前两个指向一个8位的的地址,后一位指向的是1位的地址。
前面说的是“第89层楼”,后面说的是“第89号房间”,虽同是89,但不至于你弄错地方。
回复

使用道具 举报

板凳
ID:111634 发表于 2017-10-13 08:18 | 只看该作者
用c编程时,根本不需考虑地址,只用特殊功能寄存器名就可;用汇编编程时,89H在字节操作指令中是字节地址,在位操作指令中是位地址,CPU不会搞错,但初学者自己会搞错。
回复

使用道具 举报

地板
ID:14237 发表于 2017-10-13 09:05 | 只看该作者
这样理解:89H号房间与89H号床位的区别,没毛病。
回复

使用道具 举报

5#
ID:223571 发表于 2017-10-13 10:53 | 只看该作者
yzwzfyz 发表于 2017-10-13 00:37
前两个指向一个8位的的地址,后一位指向的是1位的地址。
前面说的是“第89层楼”,后面说的是“第89号房间 ...

89层楼的第0号房间,和第89号房间,本质上不是一样的吗?感觉自己的思维有点死,,,


是不是还可以这样理解,字节地址对应的物理层面是“一栋楼A”,位地址对应的物理层面是另外“一栋楼B”,两个是分开独立的部分
回复

使用道具 举报

6#
ID:239111 发表于 2017-10-13 11:08 | 只看该作者
执行的指令不一样,一个是字节处理指令,一个是位处理指令
回复

使用道具 举报

7#
ID:111634 发表于 2017-10-14 13:46 | 只看该作者
蓝野 发表于 2017-10-13 10:53
89层楼的第0号房间,和第89号房间,本质上不是一样的吗?感觉自己的思维有点死,,,

89H是十六进制数,既可代表数据,又可代表地址。代表地址时,既可代表字节地址,又可代表位地址。如何区分呢?在字节操作指令中是字节地址,在位操作指令中是位地址。即汇编中,字节操作指令码后跟随的89H是字节地址,在位操作指令码后跟随的89H是位地址。注意!!!指令码不一样。CPU不会搞错,但初学者自己会搞错,你就是搞不明白的初学者之一。其实,你若用c编程,就根本不用管它,只要用特殊功能寄存器名(大写)表示就可,keil c会自动正确编译。若用汇编,你也不用管它,但是指令操作符(代表指令操作码)不能搞错。这就是为什么汇编编程比c编程难学的主要原因,汇编编程,除了NOP指令,每一条指令均与操作地址有关。
回复

使用道具 举报

8#
ID:478073 发表于 2019-2-25 03:24 | 只看该作者
用c编程时,根本不需考虑地址,只用特殊功能寄存器名就可;用汇编编程时,89H在字节操作指令中是字节地址,在位操作指令中是位地址,CPU不会搞错,但初学者自己会搞错。
回复

使用道具 举报

9#
ID:639665 发表于 2019-11-13 10:41 | 只看该作者
本人也是初学,迷惑了挺长时间了,直到看到了一张表。现附上,希望对你有帮助……

字节地址和位地址.jpg (182.36 KB, 下载次数: 35)

字节地址和位地址.jpg
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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