请教一个简单的问题。为什么程序不执行miao=0;这条指令

2020-01-30 13:30发布

#include<reg52.h>
#define uchar unsigned char
uchar count,miao;
void time_init()
{  
  TMOD=0x01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  EA=1;
  ET0=1;
  TR0=1;
}
void main()//主函数
{
        time_init();
        while(1);
        {
                if(miao==10)
            {
                      miao=0;
                }
        }
}
void time0() interrupt 1
{
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  count++;
  if(count==60)
    {
              miao++;
        }
}
为什么这样写,程序不执行miao=0;这条指令
而把if(miao==10);miao=0;放到中断服务函数里面去,又可以执行。为什么啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。