我用中断计时的方式写了一个流水灯,在C51里调试的时候P0口没几下就全部变成0X00,在Proteus里仿真也是,全部变成0X00,但是写进单片机却是正常的。
#include<reg52.h>
#include<intrins.h>
unsigned char i=0;
void main()
{
EA=1;
P0 = 0xFE;
TMOD=0X01;
TH0=0X3C;
TL0=0XB0 ;
ET0=1;
TR0=1;
while(1)
{
if( i==20)
{
i=0;
P0 = _crol_(P0, 1);
if(P0==0xFF)
{
P0 = 0xFE;
}
}
}
}
void InterruptTimer() interrupt 1
{
TH0=0X3C;
TL0=0XB0 ;
i++;
}
新手不懂求教,谁知道是怎么回事吗