你看看这个程序可以吗?
软件版本:Keil uV3
硬件版本:HP51-V6
*/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
char code d[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管段码
unsigned char a=99;
sbit led1=P2^0; //位码
sbit led2=P2^1; //位码
sbit key1=P3^0; //按键设置,开始计时
sbit key2=P3^1; //按键设置,暂停计时
bit i;
char h;
void main(void)
{
EA=1;
ET0=1;
ET1=1;
TMOD=0x11; //设定定时器工作方式
TL0=0;
TH0=0;
TR0=1; // 开定时器
while(1)
{
if(!key1) //判断按键1是否按下
{
while(!key1); //等待按键松开
TR1=1;
} //启动
if(!key2) //判断按键2是否按下
TR1=0; //暂停
}
}
void inter1(void) interrupt 1 using 0
{
TR0=0;
TL0=0;
TH0=0xff;
i=~i;
if(i)
{
led1=1;
P0=d[a/10];
led2=0;
}
else
{
led2=1;
P0=d[a%10];
led1=0;
}
TR0=1;
}
void inter2(void) interrupt 3 using 1
{
TR1=0;
TH1=0x3c; //定时器1定时50ms
TL1=0xb0;
if(h==20) //20个50ms即为一秒种
{
h=0;
if(a==0)
a=99;
else
a=a-1;
}
else
h++;
TR1=1;
}
在keil软件中的编译环境