Even before Arduino was a thing, the world had microcontrollers only thing was they were pretty less known and best example will be an 8051 Microcontroller which was quite famous and guess what even today for enthusiasts like me it's still famous! So in this tutorial, I'll take you back to 1980s and show you how to build a Minimal system for 8051.
So let's get started
Littel History about 8051
The 8051 series of microcontrollers was developed by Intel in 1980 for embedded systems. They should have been extinct by now, but they are still around and are in fact quite popular. The 8051 has since then been upgraded. The newer variants of the 8051 currently available in the market are more powerful, consume less power and, most importantly, are cheaper.
As a student, you should study the 8051 to get acquainted with basic microcontroller architecture, embedded system designing, prototyping. In the meantime, you should make a few projects and test your code efficiency.
Also, note that you don’t exactly have to work on the original 8051 made by Intel, you can pick any new variant in the market 89C51, 89C52, 89S51, 89S52 or P89V52RD2.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Watch the Videos!
If you don't wish to read all the stuff you can watch my video tutorial.
Step 2: Understanding the Schematic
Here is the schematic for the minimal system,(Download PDF for better Quality)
Here mainly we have 3 sections,
- System Clock or Crystal Section: In 8051 clock circuit, a quartz crystal is used to make the clock circuit. The connection is shown in figure and note the connections to XTAL 1 and XTAL 2. If serial communications are involved then its best to use 11.0592 MHz frequency, Hence we use 11.0592MHz crystal
- Reset Circuit: 8051 can be reset in two ways,power-on reset – which resets the 8051 when power is turned ON and Manual reset – in which a reset happens only when a push button is pressed manually. Above circuit is used to Reset the 8051 using Pushbutton
- Power Circuit: Every device requires power so does our 8051 which needs 5V so we use an LM7805 Voltage regulator along with complementary capacitors to avoid noise in the system
Step 3: RS232 Interface or SPI?
To establish a communication link between the PC and the 8051 for programming,
Serial communication is often used either to control or to receive data from an embedded microprocessor. Serial communication is a form of I/O in which the bits of a byte begin transferred appear one after the other in a timed sequence on a single wire. Serial communication has become the standard for intercomputer communication. in 1980s, 8051 and PC used RS232 link but is not used now.
So as a alternative we have SPI protocol which uses MOSI MISO and SCK pins for communication,
No start and stop bits, so the data can be streamed continuously without interruption complicated slave addressing system like I2C
Higher data transfer rate than I2C (almost twice as fast)
Separate MISO and MOSI lines, so data can be sent and received at the same time
So hence I chose to ditch RS232 Port which you will find on many 8051 boards and simply used SPI pins
Step 4: Making PCB and Soldering
Since I plan to use this system for many projects and for prototyping I decided to design a PCB for it. So I fired up EASYEDA and designed this PCB and got them manufactured from China for cheap, By the way, feel free to download my Gerber file of PCB if you plan to make one by yourself.
Once I had the PCBs I soldered all the components starting with the IC base you can even use a ZIF Socket, followed by the voltage regulator circuit and then Crystal circuit.
By the way, feel free to built your system on a Zero PCB or a breadboard just use short wire to avoid Parasectic Capacitances
Step 5: Done!
Once you have successfully soldered everything, Congratz you have made an 8051 Development Board!
So that's pretty much it for this tutorial guys, If you like my work consider checking out my YouTube channel for more awesome stuff: https://www.youtube.com/c/NematicsLab
You can also follow me on Facebook, Twitter, etc for upcoming projects