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.
In my developinp system there has no external ram. So if i want to define a data array more than 128 bytes, how should i do? How can i access 80h-0ffh inchip ram of 89c52 in c code?
The 8051 architecture can only access internal RAM from 80H - FFH indirectly. (Direct access to those addresses goes to the SFR space instead.) So, you must put those variables into "idata". The C compiler will let you declare "idata" variables larger than 128 bytes. They'll just take up some of your "data" space as well.