打印

请教关于C8051寄存器操作问题

[复制链接]
2650|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aiping1987|  楼主 | 2010-9-13 14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在用C8051F120单片机时,为什么每次当初始化时都要保存当前寄存器页之后才能操作,而且操作完之后还要还原当前寄存器页呢?如下的定时器初始化操作。我感觉操作其他的单片机好像都不需要这样。
void Timer2_Init (void)
{
   unsigned char SFRPAGE_save = SFRPAGE;
   SFRPAGE = TMR2_PAGE;

   ...

   SFRPAGE = SFRPAGE_save;   
}

相关帖子

沙发
ayb_ice| | 2010-9-13 14:19 | 只看该作者
为什么其它MCU不叫C8051F120呢

使用特权

评论回复
板凳
mjj123| | 2010-9-13 17:30 | 只看该作者
你也可以不保存以前的页,直接SFRPAGE = TMR2_PAGE;
这样你每次操作相关的寄存器时,都要切换的对应的页就可以了。

使用特权

评论回复
地板
ayb_ice| | 2010-9-14 09:53 | 只看该作者
SFR多于128字节,超过了51的SFR空间,自然要分页的
中断中一般要保存当前页,
而非中断调用程序不需要保存页,在访问分页SFR时,直接设定页再访问即可

使用特权

评论回复
5
ayb_ice| | 2010-9-14 09:54 | 只看该作者
SFR多于128字节,超过了51的SFR空间,自然要分页的
中断中一般要保存当前页,
而非中断调用程序不需要保存页,在访问分页SFR时,直接设定页再访问即可

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

38

帖子

0

粉丝