地址怎么有2个?

[复制链接]
700|10
 楼主| dingy 发表于 2020-2-16 14:44 | 显示全部楼层 |阅读模式
PIC16F877 REGISTER FILE MAP 中TIM0地址怎么有2个?
songqian17 发表于 2020-2-16 14:47 | 显示全部楼层

什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| dingy 发表于 2020-2-16 15:02 | 显示全部楼层
PIC16F877  REGISTER FILE MAP表中 TIM0地址一个是01h一个是101H,求解释。谢谢
pengf 发表于 2020-2-16 15:05 | 显示全部楼层
映射到多个地址
 楼主| dingy 发表于 2020-2-16 15:08 | 显示全部楼层
但是我直接操作101H寄存器值不改变,这个是为什么呀
liuzaiy 发表于 2020-2-16 15:11 | 显示全部楼层
没有切换到对应的bank
 楼主| dingy 发表于 2020-2-16 15:16 | 显示全部楼层

嗯,那我按大家的说法挨个排查一下,谢谢哈
ynwa 发表于 2020-2-17 14:02 | 显示全部楼层
说明这两个地址都可以访问到TMR0(bank0和bank3中)。但是你先要通过Status寄存器的RP1:RP0位 (Register Bank Select bits) 选择对应的bank。选错了bank,访问的当然就不是TMR0了。另外,用汇编才需要自己设置bank;用C语言不需要,C编译器会帮你切换。
gejigeji521 发表于 2020-2-17 14:21 | 显示全部楼层
为何不用C操作呢。
gejigeji521 发表于 2020-2-17 14:21 | 显示全部楼层
这个型号有很多C语音的书的。还有很多例子。
CoolSilicon 发表于 2020-2-18 09:24 | 显示全部楼层
PIC的RAM是分bank的, 为了快速访问, 有些寄存器在不同的bank里面都有隐射的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部