一个简单的时钟程序怎么运行不出来呢各位帮忙看看是哪里错啦 #include <AT89X51.H>
#define uchar unsigned char
uchar DATA_7SEG[10]= {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};
uchar hour,min,sec,deda;
void delay(int k);
void timer();
void conv();
void disp();
void timer()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
EA=1;ET0=1;
TR0=1;
}
void time0 () interrupt 1
{ TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
deda++; }
void conv()
{ if(deda==200)
{ deda=0;sec++; }
if(sec==60)
{min++;sec=0;};
if(min==60){hour++;min=0;};
if(hour==24){hour=0;} ;
}
void disp()
{ P0=DATA_7SEG[hour/10] 2=0xfe;delay(1);
P0=DATA_7SEG[hour%10] 2=0xfd; delay(1);
P0=DATA_7SEG[min/10] 2=0xfb; delay(1);
P0=DATA_7SEG[min%10] 2=0xf7; delay(1);
P0=DATA_7SEG[sec/10] 2=0xef; delay(1);
P0=DATA_7SEG[sec%10] 2=0xdf;delay(1);
}
void delay(int k)
{int i,j;
for(i=0;i<k;i++)
for(j=0;j<=120;j++);}
void main()
{hour=12;min=12;sec=0;deda=0;
while(1) {
timer();
conv();
disp();
}
}
|