This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

auto segment too large

i get the error "main() auto segment too large" for the given program which should be run on atmet 89c51 how to fix it
thanks.........

#include <reg51.h>
void Delay();
char serialsend(char []);

void main ()
{ char z;
char command1[]={"AT+CGATT=1\r"};
char command2[]={"AT+CSTT= \"ufone.pinternet\"\r" };
char command3[]={"AT+CIICR\r"};
char command4[]={"AT+CIFSR\r"};
char command5[]={"AT+CIPSTART=\"TCP\"\"121.52.147.94\"800\r"};
char command6[]={"AT+CIPSEND\r"};
char command7[]={"GPRS is Activated"};
char command8[]={"26"};
TMOD = 0x20;
TH1 = 0xFD;
SCON = 0x50;
TR1 = 1;
serialsend(command1);
Delay();
serialsend(command2);
Delay();
serialsend(command3);
for(z=0; z<3; z++)
{ Delay(); }
serialsend(command4);
Delay();
serialsend(command5);
for(z=0; z<10; z++)
{ Delay();
} serialsend(command6);
for(z=0; z<5; z++)
{ Delay(); }
serialsend(command7);
serialsend(command8);

}
char serialsend(char array[])
{ int i=0;
while(array[i] != '\0')
{ SBUF = array[i];
while(TI == 0);
TI = 0;
i++;
} }

void Delay()
{ unsigned char x;
for(x=0; x<40; x++)
{ TMOD=0x10;
TL1=0xFE;
TH1=0xA5;
TR1=1;
while (TF1==0);
TR1=0;
TF1=0;
} }

0