本帖最后由 jason_77chen 于 2009-12-23 14:10 编辑
cli();// 关闭中断
// DDRD =(0<<DDD4)|(0<<DDD3)
PORTD =0X7F;
hJS:
TCCR1B=0X02;//定时器控制寄存器
TIMSK=0;
TCNT1H=0X00;
TCNT1H=0X00;
TCNT1L=0X00;//00;给计时器清0;
TCNT1=0X0000;
TIFR=0XFF;
//============================================================
hbb:
wwwr=TCNT1H;
if(wwwr>=80)
{
cli();
}
else
goto hbb;
//================================================ if(C_REC<=64)
goto hJS;
//=============================================================
GUDONG:
TCNT1H=0;
TCNT1L=0;
goto GUDONG;
就这样几条简单指令,为什么 if(wwwr>=80)为经常成立,观看好像是TCNT1H会变化,按道理是不会有太大变化啊,我用软仿真不会,感觉正常,一搞硬件仿真就老是条件成立,TCNT1H变化异常,请问各位有碰到过这样类似的问题吗?谢谢
程式可能写得不够规范,只是用来验证!谅解! |