Hi all, my company has a old product which use intel's p80c31, now my boss ask me to try to use philips'p89c51rd2 to replace the p80c31, so we can save the ST m27c512 on which program runs. I thinked the p89c51rd2 is 100% compatiable to p80c31, so I just burned the program into on-chip FLASH, and connectted the !EA to vcc, and power on, but the program seems not running. Strange I think then I download the p89c51rd2 mannual(I haven't use p89c51rd2 before). It seems status byte should be zero if you want run the user's code. So I burned the status byte to zero and power on again, but again nothing happen. I feel so distress. Then I used the ATMEL p89c51 to replace the p80c31 but keep the program runs on m27c512, everything is OK. Again I tried the p89c51rd2 to replace the p80c31 but keep the program runs on m27c512, I just burned the status byte to zero. But not luck! It failed. So my question are: 1) Is p89c51rd2 100% compatiable to p80c31? if yes then why it failed when I exchanged these two chips and didn't change anything else(include HW & SW), it is so strange because I keepped the program on the m27c512(!EA connectted to ground), and I burned the status byte to zero. 2) We use external RAM, but p89c51rd2 AUX register default value is 0x00, means using MOVX to access extended ram on chip(768 bytes), will that be a promblem? 3) what should I do if I wanna replace the chip. Should the HW or SW change a little?
thanks