Hi I want to connect many devices like Serial EEPROM, ADC,DAC,RTC and many other I/O devices to 8051.
My question is how address mapping can be done ? How to address them??
Please reply i am in need.
"How to address them??"
That bit is simple - you just use MOVX or MOVC, as approprate. These cause the appropriate address to be presented on the address bus.
Is your question really how to decode the addresses, so that each peripheral "knows" when it is being addressed? If so, the principle is exactly the same as for any other bus-based system.
You need to start by uderstanding how the 8051 external address/data bus works - see the so-called "bible" for the 8051:
Chapter 1 - 80C51 Family Architecture: www.nxp.com/.../80C51_FAM_ARCH_1.pdf
Chapter 2 - 80C51 Family Programmer's Guide and Instruction Set: www.nxp.com/.../80C51_FAM_PROG_GUIDE_1.pdf
Chapter 3 - 80C51 Family Hardware Description: www.nxp.com/.../80C51_FAM_HARDWARE_1.pdf
Thank you for immediate responce. i need more clarification
In normal way of addressing we may have Decoder / mux to select the particular peripheral
But if we use I2C protocol , we will have only two line SCL and SDA. We will use serial communition., In this case how to connect and address them?? Is there any limitation that some peripherals which are compaitable to I2C only can be connected??
If you use a I2C interface, then you should note that I2C is also a bus. You will issue serial data that represents the address of the chip to talk to. Then you will issue serial data to write to the addressed chip.
View all questions in Keil forum