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 am using AT89C51RD2 with KEIL and Proteus VSM 7.1 SP2. The problem i am facing is: I am using "Small" memory model for AT89S52 (256 bytes RAM). Due to Address Overflow (Lot of variables), now I am using AT89C51RD2 (256 + 1792 bytes on-chip XRAM) So i have selected "Compact" memory model to use XRAM. Now Compiler Side there is no problem, Keil succesfully Creates HEX files. But when i am simulating this hex file with Proteus there is Blank Display and nothing at all.
Proteus Simulation log gives message: [HD44780]Controller received data whilst busy.
What is the problem ?
Same code creates this problem if "Compact" memory model is selected.
Please Help !
Selecting the compact model does not make sense in most cases.
if you stay with 'small' and add the xdata qualifier to some rarely used variables you will get a much better performance.
AT89S52 .... now I am using AT89C51RD2 I do not know (what) Proteus (is) but could it be that (your version of) Proteus does not 'know' the RD2. If you try what I sugest above, you will soon find out if it is the chip or the 'compact' model.
Erik