Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to get started with 8051 derivative SoC & C programm

Not open for further replies.


Member level 3
Apr 18, 2002
Reaction score
Trophy points
Activity points
How does one get started with a 8051 derivative SoC and C programming for the same.

What is your application?

czpir said:
How does one get started with a 8051 derivative SoC and C programming for the same.

I got some experience in 8051 derivative. Maybe I could give you some
hint. :)


Thanks Waterman

I basically lokking for help on using the i/o pins to interface to external memory or memory like devices like an Ethernet Chip.

Re: i/o

It sounds like that you are trying to use memory-mapped IO technique
for external registers (not SFR) to control your chip. This method
is used widely for 8051 derivatives, such as monitor controllers.
It is because the standard 8051 ICE with vendor's special adaptor
could be used for debugging.

For application of this kind, you could use PBYTE[] or XBYTE[]
(I suppose you are using K_e_i_l C51 compiler) to access external
registers and control your chips. For more detail, check user's
manual of the compiler you use.

Hope this help!


Dear Waterman

Thanks !

Yes this is what I am trying to do. I will look at the manuals.

Please let me know if memory mapped I/O would require additional components to be used for address decoding ? like a 7XX374 or something else or can I connect the Memory device straight ?

Further can I make use of any 8051 port for memory mapped I/O or should I depend on port A port B ?

Re: I/O

It depends.

Recently, I used a chip with only 7 external registers.
I mapped these registers to 0xxxh, 1xxxh, 2xxxh, ~ 6xxxh.
That is I used XBYTE[0x0000], XBYTE[0x1000],... to have access
to this chip. So I did not put 373 on the board. However, not all
applications could use this scheme. Also remember to connect /WR and /RD to your chip for write and read.

8051 <--> my chip
A8 <--> A0
A9 <--> A1
A10 <--> A2
D[7..0] <--> D[7..0]
/WR <--> /WR
/RD <--> /RD

Maybe you need a 373 to latch A0~A7 (8051 shares these pins for
data and address).

Re: I/O

Dear Waterman :lol:
Pobably i can help you ...Start designing from basics(the kind of I/o you have on the 8051 or its peripheral and the kind of memory you wanna interface.
work out the pin configuration and the memory details and then definitely u wil be able to understand how many latches(definitely one for add and data) u need if u wanna multiplex the pins and use them.

Not open for further replies.

Part and Inventory Search

Welcome to