This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

80C390 Chip Enables and Contiguous Addressing mode

Hello,


Thanks for all that posted regarding this previously, however I am still having trouble getting this to work. I have a PCB with a DS80C390 and a UART which is enabled/disabled via the ~CE1 signal (Pin 33) on the 80C390.

Is there anyway that I can leave the 80C390 in the 16-Bit Standard 8051 addressing mode and still be able to have the 80C390 decode the address lines to internally decode the Chip Enable signals????

For example, I set the Port 4 Control Register to enable ~CE0 and ~CE1 and also set P4.4 to be used as A16. I have also set the MCON register to allow ~CE0 and ~CE1 to be used for both Program/Data memory (thus ~CE0 should be asserted for xdata memory accesses in 0h-1FFFFh and ~CE1 should be asserted for 20000h-3FFFFh.) I am trying to access the registers of the UART with the following lines in my code:

while(1)
{
temp = *((unsigned char xdata *)0x02C000);
temp = *((unsigned char xdata *)0x02B000);
temp = *((unsigned char xdata *)0x02A000);
__WATCHDOG_RESET;
}

When I use a scope to check the signals, I see that ~CE0 is getting asserted instead of ~CE1. I read some Application notes that mentioned changing the Target and Device settings in uVision2 for contiguous mode and using the LX51 and AX51 to link and assemble the files. However, is it safe to change the memory model and Code Rom Size in the middle of a project?? Also, I don't have the ax51 and lx51 assembler and linker.

Is there a way that the 80C390 can decode the Chip Enables in the Standard 16-Bit Addressing mode?? Or is required to change the Device and Target Settings to use LX51, AX51, and coniguous mode in order to achieve this????

I am new to 8051 and would greatly appreciate any help.

Thanks,

A.R.

Parents Reply Children
No data