打印
[应用相关]

这ACC用法不对?

[复制链接]
621|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kangzj|  楼主 | 2019-2-23 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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用法不对?
沙发
zyf部长| | 2019-2-23 11:11 | 只看该作者
这里可能for ( i=8; i>0; i-- ) 会用到ACC,这样就会覆盖下面的ACC值

使用特权

评论回复
板凳
xxmmi| | 2019-2-23 11:13 | 只看该作者
用了C,除非你特牛,否则动到寄存器,死得难看。

使用特权

评论回复
地板
xxmmi| | 2019-2-23 11:23 | 只看该作者
要在C语言中直接访问工作寄存器(R0~R7,A,B等等)

使用特权

评论回复
5
gongche| | 2019-2-23 11:27 | 只看该作者
我有次用I2C用了ACC,也被囧到了。。

使用特权

评论回复
6
huwr| | 2019-2-23 11:30 | 只看该作者
没听说过用C还要用ACC的

使用特权

评论回复
7
huanghuac| | 2019-2-23 11:32 | 只看该作者
你可以看下编译的汇编程序找找问题

使用特权

评论回复
8
happy_10| | 2019-2-23 11:36 | 只看该作者
楼主这是什么芯片的?ACC是什么寄存器?

使用特权

评论回复
9
bqyj| | 2019-2-23 11:41 | 只看该作者

这好像是51中的芯片,51中才有ACC这个寄存器的。

使用特权

评论回复
10
zhuhuis| | 2019-2-23 11:44 | 只看该作者
不是吧 51中的累加器ACC,是个8位的寄存器,用来存放数据的。

使用特权

评论回复
11
zhuhuis| | 2019-2-23 11:47 | 只看该作者
你直接通过宏定义判断不行吗?

使用特权

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

使用特权

评论回复
13
songqian17| | 2019-2-23 11:54 | 只看该作者

新手典型错误之一。。。。。

使用特权

评论回复
14
kangzj|  楼主 | 2019-2-23 11:57 | 只看该作者
       
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
15
小明的同学| | 2019-2-24 09:38 | 只看该作者
               ACC_7=DIO;
               SCLK = 0;
               ACC=ACC>>=1;
你没看出来这错了吗?

使用特权

评论回复
16
小明的同学| | 2019-2-24 09:40 | 只看该作者
第一个你怎么可以用赋值,第一个应该用位或操作,将DIO的0或者1给ACC。

使用特权

评论回复
17
小明的同学| | 2019-2-24 09:40 | 只看该作者
嗯,我猜的,可能不对,因为不太清楚你是要干啥。

使用特权

评论回复
18
xinpian101| | 2019-2-24 12:15 | 只看该作者
ACC累加器

使用特权

评论回复
19
paotangsan| | 2019-3-7 10:41 | 只看该作者
i是什么类型的啊

使用特权

评论回复
20
renzheshengui| | 2019-3-7 10:43 | 只看该作者
数据类型的定义不对

使用特权

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

本版积分规则

672

主题

7007

帖子

2

粉丝