Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

MCS-51 Motherboards

Status
Not open for further replies.

Jon Wilder

Active Member
For those of you who are interested in such a thing, I'm currently designing a super cool MCS-51 motherboard. I was originally going to hard solder an Atmel AT89S8253 to the board (which is like an 80C52 with an SPI port, 12K Code/2K Data EEPROM, dual data pointers and a UART with Address Recognition and ISP compatible), but am now considering socketing the main controller to make it compatible with any and all 40-pin PDIP MCS-51 derivatives.

This board will have 9 pin single row headers on ports 1 & 3 (9th pin on each port will be Vss) and Ports 0 & 2 will be on a 20 pin dual row shrouded male header. The RD and WR pins from Port 3 will also be available on this header. This will allow the user to use Ports 0 and 2 as either conventional I/O ports OR as an external peripheral buss through the use of movx instructions. As the design stands now, an external bussed resistor network will be needed to use Port 0 as conventional I/O for pull up, but I'm considering including this on the board as well to eliminate the need for it.

The board will also have the EA pin jumper settable and will include a 32K EPROM chip for code as well as an 8K external RAM chip along with the address latch. The jumper will allow the user to select either just the 32K external code chip or have some of the code on-chip with the rest of the code off chip. ROMless devices will also work on this board as well but the jump will need to be set to use just the off chip EPROM.

The crystal on the board I would use a 12MHz, but I can leave the crystal off so the user can decide what crystal they want to use on it since some like to use 11.059MHz for 9600 baud projects.

As it would only be cost effective to order these boards in runs of 10 or more, I'm curious to see if anyone else here would be interested in purchasing such a board. If anyone would be interested in one of these "motherboards", feel free to post up.
 
Well it's not a "dev board". It's a motherboard...which can be used as a dev board, but can also be used in final designs as well.

One change I made...the board is made to use ports 0 and 2 as an address/data buss exclusively. This eliminates the need for pull ups on port 0 and also allows me to assign external buss peripherals to a given 8K address block. A 74HC138 is used on the board and the first output Y0 drives the CE pin on the external RAM. This locks the RAM down to the first 8K block of addresses. The remaining 7 blocks of 8K are reserved for up to 7 additional external peripherals via routing the remaining outputs of the 74HC138 to the peripheral buss header. External peripherals on the buss can be selected by using the 3 MSB's of P2 as "block select" bits, then using 8 bit addressing methods to communicate with the external peripheral.

The peripheral buss can handle things such as LCD displays, LED displays, buffered switch arrays, and just about anything with an active low "output enable" or a "chip enable" pin. P1 can be used as the 8 bit parallel port while P3 can be used for its peripherals such as the UART and external interrupts. With the ability to add up to 7 devices to the external buss and still having the external on-chip peripherals available, it's an easily expandable system. Even more versatility is added with 8051 derivatives that feature SPI/I2C ports on P1.

I'll consider the ADC, however there may not be enough room and if it's SPI/I2C, this would make the board derivative dependent.
 
Last edited:
Why not use a SiLabs 8051 core like the C8051F321?
They are a beast of a processor with loads of I/O, ADC & USB.
Plus a Crossbar to connect most pins to each individual component inside.
 
I like the SiLabs parts. 50MIPS and 100MIPS. Fast!
The parts I used did not connect to external memory like Jon wants.
 
And more so for the external data memory.

Some insist on having everything on one chip. Most of my designs, however, incorporate store able user settings. If the micro happens to fail and all the user data is on the micro...well there goes your user settings.

Plus having the external buss available...it's not just for external memory. ;)
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top