找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2130|回复: 10
收起左侧

有大神可以帮忙看看吗?c135,errorC141:syntax error near ‘void’

[复制链接]
ID:673048 发表于 2019-12-25 01:05 来自手机 | 显示全部楼层 |阅读模式
#include<reg51.h>
unsigned char code table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//轮流点亮
unsigned char code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//逐个点亮
unsigned char code table3[]={0x00};
unsigned char code table4[]={0x55,0xaa}; //间隔点亮
unsigned char xs[];
sbit S0=P1^0;
sbit S1=P1^1;
sbit S2=P1^2;
sbit S4=P1^3;
sbit S5=P1^4;
sbit S6=P1^5;
sbit S7=P1^6;
sbit P11 =P3^2;
unsigned char a=3;
unsigned char x=0;
unsigned char y=0;
int i,j,k;

void panduan();
void delay_t1(unsigned char n);
void delay_t2(unsigned char n);
void chufa() interrupt 0
{
if(S5==0)
a=0;
if(S6==0)
a=1;
if(S7==0)
a=2;
P0=0XFF;
P2=0XFF;
x=8;
y=8;

}

void panduan(){
S4=(S0 & S1 & S2);
P11=S4;
S5=S0;
S6=S1;
S7=S2;
}
void main()
{
EA=1;
EX0=1;
IT0=0;
PX0=1;
  
a=0;
P11=0;
while(1)
{

while(a==0)
{
x=0;
y=0;
for(;x<8;x++)
{
P2=~0x01;
P0=table1[x];
delay_t1(2);
}

for(;y<8;y++)
{
P2=~0x02;
P0=table1[y];
delay_t1(2);
}
P0=0xff;
P2=0xff;
}


while(a==1)
{
x=0;
y=0;
for(;x<8;x++)
{
P2=~0X01;
P0=table2[x];
delay_t1(2);
}
for(;y<8;y++)
{
for(x=0;x<8;x++)
{
P2=~0X02;
P0=table2[y];
delay_t2(1);
P2=~0x01;
P0=0xff;
delay_t2(1);
}
P0=0xff;
P2=0xff;
delay_t2(2);  
}


while(a==2)
{

x=0;y=0;
for(x=0;x<8;x++)
{
P2=~0x01;
P0=table4[0];
delay_t2(1);
P2=~0x02;
P0=table4[0];
delay_t2(1);
}

for(;y<8;y++)
{
// delay_t1(2);
P2=~0x01;
P0=table4[1];
delay_t2(1);
P2=~0x02;
P0=table4[1];
delay_t2(1);
}

}

void delay1_0ms()
{
for(j=0;j<20;j++)
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
while(1)
{
if(TF0==1){
TF0=0;
break;
}
}

}
}
void delay2_0ms()
{
for(j=0;j<2;j++)
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
while(1)
{
if(TF0==1){
TF0=0;
break;
}
}
}
}
void delay_t2(unsigned char n)
{
for(k=0;k<n;k++){
delay2_0ms();
IMG_20191225_005458.jpg
回复

使用道具 举报

ID:584814 发表于 2019-12-25 07:35 | 显示全部楼层
疑似void delay1_0ms()函数少了 }
回复

使用道具 举报

ID:164602 发表于 2019-12-25 08:14 | 显示全部楼层
错误太小了。就是你的函数最后差两个}而已,你这样写程序,出这样的错是迟早的。
回复

使用道具 举报

ID:470332 发表于 2019-12-25 08:48 | 显示全部楼层
双击错误,定位到出错的行上,这么一堆,谁知道错在哪,而且程序还不全
回复

使用道具 举报

ID:195446 发表于 2019-12-25 09:01 | 显示全部楼层
你这个程序的变量i,j,k是0——255范围用的。而定义的范围是-128——127的范围,所以不匹配。
把int i,j,k;改为unsigned int i,j,k;就可以了。
回复

使用道具 举报

ID:673048 发表于 2019-12-25 10:18 来自手机 | 显示全部楼层
HC6800-ES-V2.0 发表于 2019-12-25 08:14
错误太小了。就是你的函数最后差两个}而已,你这样写程序,出这样的错是迟早的。

那应该怎么改?或者可以发个修改后的程序吗?求大神指导,挺急的

