请教一个简单的问题。为什么程序不执行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;放到中断服务函数里面去,又可以执行。为什么啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
benqme
1楼-- · 2020-02-01 13:51
while后面不用加分号
benqme
2楼-- · 2020-02-01 17:03
就可以了!!
lmt50211
3楼-- · 2020-02-01 22:18
benqme 发表于 2013-5-20 12:45
while后面不用加分号

也不是不能加,要看用在什么地方。。。。比如说,检测ADC的转换完成标志位和液晶的忙标志位等。。。。
xiaoyigechaos
4楼-- · 2020-02-02 04:02
 精彩回答 2  元偷偷看……

一周热门 更多>