1.
#include<reg52.h>
void delay(unsigned int i){
unsigned int j;
for(;i>0;i--){
for(j=0;j<125;j++);
}
}
void main(){
TMOD=0x50;
TH1=0xff;
TL1=0xfe;
EA=1;
ET1=1;
TR1=1;
while(1);
}
void T1_int(void) interrupt 3 using 1{
while(1){
P1=0xff;
delay(500);
P1=0x00;
delay(500);
}
}
2.
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar led1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
uchar second;
uchar key=0;
uint t;
void delay(){
uchar i,j;
for(i=0;i<255;i--){
for(j=0;j<100;j++);
}
}
void init(void){
TMOD=0x02;
EA=1;
ET0=1;
key=0;
t=0;
}
void main(){
init();
P0=led1[second/10];
P2=led[second%10];
while(1){
if((P3&0x80)==0x00){
delay();
key++;
switch(key){
case 1: //注意空格!
TH0=0x38;
TL0=0x38;
TR0=1;
break;
case 2: //关闭
t=0;
TR0=0;
break;
case 3: //重置
key=0;
second=0;
P0=led1[0];
P2=led[0];
break;
}
while((P3&0x80)==0x00);
}
}
}
void timer() interrupt 1 using 1{
TR0=0;
t++;
if(t==500){
second++;
P0=led1[second/10];
P2=led[second%10];
t=0;
}
if(second==99){
second=0;
key=1;
}
TR0=1;
}