回复

使用道具 举报

ID:673048 发表于 2019-12-25 10:19 来自手机 | 显示全部楼层
man1234567 发表于 2019-12-25 07:35
疑似void delay1_0ms()函数少了 }

应该怎样改呢?大神可以发下修改后的程序给我吗?
回复

使用道具 举报

ID:673048 发表于 2019-12-25 10:22 来自手机 | 显示全部楼层
moluxiyan 发表于 2019-12-25 08:48
双击错误,定位到出错的行上,这么一堆,谁知道错在哪,而且程序还不全

#include<reg51.h>
unsigned char code table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//轮流点亮
unsigned char code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//逐个点亮
unsigned char code table3[]={0x00};
unsigned char code table4[]={0x55,0xaa};                              //间隔点亮
unsigned char xs[];
sbit S0=P1^0;
sbit S1=P1^1;
sbit S2=P1^2;
sbit S4=P1^3;
sbit S5=P1^4;
sbit S6=P1^5;
sbit S7=P1^6;
sbit P11 =P3^2;
unsigned char  a=3;
unsigned char  x=0;
unsigned char  y=0;
int i,j,k;

void panduan();
void delay_t1(unsigned char n);
void delay_t2(unsigned char n);
void chufa() interrupt 0
{
        if(S5==0)
                a=0;
        if(S6==0)
                a=1;
        if(S7==0)
                a=2;
        P0=0XFF;
        P2=0XFF;
        x=8;
        y=8;

}  

