系统启动时,在显示器上显示“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;
}
}