关于#单片机c语言#的问题,请各位专家解答!

用定时器写了个流水灯,为什么灯一个不亮?

#include
void main()
{
 unsigned char cnt=0;
 unsigned char i=0;
 while(1)
 {
  TMOD=0x01;
  TH0=0xB8;
  TL0=0x00;
  TR0=1;
  if(TF0==1)
  {
   TF0=0;
   TH0=0xB8;
   TL0=0x00;
   cnt++;
   if(cnt>=50)
   {
    cnt=0;
    P2=~(0x01<

while(1)里,定时器总是被重置,没法触发TF0,自然没机会亮。 8、9、10、11这几行应该放到while 1外面去

除了那个问题,后面还有问题
i没有重置,很快就全部移出去,没灯亮了