51单片机C语言工作寄存器问题

在C语言里如何调用R0--R7,我看了头文件里面没有定义,是得自己定义吗?如何使用第二组寄存器?... 在C语言里如何调用R0--R7,我看了头文件里面没有定义,是得自己定义吗?如何使用第二组寄存器? 展开
 我来答
aogetuya
2015-03-23 · TA获得超过381个赞
知道小有建树答主
回答量:408
采纳率:88%
帮助的人:153万
展开全部
头文件里定义了PSW
当PSW中的RS1、RS0发生变化时对应的工作区发生相应的变化,对应关系为:
00:工作区0,R0~R7对应地址00H~07H
01:工作区1,R0~R7对应地址08H~0FH
10:工作区2,R0~R7对应地址10H~17H
11:工作区3,R0~R7对应地址18H~1FH
RS1/RS0是靠软件来设置的,你可以根据不同情况自由设置,一般中断时用得较多,避免影响正常流程下的工作寄存器值。
追问
那如何使用R0--R7呢?我直接写

R0=0xff;
KEIL提示没有定义
追答
C语言下,主要在中断服务子函数用到这个寄存器,定义子函数时用using x语句,剩下的编译器为你处理。
不知你赋值要干啥
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式