请问这个程序哪错了?error C141: syntax error near 'void' ???????

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71}
void delayms(uint);
uchar numt0,num;
void display(uchar numdis)
{
uchar shi,ge;
shi=numdis/10;
ge=numdis%10;

dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delayms(5);

dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delayms(5);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void init()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;

}
void keyscan()
{
if(key1==0)
{
delayms(10);
if(key1==0)
{
num++;
if(num==60)
num=0;
while(!key1);

}

}
if(key2==0)
{
delayms(10);
if(key2==0)
{
if(num==0)
num=60;
num--;
while(!key2);
}
}
if(key3==0)
{
delayms(10);
if(key3==0)
{
num=0;
while(!key3);
}
}
if(key4==0)
{
delayms(10);
if(key4==0)
{
while(!key4);
TR0=~TR0;
}
}

}
void main()
{
init();
while(1)
{
keyscan();
display(num);
}

}
void T0_time() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
numt0++;
if(numt0==20)
{
numt0=0;
num++;
if(num==60)
num=0;
}
}

错误提示
TEXT1.C(14): error C141: syntax error near 'void'
TEXT1.C(41): error C231: '_delayms': redefinition
TEXT1.C(45): error C231: '_delayms': redefinition

第1个回答  2011-07-04
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71}
最后缺少分号(;)本回答被提问者采纳
第2个回答  2011-07-07
1、TEXT1.C(14): error C141: syntax error near 'void'是说在voidb附近有语法错误,
把 void T0_time() interrupt 1改正成
void T0_time(uint interrupt1)
2、TEXT1.C(41): error C231: '_delayms': redefinition是说'_delayms'函数没有定义,
把display(num);改正成
displayms(num);
我也是刚学习C的,不知道对没有,希望对你有帮助。
第3个回答  2011-07-04
把这段代码剪切到程序最后面试试
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

请问这个程序哪错了?error C141: syntax error near 'void' ???
最后缺少分号(;)

keil编程出现error C141:syntax error near "void" 错误???_百度...
你这程序有几处错误,并不是在temp=readtemperature(void);这一行上,因这一行有错,不再编译下面的程序了,所以,没有提示下面的错误。出错这一行:temp=readtemperature(void);因调用的子函数在主程序后面,需要在前面声明,还有一个延时函数也同样需要声明,在void main() 之前加两行 unsigned int...

...问题?提示的是: error C141: syntax error near 'unsigned'
void main(){ LCD_Reset();Delay();CharPos(uchar 0,uchar 1); \/\/这里错了,改为CharPos(0,1);WriteDDR('A');while(1);}

keil c 的错误error C141: syntax error near '='怎么解决?
Keil C中的错误“error C141: syntax error near '='”通常表示在赋值操作附近有语法错误。要解决这个错误,需要检查赋值语句的语法,确保其符合C语言的规范。1. 检查赋值语句:出现这个错误时,首先应该检查的是赋值语句本身。在C语言中,赋值操作使用等号“=”,其左侧必须是一个...

keil 变成出现error C141:syntax error near "void" 错误。_百度...
你把中断函数写在主函数里面了,大括号不对,在void exter0() interrupt 1上面再添一个大括号“}”,把void exter0() interrupt 1后面的大括号“}”去掉一个就行了

...1.C(20): error C141: syntax error near 'void'
首先就是上面说的【你把main函数中的延时函数调用前的void去掉】其次 把【 sbit D1=P1^0; \/\/位操作】放到函数声明【 void yanshi(); 】前面 所有的变量定义、位定义,都不能出现在中间,要放在最前面

C语言报错, error C141: syntax error near'{'怎么办?
C(6): error C141: syntax error near '{'这个错误的意思是:第六行,在'{'附近,有语法错误。仔细看一下,下边这句,void main(void);这个函数声明后边多了一个分号,而后边还有函数体。分号表示本句已经结束,后边的函数体执行语句就没有根了。把这句后的分号去掉应可解决这个报错。

1111.c(34): error C141: syntax error near 'void'
注意,1111.c(34),表明你的c语言程序在第34行出现了一个错误,错误的具体类型在字符串" void "附近,你可以仔细看看,找找小错误小细节。希望以上可以对你有所帮助,望采纳~~

error C141: syntax error near 'unsigned' 求解决 不知道错哪里
是的。 C 语言要求 先写变量声明,再写语句。uchar i; 是变量声明,在前 temp_out=c; 是语句。在后。

...程序出错 UART.C(29): error C141: syntax error near 'void...
前面的main函数结尾少个大刮号

相似回答