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

[复制链接]
2752|7
 楼主| 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

gyt 发表于 2007-8-6 23:42 | 显示全部楼层

有错误是肯定的

没有错误才奇怪:)
 楼主| purisky 发表于 2007-8-7 20:46 | 显示全部楼层

谢谢大家各位指点

谢谢大家各位指点,不是中断影响,因为已经把中断关了。
应该象2楼和4楼说的,不要在C中对ACC和C进行操作就是了。
具体原因可能是C编译器不能很好的支持吧??天知道啊。。。
udbit18 发表于 2007-8-8 09:27 | 显示全部楼层
ayb_ice 发表于 2007-8-8 09:59 | 显示全部楼层

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

computer00 发表于 2007-8-8 10:31 | 显示全部楼层

程序能不能多贴点?

估计ACC的值本来那时就是错误的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部