51单片机,这个程序错在哪里呢?编译器总提示C(32): error C141: syntax error near 'u8'

#include"reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
void DigDisplay(u8 shi,u8 ge);
u8 num=0,i=0,shi=0,ge=0;
u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
void delay(u16 i)
{
while(i--);
}

void time0init()
{
TMOD=0x01;//0x01为使用方式1时M1M0的值
TH0=0xfc;
TL0=0x18;//定时1ms
ET0=1;
EA=1;
TR0=1;
}
void main()
{
time0init();
while(1)
{
DigDisplay(u8 shi,u8 ge);
}
}
void DigDisplay(u8 shi,u8 ge)
{
LSA=0;
LSB=0;
LSC=0;
P0=smgduan[ge];
delay(100);
LSA=1;
LSB=0;
LSC=0;
P0=smgduan[shi];
delay(100);
}
void time0() interrupt 1
{

TH0=0xfc;
TL0=0x18;//定时1ms//重装初值
i++;
if(i==1000) //1s
{
i=0;
num++;
if(num==60)
num=0;
shi=num/10;
ge=num%10;

}
}

第1个回答  2019-03-17
main函数的while循环里面,调用函数你还给参数加个类型,这是语法错误。本回答被提问者和网友采纳
相似回答