如题所述
ACC7=ACC^7,就是在定义时写的用ACC7来表示ACC^7,这样在下面的程序写起来比较方便。比如说你还会见到sbit p0_0=P0^0,因为在reg52.h里面写的P0.0口是P0^0,程序员为了在写程序时输入方便和阅读方便就把它定义写成p0_0了。追问
void write(unsigned char add,unsigned char dat)
{char i;
load=0;
ACC7=add;
for(i=0;i<=7;i++)
{
clk=0;
din=ACC7;
ACC=ACC<<1;
clk=1;
}
ACC=ACC<<1是整个寄存器的右移吗?
这个与ACC的最高位有什么练习?
这是MAX7219的程序?
ACC=ACC<<1是整个寄存器的左移一位
ACC^7就是ACC的最高位,移位以后变成最低位
看不出是什么程序~
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-02-28
ACC7就是个变量名。ACC^7表示ACC寄存器的第七位。本回答被提问者和网友采纳
第2个回答 推荐于2016-08-14
累加器(ACC)是8位寄存器,常用于进行算术或逻辑操作的输入和运算结果的输出。在指令累加器的助记符为A,作为直接地址时助记符为ACC。ACC7为累加器对应的位。通常写作sbit ACC7=ACC^7。
第3个回答 2015-07-12
源码是
sbit ACC7=ACC^7;这样的形式吧
定义特殊功能寄存器的位变量,表示ACC寄存器(累加器)的最高位
具体用处,取决于使用的代码,一边是用于判断累加和是否为负数(有符号数的话)
第4个回答 2011-08-12
“^”为异或的意思,ACC7为ACC和7异或的值,其实也就是要看AAC所代表的寄存器0~2位的状态