[求助] 关于F330调试问题

lanshuangcheng   2011-5-12 20:06 楼主

我用的是C8051F330单片机,下面是一小段程序,但在调试的时候发现有个问题,请给位帮忙解决一下,小弟在此谢过

。。。。。。。。。。。。

sbit dq=P1^2;

.......初始化P1^2引脚为推挽输出

dq=0;

delay();

dq=1;

delay();

if(dq==0)

{ flag=1;

}

else

{ flag=0;

}

为什么程序执行到if时,判断条件为真,即dq=0,执行flag=1;这条语句

回复评论 (5)

C8051F设定推挽后不能再获得寄存器值
点赞  2011-5-12 21:10
问题是,dq=0后,再dq=1;是不是说P1^2寄存器中的值已由0变为1,但P1^2引脚仍为低电平呢,即P1^2=0;
点赞  2011-5-12 22:09
还是不明白,怎么回事,
点赞  2011-5-12 22:15
传上图片,说明一下,调试用的P1 I/O口,为什么最上端P1^2显示为1,但下面Pins 那P1^2却为0,不解
  • 11.jpg
点赞  2011-5-12 22:39
你这是对手册理解不够。建议你好好阅读器件手册。里面有详细解释
点赞  2011-5-13 08:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复