#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit sc1=P2^6;
sbit sc2=P2^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71}; //共阴
void dlayms(uint);
void display (uchar,uchar,uchar,uchar,uchar,uchar);
uchar num,hs,hg,ms,mg,ss,sg;
以上是我写的头文件
void main()
{
TMOD = 0x11;
TH0 =(65536-45872)/256;
TL0 =(65536-45872)%256;
EA=1;
ET0=1; //定时中断0
TR0=1;
while(1)
{
display(hs,hg,ms,mg,ss,sg)
} 主函数 检测时 在此处出错 给出的理由是 syntax error near '}'
void display(uchar hs,uchar hg,uchar ms,uchar mg,uchar ss,uchar sg,uchar num)
{sc1=1; 检测时此处出错给出的理由'_display': different length of parameter lists
P0=table[hs];
sc1=0;
P0=0xff;
sc2=1;
P0=0xfd;
sc2=0;
delayms(10);sc1=1;
P0=table[hg];
sc1=0;
P0=0xff;
sc2=1;
P0=0xfe;
sc2=0;
delayms(10);
sc1=1;
P0=table[ms];
sc1=0;
P0=0xff;
sc2=1;
P0=0xfb;
sc2=0;
delayms(10);
sc1=1;
P0=table[mg];
sc1=0;
P0=0xff;
sc2=1;
P0=0xf7;
sc2=0;
delayms(10);
sc1=1;
P0=table[ss];
sc1=0;
P0=0xff;
sc2=1;
P0=0xef;
sc2=0;
delayms(10);
sc1=1;
P0=table[sg];
sc1=0;
P0=0xff;
sc2=1;
P0=0x7f;
sc2=0;
delayms(10);
}
void delayms(uint xms);
{uint i,j;
for(i=xms,i>0;i--)
for(j=110;j>0;j--);
}
vode T1_time()interrupt1
{ TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==20);
{num=0;
sg++;
}
if(sg==10);
{sg=0;
ss++;
}
if(ss==60);
{ss=0;
mg++;
}
if(mg==10)
{mg=0;
ms++;
}
if(ms==60)
{ms=0;
hg++;
}
if(hg==10)
{hg=0;
hs++;
}
if(hs==24)
{hs=0;
}
}
望高手指点指点 我写的是个时钟程序