In this introduction of 8051 Microcontroller, let’s have a look at the quick history of 8051. Intel was a first company who produced an 8 bit microcontroller in 1976 with the name of MCS-48 and then with an advance version they introduced MCS-51 which was also an 8 bit Microcontroller. And then more number of other giant semiconductor companies joined this race with Intel to produce their products using same MCS-51 instruction sets. And then in 1982 Intel launched MCS-91 which was 16 bit microcontroller.
Why 8051 Microcontroller?
Since 8051 microcontroller is easy to integrate so it is one of widely used controller around the world. It has number of applications in different field such as Energy management, Automobiles, medical devices, touch screen devices etc. And one of most effective cause is cost. This controller is a general purpose controller so very popular in students and beginners, for some people this might be unnecessary but I think for beginners and students this is most important. Why to spend too many dollars for making the same system when you can make it with a single dollar? So here is an 8051 comes with a cost effective solutions.
While as a beginner and starting with 8051 microcontroller, this chip gives enough space on RAM and ROM to play with. So we also suggest you to getting start embedded programming with 8051 is going to be a good option.
Why choose 89v51rd2 over 89c51?
There are different controller chips are available for 8051 family. In our case we are going to use P89V51RD2. Because this chip has number of advantages over 89C51.
AT89C51 is a CMOS Version which has Multi Programming Mode (ISP). Both Controller has same architecture and same instructions code. So the main difference between them are IC89C51 is compatible with CMOS Voltage levels and 89V51RD2 is compatible with TTL voltage levels. “v” in IC 89v51RD2 is it is ‘vacuum tube version’.
Packaging Use for 8051
Now let’s get a brief on packaging. You may already know about packaging so I will not go deeper in that. We will just overlook the main packaging uses for 8051 microcontroller. Dual Inline Package (DIP 40 pins) is most widely used packaging for our controller. It also avails in different packages like in QFP (Quad Flat Package), TQFP (Thin Quad Flat Package), PQFP (Plastic Quad Flat Package) etc.
Input Output Ports
- There are four input output ports available P0, P1, P2, P3 of 8 bit wide. There are special function register P0, P1, P2, P3 which are bit addressable means each bit can be set or reset by the bit instructions (SETB for High, CLR for Low) independently.
- The data at any port which is transmitting or receiving is in these registers. The Port 0 can perform dual works. It is also used as Lower order address bus (A0 to A7) multiplexed with 8 bit data bus P0.0 to P0.7 is AD0 to AD7 respectively the address bus and data bus is de-multiplex by the ALE signal and latch .
- Port 2 can be used as I/O port as well as higher order address bus A8 to A15.
- Port 3 also have dual functions it can be worked as I/O as well as each pin of P3 has specific function.
|P3.0||RXD||Serial I/P for Asynchronous communication|
Serial O/P for synchronous communication.
|P3.1||TXD||Serial data transmit|
|P3.2||INT0||Ext Interrupt 0|
|P3.3||INT1||Ext Interrupt 1|
|P3.4||T0||CLK input for counter 0|
|P3.5||T1||CLK input for counter 1|
|P3.6||WR||Signal for writing to ext. memory|
|P3.7||RD||Signal for reading from ext. memory|
Oscillator used clock to MC8051 which decides the speed or baud rate of MC. We use crystal of 11.0592 MHz frequency.
Interrupts are defined as requests because they can be masked if they are not in use that is when an interrupt is acknowledged. A special routines are followed to handle the interrupts. These routines are known as interrupt handler or interrupt service routines (ISR) and are located at a special location in memory.
INT0/ INT1 – Use for external interrupts
- VCC – 5V supply
- VSS – GND
- XTAL2/XTAL1 are for oscillator input
- Port 0 – 32 to 39 – AD0/AD7 and P0.0 to P0.7
- Port 1 – 1 to 8 – P1.0 to P1.7
- Port 2 – 21 to 28 – P2.0 to P2.7 and A8 to A15
- Port 3 – 10 to 17 – P3.0 to P3.7
- P 3.0 – RXD – Serial data input – SBUF
- P 3.1 – TXD – Serial data output – SBUF
- P 3.2 – INT0 – External interrupt 0 – TCON 0.1
- P 3.3 – INT1 – External interrupt 1 – TCON 0.3
- P 3.4 – T0 – External timer 0 input – TMOD 8 Microcontroller and Embedded Systems
- P 3.5 – T1 – External timer 1 input – TMOD
- P 3.6 – WR – Ext. memory write cycle – Active LOW
- P 3.7 – RD – Ext. memory read cycle – Active LOW
- RST – Reset
- ALE – Address latch enable 1 – Address on AD 0 to AD 7 0 – Data on AD 0 to AD 7
- PSEN – Program store enable
8051 Features and Core Specifications
8051 is very popular 8 bit microcontrollers and has an instruction set that make access to coding of little, I/O application with maximized Program Memory which is possibly to be used with C. This makes it to be more convenient battery operated device.
Instruction time of 1µs (at 12 MHz) and latest one may perform 40 instructions per 1µs.
- It has 4 separate register sets, which can be used to reduce interrupt delay contrasted to, storing interrupt context on a stack.
- Has many module (CPU, ROM, RAM, I/O, timer, interrupt logic, etc.) in 1 integrated circuit.
- Due to bit-level Boolean operations it’s useful for control applications.
- Data bus with 8 bit width
- 8 bit ALU, Accumulator and 8-bit Registers
- Address bus with 16 bit width which allow access to 64 K of memory (65536 locations) for ROM and RAM
- 64KB Program Memory
- On-chip ROM – 4 K (program memory)
- On-chip RAM – 128 bytes (data memory)
- 64KB Data Memory
- 5-vector/6-source interrupt structure
- 2-level interrupt priority
- Two 16-bit timers/Counter
- Bi-directional 4 byte output/input port
- Serial port with (UART)
- Power economizing mode
I hope this Introduction of 8051 Microcontroller will be helpful for you to understand basic but important stuffs about 8051 microcontroller. So here we have gone through our first impression on 8051 microcontroller. In future we are going to focus on little projects with simplest form of programs and its description. You guys feel free and open to give your feedbacks, queries, suggestions. Thank you and have fun with “Chips”.