请帮忙解答一个问题

2019-07-16 03:30发布

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uint z;
void init()
{
TMOD=0x11;
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void delayms(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void T0_timer() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
  P0=0xc0;
  dula=1;
  dula=0;
  P0=0xff;
  wela=1;
  P0=0x01;
  wela=0;
delayms(456);//为什么456灯亮 到了457灯就不亮了呢  

}
void T1_timer() interrupt 3
{
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
  P1=0x00;

}
void main()
{
init();
while(1);
}
问题如上 在延时那里为什么456的时候 数码管和灯都会亮 到了457灯就不会亮了呢只有数码管亮
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。