We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I want to use full 256 bytes of RAM of 89S52. I am neither using Interrupts nor Timers. KEIL gives error of overflow over 128 bytes. I want to use SFRs RAM area to be included for my program(for float variable). Actually i m using LCD 20x4 for lots of variable display. So far no problem
//Ascii Conversion temp=adc_int_variable/10; temp1=temp/10; buffer[4]=adc_int_variable%10+0x30; // Last digit buffer[3]=temp%10+0x30; buffer[2]=0x2E; //decimal point buffer[1]=temp1%10+0x30; buffer[0]=temp1/10+0x30; //simply> sprintf(buffer,"%u ",adc_int_variable);
But if i m using some mathematical calculation and result is in float variable then i have to use sprintf, that causes Overflow of RAM. Please help to lighten the load of "sprintf" function or to use the other 128-stack area.
I want to use full 256 bytes of RAM of 89S52.
In that case, you may want to refer to the manual and the use of the idata keyword.
http://www.keil.com/support/man/docs/c51/c51_le_memtypes.htm
"In that case, you may want to refer to the manual and the use of the idata keyword."
But don't forget that the stack is in IDATA...