求检查一下是否正确,我按按键感觉没用不知道为啥,能不能再加一个倒计时显示,感谢各位

//功能:交通灯信号led灯
#include <reg52.h>
unsigned char t0,t1;
sbit K1=P3^1;
sbit K2=P3^0;
sbit K4=P3^3;
// 在工作方式1下定时50ms,再循环10次即可定时到0.5s
void delay0_5s1()
{
for(t0=0;t0<10;t0++) //采用全局变量to作为循环控制变量
{
TH1=(65536-50000)/256; //设置定时器初值
TL1=(65536-50000)%256;
TR1=1; //启动T1
while(!TF1); //查询计数是否溢出,即 50ms 定时时间到,TF1=1
TF1=0; //50 ms定时时间到,将定时器溢出标志位TF1清零
}
}
void delay_t1(unsigned char t)
{
for(t1=0;t1<t;t1++) //采用全局变量t1作为循环控制变量
delay0_5s1();
}
//函数功能:外部中断0中断函数,紧急情况处理,当CPU应外部中中请求时,自动执行该函数,实现两个方向红灯同时亮10s
void int_0() interrupt 0 //紧急情况中断
{
unsigned char i,j,k,l,m;
i=P2; //保护现场,暂存 P2口、t0、t1、TH1、TL1
j=t0;
k=t1;
l=TH1;
m=TL1;
P2=0xdb; //两个方向都是红灯
delay_t1(10); //延时10s
P2=i; //恢复现场,恢复进入中断前 P1口、t0、t1、TH1、TL1
t0=j;
t1=k;
TH1=l;
TL1=m;
}
void main() //主函数
{
unsigned int n,k;
n=4;
TMOD=0x10; //T1设置为工作方式1
EA=1; //开总中断允许位
EX0=1; //开外部中断0中断允许位
IT0=1; //设置外部中断0为下降沿触发
EX1=1; //开外部中断1中断允许位
IT1=1; //设置外部中断1为下降沿触发
while(1){
P2=0xf3; //A绿灯,B红灯,延时2s
delay_t1(n);
for(k=0;k<3;k++) //A绿灯闪烁3次
{P2=0xf3;
delay0_5s1(); //延时0.5 s
P2=0xfb;
delay0_5s1(); //延时0.5 s
}
P2=0xeb; //A黄灯,B红灯,延时2s
delay_t1(4);
P2=0xde; //A红灯,B绿灯,延时2s
delay_t1(n);
for(k=0;k<3;k++) //B绿灯闪烁3次
{P2=0xde;
delay0_5s1(); //延时0.5s
P2=0xdf;
delay0_5s1(); //延时0.5 s
}
P2=0xdd; //A红灯,B黄灯,延时2s
delay_t1(4);
//ledledledled灯完成一次循环,可以修改时间了!!!!!!!
if(K1==0)
{ P2=0xf3; //A绿灯,B红灯,延时time+5s
delay_t1(n=n+10);
for(k=0;k<3;k++) //A绿灯闪烁3次
{P2=0xf3;
delay0_5s1(); //延时0.5 s
P2=0xfb;
delay0_5s1(); //延时0.5 s
}
P2=0xeb; //A黄灯,B红灯,延时time+5s
delay_t1(4);
P2=0xde; //A红灯,B绿灯,延时s
delay_t1(n);
for(k=0;k<3;k++) //B绿灯闪烁3次
{P2=0xde;
delay0_5s1(); //延时0.5s
P2=0xdf;
delay0_5s1(); //延时0.5 s
}
P2=0xdd; //A红灯,B黄灯,延时2s
delay_t1(4);
}
if(K2==0)
{ P2=0xf3; //A绿灯,B红灯,延时time-5s
delay_t1(n=n-10);
for(k=0;k<3;k++) //A绿灯闪烁3次
{P2=0xf3;
delay0_5s1(); //延时0.5 s
P2=0xfb;
delay0_5s1(); //延时0.5 s
}
P2=0xeb; //A黄灯,B红灯,延时2s
delay_t1(4);
P2=0xde; //A红灯,B绿灯,延时time-5s
delay_t1(n);
for(k=0;k<3;k++) //B绿灯闪烁3次
{P2=0xde;
delay0_5s1(); //延时0.5s
P2=0xdf;
delay0_5s1(); //延时0.5 s
}
P2=0xdd; //A红灯,B黄灯,延时2s
delay_t1(4);
}
}
}