打印
[应用相关]

ACC的用法

[复制链接]
669|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CallReceiver|  楼主 | 2019-2-24 12:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

sbit ACC_7 = ACC^7;    //先定义

   for ( i=8; i>0; i-- )
       {
               ACC_7=DIO;
               SCLK = 0;
               ACC=ACC>>=1;
               SCLK = 1;
                   }
其中DIO是单片机引脚,用ACC_7读出的数值
是FF,但是我用if语句判断引脚,不用ACC_7读就是对的
,难道这ACC用法不对?
沙发
zhouhuanの| | 2019-2-24 12:36 | 只看该作者
这里可能for ( i=8; i>0; i-- ) 会用到ACC,这样就会覆盖下面的ACC值

C里面一般不要去操作寄存器

使用特权

评论回复
板凳
feiqi1| | 2019-2-24 12:36 | 只看该作者

用了C,除非你特牛,否则动到寄存器,死得难看

使用特权

评论回复
地板
litengg| | 2019-2-24 12:40 | 只看该作者
要在C语言中直接访问工作寄存器(R0~R7,A,B等等),你就得考虑后果。

使用特权

评论回复
5
qiangweii| | 2019-2-24 12:44 | 只看该作者
我有次用I2C用了ACC,也被囧到了。。。
结果好像改成for(i = 0; i < 8; i++)就没事了。

使用特权

评论回复
6
shashaa| | 2019-2-24 12:45 | 只看该作者
你可以看下编译的汇编程序找找问题

使用特权

评论回复
7
xia00| | 2019-2-24 12:47 | 只看该作者
这好像是51中的芯片,51中才有ACC这个寄存器的。

使用特权

评论回复
8
hfdy01| | 2019-2-24 12:47 | 只看该作者

51中的累加器ACC,是个8位的寄存器,用来存放数据的。

使用特权

评论回复
9
CallReceiver|  楼主 | 2019-2-24 12:49 | 只看该作者
怎么不用宏定义来实现呢??

使用特权

评论回复
10
boy1990| | 2019-2-24 12:50 | 只看该作者
你直接通过宏定义判断不行吗?

使用特权

评论回复
11
sourceInsight| | 2019-2-24 12:51 | 只看该作者
这个应该是51里面的实现方法吧。

使用特权

评论回复
12
handleMessage| | 2019-2-24 12:55 | 只看该作者
ACC是什么,是汇编的吗?给楼主顶一个

使用特权

评论回复
13
gaoke231| | 2019-2-24 17:57 | 只看该作者
我觉得不要乱用为好,ACC需要三思啊

使用特权

评论回复
14
xiaoqizi| | 2019-3-7 11:29 | 只看该作者
i是在哪里定义的 啊

使用特权

评论回复
15
木木guainv| | 2019-3-7 11:36 | 只看该作者
不能直接这样操作寄存器吧

使用特权

评论回复
16
磨砂| | 2019-3-8 09:49 | 只看该作者
直接操作这种寄存器 会出现问题的

使用特权

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

本版积分规则

64

主题

1695

帖子

1

粉丝