Main | Penguins | Projects | Travel | Photos | Publications | SensorWiki

80C552 Microcontroller board

For quickly implementing microcontroller projects, a flexible board is needed. Normally, I use the 80C552 based board as described below.

Functional description

The 80C552 board is quite a standard implementation of the 80C552 microcontroller with external RAM and ROM. Features of the board are:

  • Overlap in external data and program memory;
  • RS232 interface (MAX232 however external);
  • I2C interface;
  • 8 Analog inputs and all other ports as box-headers available;
  • 32k RAM;
  • 32k ROM;

Microcontrollers like the 80C51 series are not designed to have program memory and data memory in the same address space. This requires that when developing projects, the program code must be burnt into the ROM memory over and over again. Especially when the memory is of the EPROM type, the process of erasing and programming the the code is time consuming.

A commonly used solution for this problem is the physical overlap in program and data memory. Such an overlap enables uploading software to the RAM and using this RAM as program memory by jumping to a specific memory location. To do this a simple bootstrap loader is placed in the ROM. The memory mapping is shown below.

Building description

You can download the schematic here. The set-up is very standard. Only the address decoder for overlapping RAM and ROM is less common. In the picture below, the microcontroller board is placed on top of an experimental print on which specific features are implemented like a reset button, the MAX232 and a MIDI interface.

The microcontroller board is routed to fit on a single sided PCB with about 20 wires on top.