定时问题,程序不进行定时

2019-07-15 23:27发布

#include<reg52.h>
#define uint unsigned int
int tt;
sbit D0=P1^0;

void delay(uint z)
{
   uint x,y;
   for(x=z;x>0;x++)
     for(y=110;y>0;y++);
}
void main(void)
{
  TMOD=0x01;
  TH0=(65535-50000)/256;
  TL0=(65535-50000)%256;
  EA=1;
  ET0=1;
  TR0=1;
       if(tt==20)
     {
               tt=0;
               D0=0;
                delay(1000);
      }

}
void exter0() interrupt 1
{
     TH0=(65535-50000)/256;
     TL0=(65535-50000)%256;
     tt++;
}   
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
追求梦想之子
1楼-- · 2019-07-16 08:50
x--,y--,主函数要循环while(1),定时值为65536-。。。
华志荣
2楼-- · 2019-07-16 12:27
for(x=z;x>0;x++)永远不会跳出来的,一直在死循环。改成for(x=z;x>0;x--)就可以了

一周热门 更多>