#include
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阴数码管 0-9
uint a=20;
uchar buffer[]={59,59};
sbit P2_7=P2^7;
sbit P2_6=P2^6;
sbit P2_5=P2^5;
sbit P2_4=P2^4;
sbit P2_3=P2^3;
sbit P2_2=P2^2;
void delay(uint x);
void display();
void init()
{
TH0=0x4c;
TL0=0x00;
TMOD=0X01;
IE=0X82;
TR0=1;
}
void main()
{
init();
while(1)
{
display();
}
}
timer0() interrupt 1 using 1
{
TH0=0x4c;
TL0=0x00;
a--;
if(a==10)
{
P2_3=0;
P2_2=0;
}
if (a==0)
{
a=20;
P2_3=1;
P2_2=1;
buffer[1]--;
if(buffer[1]==0)
{
buffer[1]=59;
buffer[0]--;
if(buffer[0]==0)
{
buffer[0]=59;
}
}
}
}
void display()
{
P0=tab[buffer[0]/10];
P2_7=0;
delay(50);
P2_7=1;
P0=tab[buffer[0]%10];
P2_6=0;
delay(50);
P2_6=1;
P0=tab[buffer[1]/10];
P2_5=0;
delay(50);
P2_5=1;
P0=tab[buffer[1]%10];
P2_4=0;
delay(50);
P2_4=1;
}
void delay(uint x)
{
uint j ,k;
for(x=j;j>0;j--)
for(k=100;k>0;k--);
}
本文来源:https://www.2haoxitong.net/k/doc/c3ebf9b402d276a201292e08.html
文档为doc格式