void panduan(){
S4=(S0 & S1 & S2);
P11=S4;
S5=S0;
S6=S1;
S7=S2;
}
void main()
{       
        EA=1;
        EX0=1;
        IT0=0;
        PX0=1;
                          
                       
               
                  a=0;   
           P11=0;
       
      while(1)
          {

             while(a==0)
                 {
                          x=0;
                  y=0;
                 for(;x<8;x++)
                 {
                         P2=~0x01;
                    P0=table1[x];
                delay_t1(2);
                 }
                 
                 for(;y<8;y++)
                 {       
                   P2=~0x02;
                   P0=table1[y];
               delay_t1(2);
                 }
                 P0=0xff;
                 P2=0xff;
                 }


                 while(a==1)
                 {
                x=0;
                 y=0;
                 for(;x<8;x++)
                 {
                         P2=~0X01;
                   P0=table2[x];
               delay_t1(2);
                 }
                  for(;y<8;y++)
                 {
                         for(x=0;x<8;x++)
                 {
                         P2=~0X02;
                   P0=table2[y];
               delay_t2(1);
                   P2=~0x01;
                   P0=0xff;
                   delay_t2(1);         
                 }
                 P0=0xff;
                 P2=0xff;
             delay_t2(2);                  
                 }


                 while(a==2)
                 {
                 
                 x=0;y=0;
                 for(x=0;x<8;x++)
                 {
                   P2=~0x01;
                   P0=table4[0];
                delay_t2(1);
                   P2=~0x02;
                   P0=table4[0];
                    delay_t2(1);
                  }
                  
                    for(;y<8;y++)
                 {
              // delay_t1(2);
                   P2=~0x01;
                   P0=table4[1];
               delay_t2(1);
                   P2=~0x02;
                   P0=table4[1];
                    delay_t2(1);
             }
                   
}
   
void delay1_0ms()
{
for(j=0;j<20;j++)
   {
     TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         TR0=1;
         while(1)
         {
         if(TF0==1){
         TF0=0;
         break;
         }
         }

   }
}
void delay2_0ms()
{
for(j=0;j<2;j++)
   {
     TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         TR0=1;
         while(1)
         {
         if(TF0==1){
         TF0=0;
         break;
         }
         }
           }
}
void delay_t2(unsigned char n)
{  
   for(k=0;k<n;k++){
   delay2_0ms();
   }
   panduan();

}
void delay_t1(unsigned char n)
{  
   for(k=0;k<n;k++){
   delay1_0ms();
  
   }          
   panduan();
}
回复

使用道具 举报

ID:673048 发表于 2019-12-25 10:23 来自手机 | 显示全部楼层
mffhxa 发表于 2019-12-25 09:01
你这个程序的变量i,j,k是0——255范围用的。而定义的范围是-128——127的范围,所以不匹配。
把int i,j,k; ...

上面是完整代码,大神可以看看怎样修改吗?
回复

使用道具 举报

ID:673048 发表于 2019-12-25 10:40 来自手机 | 显示全部楼层
mffhxa 发表于 2019-12-25 09:01
你这个程序的变量i,j,k是0——255范围用的。而定义的范围是-128——127的范围,所以不匹配。
把int i,j,k; ...

错误如图
IMG_20191225_103604.jpg
回复

使用道具 举报

ID:673048 发表于 2019-12-25 10:41 来自手机 | 显示全部楼层
man1234567 发表于 2019-12-25 07:35
疑似void delay1_0ms()函数少了 }

#include<reg51.h>
unsigned char code table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//轮流点亮
unsigned char code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//逐个点亮
unsigned char code table3[]={0x00};
unsigned char code table4[]={0x55,0xaa};                              //间隔点亮
unsigned char xs[];
sbit S0=P1^0;
sbit S1=P1^1;
sbit S2=P1^2;
sbit S4=P1^3;
sbit S5=P1^4;
sbit S6=P1^5;
sbit S7=P1^6;
sbit P11 =P3^2;
unsigned char  a=3;
unsigned char  x=0;
unsigned char  y=0;
int i,j,k;

void panduan();
void delay_t1(unsigned char n);
void delay_t2(unsigned char n);
void chufa() interrupt 0
{
        if(S5==0)
                a=0;
        if(S6==0)
                a=1;
        if(S7==0)
                a=2;
        P0=0XFF;
        P2=0XFF;
        x=8;
        y=8;

}  

void panduan(){
S4=(S0 & S1 & S2);
P11=S4;
S5=S0;
S6=S1;
S7=S2;
}
void main()
{       
        EA=1;
        EX0=1;
        IT0=0;
        PX0=1;
                          
                       
               
                  a=0;   
           P11=0;
       
      while(1)
          {

             while(a==0)
                 {
                          x=0;
                  y=0;
                 for(;x<8;x++)
                 {
                         P2=~0x01;
                    P0=table1[x];
                delay_t1(2);
                 }
                 
                 for(;y<8;y++)
                 {       
                   P2=~0x02;
                   P0=table1[y];
               delay_t1(2);
                 }
                 P0=0xff;
                 P2=0xff;
                 }


                 while(a==1)
                 {
                x=0;
                 y=0;
                 for(;x<8;x++)
                 {
                         P2=~0X01;
                   P0=table2[x];
               delay_t1(2);
                 }
                  for(;y<8;y++)
                 {
                         for(x=0;x<8;x++)
                 {
                         P2=~0X02;
                   P0=table2[y];
               delay_t2(1);
                   P2=~0x01;
                   P0=0xff;
                   delay_t2(1);         
                 }
                 P0=0xff;
                 P2=0xff;
             delay_t2(2);                  
                 }


                 while(a==2)
                 {
                 
                 x=0;y=0;
                 for(x=0;x<8;x++)
                 {
                   P2=~0x01;
                   P0=table4[0];
                delay_t2(1);
                   P2=~0x02;
                   P0=table4[0];
                    delay_t2(1);
                  }
                  
                    for(;y<8;y++)
                 {
              // delay_t1(2);
                   P2=~0x01;
                   P0=table4[1];
               delay_t2(1);
                   P2=~0x02;
                   P0=table4[1];
                    delay_t2(1);
             }
                   
}
   
void delay1_0ms()
{
for(j=0;j<20;j++)
   {
     TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         TR0=1;
         while(1)
         {
         if(TF0==1){
         TF0=0;
         break;
         }
         }

   }
}
void delay2_0ms()
{
for(j=0;j<2;j++)
   {
     TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         TR0=1;
         while(1)
         {
         if(TF0==1){
         TF0=0;
         break;
         }
         }
           }
}
void delay_t2(unsigned char n)
{  
   for(k=0;k<n;k++){
   delay2_0ms();
   }
   panduan();

}
void delay_t1(unsigned char n)
{  
   for(k=0;k<n;k++){
   delay1_0ms();
  
   }          
   panduan();
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表