实现24秒倒计时 proteus

系统启动时,在显示器上显示“24”。 按下“启动/暂停”按钮开始倒计时,显示器上数值每秒递减。 在倒计时过程中,按下“启动/暂停”按钮暂停倒计时。 任何时刻按下“复位”按钮,计时时间重置为24秒。

代码缺失了哪些

//    程序功能:静态显示功能,共阴极
#include <reg51.H> 
unsigned char code table[10]={0x3f,}; //共阴字形码
sbit strat_stop = P3^2;
sbit reset = P3^3;
sbit P2_0 = P2^0;
sbit P2_1 = P2^1;
unsigned char time = 24, cnt = 0;
bit key_flag;
void delay(void)
{
}
void display(unsigned char temp)
{    
    unsigned char shi,ge;
    shi = temp/10;
    ge  = temp%10;
    P2&=0xfC;        //关断位选信号
    P1=table[shi];    //送显示数据
    P2_0=1;        //选中第一个数码管
    delay();        //延时
    P2&=0xfC;         //关断位选信号
    P1=table[ge];    //送显示数据
    P2_1=1;        //选中第二个数码管
    delay();        //延时
    P1=0;        //关段码
    P2&=0xf0;    //关位码
}
void t0_ini()
{
    TMOD = 0X01;
    TH0 = ;
    TL0 = ;
    EA = 1;
    ET0 = 1;
}
void ex_ini()
{
    IT0 = 1;
    IT1 = ;
    EA = 1;
    EX0 = 1;
    EX1 = 1;
}
void main(void) 

      t0_ini();
    ex_ini();
      while(1)
    {
        display(time);    
    }

ex0_int() interrupt 0
{
    key_flag = !key_flag;
    if(key_flag) TR0 = 1;
    else TR0 = 0;
}

ex1_int() interrupt 2
{
}

t0_int() interrupt 1
{
    TH0 = ;
    TL0 = ;
    cnt++;
    if(cnt == )
    {
        cnt = 0;
        time--;
        if(time == 0)time = 24;
        
    }
}
 

 

 

缺失的就是内容为空的两个函数。第一个是delay函数,要在里面控制一下延时。
第二个就是ex1_int() interrupt 2
{
}这个中断函数,暂停按钮的功能已经有了,所以这个应该是复位,在里面把time重置为24即可。