不加NOP2(),LED闪烁有间断,为什么会这样。
#include "stc8g.h"unsigned char i=0;
void Timer0_Isr(void) interrupt 1
{i=i++;
}
void Timer0_Init(void) //1毫秒@11.0592MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xCD; //设置定时初始值
TH0 = 0xD4; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1; //使能定时器0中断
EA = 1;
}
void main(void)
{ P1M0 = 0x00; P1M1 = 0x00;
Timer0_Init();
while(1)
{ if(i==250){P10=!P10;NOP2();}
if(i==251){i=0;NOP2();}
}
}
不加NOP,1ms内多次进入LED翻转太快了
另外不要写这种操作i=i++;直接i++;就行了
页:
[1]