导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→加急求助!!!

* 72409: 加急求助!!!

   guest 
guest发表的帖子 

 加急求助!!!
我在用Keil编译程序时出现'main': auto segment too large的报错,请各位大侠看看这是怎么一回事?
#include   <AT89X51.H>  
void main(void) 
{
 unsigned char tmp;
 unsigned char i,j;
 unsigned char m,n;
 unsigned char tmp1;
 unsigned char temp;
 unsigned char count=0;
 unsigned char convert=0; 
 unsigned char temp1,temP2;
 unsigned char b[256]={0};
 unsigned char a[3]={0x00,0x00,0x00};
 SCON=0x50;
 PCON=0x80;
 TMOD=0x20; 
 PSW=0x00;
 TH1=0xff;
 TL1=0xff;
 SP=0x60;
 P0=0xff;
 P1=0xff;
 P2=0x00;
 TR1=1;
 TI=1; 
 while(1)
 {
   P2|=0x0f;
   P2&=0xfe;
   temp=P0; 
   temp=temp & 0x1f; 
   if (temp!=0x1f) 
        { 
          for(i=50;i>  0;i--) 
          for(j=200;j>  0;j--); 
          temp=P0; 
          temp=temp & 0x1f; 
          if (temp!=0x1f) 
            { 
              temp=P0; 
              temp=temp & 0x1f;
              tmp1=a[0];
     tmp1|=0x3f;
              tmp1|=0xc0;
              if(temp==0x0f) 
      {
       if((convert==1)&&(tmp1==0x00))
        {  
                  if(count==0)
                   {P1=0xc0;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=0;count++;} 
                  else if(count==1)
       {P1=0xc0;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=0;a[2]=b[m+n];count++;}
                  else count=0;
                 }
                else{a[0]=(a[0]&0x3f)|0x40;temp1=0xfe;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x17)
      {
       if((convert==1)&&(tmp1==0x00))
        {  
                  if(count==0)
                   {P1=0xf9;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=16;count++;} 
                  else if(count==1)
       {P1=0xf9;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=1;a[2]=b[m+n];count++;}
                  else count=0;
                 }
                else{a[0]=(a[0]&0x3f)|0x80;temp1=0xdf;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x1b)
      {
       if((convert==1)&&(tmp1==0x00))
        {  
                  if(count==0)
                   {P1=0xa4;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=32;count++;} 
                  else if(count==1)
       {P1=0xa4;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=2;a[2]=b[m+n];count++;}
                  else count=0;
                 }
                else{a[0]=(a[0]&0x3f)|0xc0;temP2=0xf7;P1=temP2;P2|=0xf0;P2&=0x8f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x1d)
      {
       if((convert==1)&&(tmp1==0x00))
        {  
                  if(count==0)
                   {P1=0xb0;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=48;count++;} 
                  else if(count==1)
       {P1=0xb0;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=3;a[2]=b[m+n];count++;}
                  else count=0;
                 }
                else{a[0]^=0x20;temP2^=0x20;P1=temP2;P2|=0xf0;P2&=0x8f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x1e)
      {
       if((convert==1)&&(tmp1==0x00))
        {  
                  if(count==0)
                   {P1=0x99;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=64;count++;} 
                  else if(count==1)
       {P1=0x99;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=4;a[2]=b[m+n];count++;}
                  else count=0;
                 }
                else{a[0]^=0x10;temp1^=0x02;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;}
      }
              else a[0]=a[1]=a[2]=0x00;
              temp=P0; 
              temp=temp & 0x1f;              
              while(temp!=0x1f) 
               { 
                  temp=P0; 
                  temp=temp & 0x1f;              
                } 
            } 
        }
 P2|=0x0f;
 P2&=0xfd;
 temp=P0; 
      temp=temp & 0x1f; 
      if (temp!=0x1f) 
        { 
          for(i=50;i>  0;i--) 
          for(j=200;j>  0;j--); 
          temp=P0; 
          temp=temp & 0x1f; 
          if (temp!=0x1f) 
             { 
              temp=P0; 
              temp=temp & 0x1f;
              tmp1=a[0];
     tmp1|=0x3f;
              tmp1|=0xc0;             
              if(temp==0x0f)
      {  
     if((convert==1)&&(tmp1==0x00))
         {  
                   if(count==0)
                   {P1=0x92;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=80;count++;} 
                   else if(count==1)
       {P1=0x92;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=5;a[2]=b[m+n];count++;}
                   else count=0;
                  }
                else{a[0]^=0x08;temp1^=0x40;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x17)
         {  
     if((convert==1)&&(tmp1==0x00))
         {  
                   if(count==0)
                   {P1=0x82;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=96;count++;} 
                   else if(count==1)
       {P1=0x82;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=6;a[2]=b[m+n];count++;}
                   else count=0;
                  }
                else{a[0]^=0x04;temP2^=0x10;P1=temP2;P2|=0xf0;P2&=0x8f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x1b)
         {  
     if((convert==1)&&(tmp1==0x00))
         {  
                   if(count==0)
                   {P1=0xf8;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=112;count++;} 
                   else if(count==1)
       {P1=0xf8;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=7;a[2]=b[m+n];count++;}
                   else count=0;
                  }
                else{a[0]^=0x02;temp1^=0x04;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x1d)
         {  
     if((convert==1)&&(tmp1==0x00))
         {  
                   if(count==0)
                   {P1=0x80;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=128;count++;} 
                   else if(count==1)
       {P1=0x80;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=8;a[2]=b[m+n];count++;}
                   else count=0;
                  }
                else{a[0]^=0x01;temP2^=0x01;P1=temP2;P2|=0xf0;P2&=0x8f;P2|=0xf0;P2&=0xef;}
      }
         else if(temp==0x1e)
         {  
     if((convert==1)&&(tmp1==0x00))
         {  
                   if(count==0)
                   {P1=0x90;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=144;count++;} 
                   else if(count==1)
       {P1=0x90;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=9;a[2]=b[m+n];count++;}
                   else count=0;
                  }
                else{a[1]^=0x80;temP2^=0x02;P1=temP2;P2|=0xf0;P2&=0x8f;P2|=0xf0;P2&=0xef;}
      }
         else a[0]=a[1]=a[2]=0x00;
              temp=P0; 
              temp=temp & 0x1f;              
              while(temp!=0x1f) 
               { 
                  temp=P0; 
                  temp=temp & 0x1f;              
                } 
            } 
        }
 P2|=0x0f;
 P2&=0xfb;
 temp=P0; 
      temp=temp & 0x1f; 
      if (temp!=0x1f) 
        { 
          for(i=50;i>  0;i--) 
          for(j=200;j>  0;j--); 
          temp=P0; 
          temp=temp & 0x1f; 
          if (temp!=0x1f) 
            { 
              temp=P0; 
              temp=temp & 0x1f;
              tmp1=a[0];
     tmp1|=0x3f;
              tmp1|=0xc0;               
              if(temp==0x0f)
        {  
      if((convert==1)&&(tmp1==0x00))
            {  
                      if(count==0)
                      {P1=0x88;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=160;count++;} 
                      else if(count==1)
          {P1=0x88;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=10;a[2]=b[m+n];count++;}
                      else count=0;
                     }
                  else{a[1]^=0x40;temp1^=0x08;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;}
        }
         else if(temp==0x17)
        {  
      if((convert==1)&&(tmp1==0x00))
            {  
                      if(count==0)
                      {P1=0x83;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=176;count++;} 
                      else if(count==1)
          {P1=0x83;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=12;a[2]=b[m+n];count++;}
                      else count=0;
                     }
                  else{temP2^=0x40;P1=temP2;P2|=0xf0;P2&=0x8f;P2|=0xf0;P2&=0xef;tmp=0x00;}
        }
        else if(temp==0x1b)
        {  
      if((convert==1)&&(tmp1==0x00))
            {  
                      if(count==0)
                      {P1=0xc6;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=192;count++;} 
                      else if(count==1)
          {P1=0xc6;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=13;a[2]=b[m+n];count++;}
                      else count=0;
                     }
                  else{temp1^=0x10;P1=temp1;P2|=0xf0;P2&=0x0f;P2|=0xf0;P2&=0xef;tmp=0xff;}
        }
        else if(temp==0x1d)
        {  
      if((convert==1)&&(tmp1==0x00))
            {  
                      if(count==0)
                      {P1=0xa7;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=208;count++;} 
                      else if(count==1)
          {P1=0xa7;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=14;a[2]=b[m+n];count++;}
                      else count=0;
                     }
                  else               
         {      
                      if(tmp==0x00)
                      {a[1]&=0xf0;a[1]|=0x08;}
             else if(tmp==0xff)
             {a[1]&=0xf0;a[1]|=0x02;}
             else a[1]&=0xf0;
                     }
        }
        else if(temp==0x1e)
        {  
      if((convert==1)&&(tmp1==0x00))
            {  
                      if(count==0)
                      {P1=0xc6;P2|=0xf0;P2&=0x2f;P2|=0xf0;P2&=0xef;m=192;count++;} 
                      else if(count==1)
          {P1=0xc6;P2|=0xf0;P2&=0x4f;P2|=0xf0;P2&=0xef;n=13;a[2]=b[m+n];count++;}
                      else count=0;
                     }
                  else               
         {
             if(tmp==0x00)
             {a[1]&=0xf0;a[1]|=0x0c;}
                      else if(tmp==0xff)
             {a[1]&=0xf0;a[1]|=0x03;}
             else a[1]&=0xf0;
                    }
        }
        else a[0]=a[1]=a[2]=0x00;
        temp=P0; 
        temp=temp & 0x1f;              
              while(temp!=0x1f) 
                { 
                  temp=P0; 
                  temp=temp & 0x1f;              
                } 
            } 
        }
while(!TI);
SBUF = a[0];
while(!TI);
SBUF = a[1];
while(!TI);
SBUF = a[2];
  }
}

发表时间:2005年1月27日9:33:56

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  72427.[详细]unsigned char b[107]={0};
摘要:unsigned char b[107]={0};......(25字)
- [lichuanfa][1410次] 2005年1月27日

  72432.[详细]用大模式编译试试看
摘要:......(无内容)
- [redriver][932次] 2005年1月27日

[上一篇帖子]:我也有问题我的MSP430也做不了FLASH纺真/在联机调试时,我的FET上的指示灯没有反应。点击
[下一篇帖子]:请师傅帮忙看看看我的程序,修改一下,谢谢!