Site hosted by Angelfire.com: Build your free website today!

The 8051 Microcontroller Development System


This is a development board for the 8051 microcontroller. The aim of this small board is to be able of running as many as possible already available softwares for the 8051. Since the 8051 allows different memory configurations ( Von Neumann or separated code and data ) a pal 22v10 (U2) was used in such a way that 8 different memory configurations can be set.

The pal 22v10 is used as an address decoder in so that the decoding can be programmed by the switchs 1 to 4 (control signals mmod3..mmod0). This gives rise to up to 16 different memory mappings.

An eprom 27c512 (U6) is used as a boot eprom. The content of this eprom is divided into 8 different boot softwares of 8k bytes each. For each software a memory mapping can be defined by changing the switchs 1 to 4 ( signals mmod0..mmod3). And the boot software can be chosen by setting the switchs 5 to 7.

Two low power ram memories are available. These memories are battery backed-up so that programs can be stored there as if they were non volatile memories. The first ram (U5) can also be used to boot (like an eprom), this can be set changing the memory mapping. The second ram (U4) is always used as ram and can be either a 6264 or a 62256 depending on the memory mapping. 8k bytes non-volatile rams can be plugged in the place of this second ram. Also another interesting feature is that an 27c512 eprom can be plugged in the place of the first ram to boot from this (basic-52 memory configuration), this can be nice to test a new boot software.

Since this system is composed only of cmos (if you use the 80c32 microprocessor) components it is able to work with power supplies down to 3.3V and can be battery powered. When the development is finished the pal 22v10 can be replaced by a simple decoder or even a low power 22v10 and then the power consumption goes down to around 40mA.

The power consumption of the two ram memories plus the 74hct132 IC in stand-by (battery backing-up) is around 22ľA. So using two 1.5V alkaline AA cells the content of the memories can be kept for more than 2 years! And also it's supplied a little recharge when the normal power supply is on ( normally alkaline cells accept to be slowly recharged for at list 4 times, in spite of the message "non rechargeable") so it could be even more than 3 years!

Check the Schematic Diagram of the Single Board 8051 Microcontroller.

The softwares stored in the 27c512 are the following (in the right order):

The cable for the connection from the 8051 Board to the PC serial port is as shown in Table 1.1.

Serial Link Cable
PC side ( DB-9 female ) 8051 Board side ( DB-9 male )
1,4 -
2 2
3 3
5 5

Table 1.1 - Cable for the serial link between the PC serial port and the 8051 board.


Table 1.2 shows the memory map provided by the PAL (U2) and the switch X1 (X1:1 to X1:4). The right memory map should be selected according to the program selected from the boot EPROM (switch X1:5 to X1:7).


Memory Mapping
CONFIGURATION EPROM RAM1 RAM2 I/O
0 0000H-0FFFH (P-R) 1000H-7FFFH (P-R)
8000H-8FFFH (P-RW)
0000H-7FFFH (D-RW) E000H-FFFFH (D-RW)
1 0000H-1FFFH (P-R) 2000H-7FFFH (P-R)
8000H-8FFFH (P-RW)
0000H-7FFFH (D-RW) E000H-FFFFH (D-RW)
2 0000H-0FFFH (P-R) 1000H-7FFFH (P-R)
8000H-8FFFH (P-RW)
0000H-1FFFH (D-RW) E000H-FFFFH (D-RW)
3 0000H-1FFFH (P-R) 2000H-7FFFH (P-R)
8000H-8FFFH (P-RW)
0000H-1FFFH (D-RW) E000H-FFFFH (D-RW)
4 C000H-DFFFH (P-R) 0000H-3FFFH (P-R)
8000H-BFFFH (P-RW)
0000H-3FFFH (D-RW)
4000H-7FFFH (P-RW)
E000H-FFFFH (D-RW)
5 C000H-DFFFH (P-R) 0000H-3FFFH (P-R)
8000H-BFFFH (P-RW)
0000H-1FFFH (D-RW) -
6 - 0000H-FFFFH (P-R) 0000H-7FFFH (D-RW) E000H-FFFFH (D-RW)
7 - 0000H-FFFFH (P-R) 0000H-1FFFH (D-RW) E000H-FFFFH (D-RW)
8 0000H-0FFFH (PD-R) 8000H-DFFFH (PD-RW) 1000H-7FFFH (PD-RW) E000H-FFFFH (PD-RW)
9 0000H-1FFFH (PD-R) 8000H-DFFFH (PD-RW) 2000H-7FFFH (PD-RW) E000H-FFFFH (PD-RW)
10 0000H-0FFFH (PD-R) 8000H-DFFFH (PD-RW) 1000H-1FFFH (PD-RW) E000H-FFFFH (PD-RW)
11 0000H-1FFFH (PD-R) 8000H-DFFFH (PD-RW) 2000H-3FFFH (PD-RW) E000H-FFFFH (PD-RW)
12 - 0000H-7FFFH (PD-RW) 8000H-DFFFH (PD-RW) E000H-FFFFH (PD-RW)
13 - 0000H-7FFFH (PD-RW) 8000H-9FFFH (PD-RW) E000H-FFFFH (PD-RW)
14 0000H-1FFFH (PD-R) 2000H-7FFFH (PD-RW) 8000H-9FFFH (PD-RW) E000H-FFFFH (PD-RW)

Table 1.2 - Memory map provided by the PAL




Some 8051 useful links:

General Information:

Free C compilers:

Free Basic Interpreters:

Free Assemblers:

Free Disassemblers:

Free Monitors and Debuggers:

Free Simulators:


Please, send me comments.


Back to my home page