51单片机红绿灯程序

 红灯60秒计时,黄灯5秒等待,绿灯60秒,循环往复。

#include <reg51.h>
#include <absacc.h>
unsigned char k=0,k1=0,k2=3,k3=12;

sbit led=P1^1 ;
sbit  led1=P1^2    ;
sbit led2=P1^3 ;

int num=126;

void delay(unsigned char j)
{unsigned char x;
 while(j--)
 {for(x=0;x<2;x++)
    {;}
  }
} 

void time () interrupt     1
{

 if(k<20)
 {k++;
  TH0=0X3C;
  TL0=0XB0;
 }
else{    num--;
        k=0;
    if(65<=num&&num<=125)
  {
  led=0;
  led1=1;
  led2=1;
  k1=num-65 ;
  k2=0;
  k3=0;
  }
  else if(61<=num&&num<65)
  {
  led=1;
  led1=!led1;
  led2=1;
  k2=num-60 ;
  k1=0;
  k3=0;