#include<reg51.h>
#include<intrins.h>
#define led P0
#define choose P2
sbit key1_add =P3^2;
sbit key2_subtraction =P3^3;
sbit key3_rst=P3^5;
typedef unsigned int u16;
typedef unsigned char u8;
static u16 i;
static u16 Single_digit;
static u16 Tens_digit;
u8 smgduan[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void Timer0Init()
{
TMOD |=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
void Int1Init()
{
IT1=1;
EX1=1;
EA=1;
}
void Int0Init()
{
IT0=1;
EX0=1;
EA=1;
}
void main()
{
Timer0Init();
Int1Init();
Int0Init();
while(1)
{
if(i==12)
{
led=0xff;
led=smgduan[Tens_digit];
choose=0x01;
}
if(i>=24)
{
led=0xff;
led=smgduan[Single_digit];
choose=0x02;
i=0;
}
if(!key3_rst)
{
Single_digit=0;
Tens_digit=0;
}
}
}
void Timer0() interrupt 1
{
TH0=0XFC;
TL0=0X18;
i++;
}
void Init0() interrupt 0
{
if(Single_digit>=9)
{
Single_digit=0;
if(Tens_digit>=9)
Tens_digit=0;
else
Tens_digit+=1;
}
else
Single_digit+=1;
}
void Init1() interrupt 2
{
if(Single_digit<=0)
{
Single_digit=9;
if(Tens_digit<=0)
Tens_digit=9;
else
Tens_digit-=1;
}
else
Single_digit-=1;
}
#include<intrins.h>
#define led P0
#define choose P2
sbit key1_add =P3^2;
sbit key2_subtraction =P3^3;
sbit key3_rst=P3^5;
typedef unsigned int u16;
typedef unsigned char u8;
static u16 i;
static u16 Single_digit;
static u16 Tens_digit;
u8 smgduan[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void Timer0Init()
{
TMOD |=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
void Int1Init()
{
IT1=1;
EX1=1;
EA=1;
}
void Int0Init()
{
IT0=1;
EX0=1;
EA=1;
}
void main()
{
Timer0Init();
Int1Init();
Int0Init();
while(1)
{
if(i==12)
{
led=0xff;
led=smgduan[Tens_digit];
choose=0x01;
}
if(i>=24)
{
led=0xff;
led=smgduan[Single_digit];
choose=0x02;
i=0;
}
if(!key3_rst)
{
Single_digit=0;
Tens_digit=0;
}
}
}
void Timer0() interrupt 1
{
TH0=0XFC;
TL0=0X18;
i++;
}
void Init0() interrupt 0
{
if(Single_digit>=9)
{
Single_digit=0;
if(Tens_digit>=9)
Tens_digit=0;
else
Tens_digit+=1;
}
else
Single_digit+=1;
}
void Init1() interrupt 2
{
if(Single_digit<=0)
{
Single_digit=9;
if(Tens_digit<=0)
Tens_digit=9;
else
Tens_digit-=1;
}
else
Single_digit-=1;
}