单片机ACC问题?请问ACC是个变量呢还是个表达式?

2019-03-24 19:36发布

dat1=ACC;//16进制转十进制
 dat2=dat1/16;
 dat1=dat1%16;
 dat1=dat1+dat2*10;
 return dat1; 上述程序中 必须把ACC付给变量dat1程序才对 而改成如下程序为什么就不对了呢? dat1=ACC%16; //16进制转十进制
 dat2=ACC/16;
 dat1=dat1+dat2*10;
 return dat1; 也就是说ACC直接参与运算为什么就出错了 ?ACC难道不是变量吗?比如ACC=ACC>>1  这个表达式ACC可以直接参与运算就对 宏定义中REG52.h 中不是定义了 #define ACC=0X80 了吗 ?求解答 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
小小白
2019-03-25 03:55
首先我想说楼主很仔细,Acc是一个寄存器,那个宏定义,说的是他的地址,他是在ram里面的特殊寄存器,明白这个之后你就不难理解为什么把他直接进行运算为什么错了吧?

一周热门 更多>