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