打印

单片机IO控制,结果时正确时错误,困扰求教

[复制链接]
1795|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
purisky|  楼主 | 2007-8-6 21:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人近期用用C编写了一段程序,结果正确一次,错误一次。经查汇编后的代码,发现原因如下:
    MOV C,ACC.0
    MOV P1.1,C
When ACC.0=1,some times P1.1 equals 1, some time not, why? 
    简单的问题,复杂的原因!!!说明,上述汇编代码是编译器生成的,应该不存在问题吧?对应C:
    T_io = ACC0;  (分别定义为P1.1和ACC^0)

相关帖子

沙发
一级菜鸟| | 2007-8-6 21:30 | 只看该作者

不推荐在C中直接操作ACC

使用特权

评论回复
板凳
conwh| | 2007-8-6 21:40 | 只看该作者

不why,可能有中断影响了ACC或C

使用特权

评论回复
地板
bagdmu| | 2007-8-6 23:26 | 只看该作者

C51中不要对C和ACC进行操作

使用特权

评论回复
5
gyt| | 2007-8-6 23:42 | 只看该作者

有错误是肯定的

没有错误才奇怪:)

使用特权

评论回复
6
purisky|  楼主 | 2007-8-7 20:46 | 只看该作者

谢谢大家各位指点

谢谢大家各位指点,不是中断影响,因为已经把中断关了。
应该象2楼和4楼说的,不要在C中对ACC和C进行操作就是了。
具体原因可能是C编译器不能很好的支持吧??天知道啊。。。

使用特权

评论回复
7
udbit18| | 2007-8-8 09:27 | 只看该作者

呵呵

使用特权

评论回复
8
ayb_ice| | 2007-8-8 09:59 | 只看该作者

操作ACC也可以但必须确保在可控范围里...

使用特权

评论回复
9
computer00| | 2007-8-8 10:31 | 只看该作者

程序能不能多贴点?

估计ACC的值本来那时就是错误的。

使用特权

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

本版积分规则

5

主题

8

帖子

0

粉丝