Overview of AT89C51
A CMOS 8-bit microcomputer with low power consumption and high performance, the AT89C51 has 4K bytes of programmable and erasable Flash read-only memory (PEROM). The product is made with high-density nonvolatile memory technology from Atmel, and its pinout and instruction set are compliant with the industry standard MCS-51. The program memory can be updated in-system or using a typical nonvolatile memory programmer thanks to the on-chip Flash. The Atmel AT89C51 is a powerful microcomputer that offers a highly flexible and economical solution to many embedded control applications by integrating a flexible 8-bit CPU with Flash on a monolithic chip.
Video Description: This video is mainly about the detailed information about programming any IC microController such as AT89S52, AT89S51, and AT89C51.
AT89C51 Pinout
AT89C51 Pinout
Pin Number |
Pin Name |
Description |
1 |
P1.0 |
0th pin of PORT P1 |
2 |
P1.1 |
1st pin of PORT P1 |
3 |
P1.2 |
2nd pin of PORT P1 |
4 |
P1.3 |
3rd pin of PORT P1 |
5 |
P1.4 |
4th pin of PORT P1 |
6 |
P1.5 |
5th pin of PORT P1 |
7 |
P1.6 |
6th pin of PORT P1 |
8 |
P1.7 |
7th pin of PORT P1 |
9 |
RST |
Reset pin of the Microcontroller |
10 |
(RXD) P3.0 |
0th pin of PORT P3 or Receiver pin of Microcontroller |
11 |
(TXD) P3.1 |
1st pin of PORT P3 or Transmitter pin of Microcontroller |
12 |
(INT0) P3.2 |
2nd pin of PORT P3 or External Interrupt 0 of MCU |
13 |
(INT1) P3.3 |
3rd pin of PORT P3 or External Interrupt 1 of MCU |
14 |
(T0) P3.4 |
4th pin of PORT P3 or Timer 0 interrupt of MCU |
15 |
(T1) P3.5 |
5th pin of PORT P3 or Timer 1 interrupt of MCU |
16 |
(WR) P3.6 |
6th pin of PORT P3 or Write to External data memory pin |
17 |
(RD) P3.7 |
7th pin of PORT P3 or Read from External data memory pin |
18 |
XTAL2 |
External crystal pin 2 of Microcontroller |
19 |
XTAL1 |
External crystal pin 1 of Microcontroller |
20 |
GND |
Ground pin of MCU |
21 |
P2.0(A8) |
0th pin of PORT P2 or High-order Address bit 8 of MCU |
22 |
P2.1(A9) |
1st pin of PORT P2 or High-order Address bit 9 of MCU |
23 |
P2.2(A10) |
2nd pin of PORT P2 or High-order Address bit 10 of MCU |
24 |
P2.3(A11) |
3rd pin of PORT P2 or High-order Address bit 11 of MCU |
25 |
P2.4(A12) |
4th pin of PORT P2 or High-order Address bit 12 of MCU |
26 |
P2.5(A13) |
5th pin of PORT P2 or High-order Address bit 13 of MCU |
27 |
P2.6(A14) |
6th pin of PORT P2 or High-order Address bit 14 of MCU |
28 |
P2.7(A15) |
7th pin of PORT P2 or High-order Address bit 15 of MCU |
29 |
PSEN |
Program store enable pin, Read external program memory |
30 |
ALE/PROG |
Address Latch Enable/ Program Pulse input for flashing |
31 |
EA/VPP |
Access Enable voltage/Program enable voltage |
32 |
P0.7(AD7) |
7th pin of PORT P0 or Low-order Address bit 7 of MCU |
33 |
P0.6(AD6) |
6th pin of PORT P0 or Low -order Address bit 6 of MCU |
34 |
P0.5(AD5) |
6th pin of PORT P0 or Low -order Address bit 5 of MCU |
35 |
P0.4(AD4) |
6th pin of PORT P0 or Low -order Address bit 4 of MCU |
36 |
P0.3(AD3) |
3rd pin of PORT P0 or Low -order Address bit 3 of MCU |
37 |
P0.2(AD2) |
2nd pin of PORT P0 or Low -order Address bit 2 of MCU |
38 |
P0.1(AD1) |
1st pin of PORT P0 or Low -order Address bit 1 of MCU |
39 |
P0.0(AD0) |
0th pin of PORT P0 or Low -order Address bit 0 of MCU |
40 |
Vcc |
Supply pin of MCU |
AT89C51 CAD Model
AT89C51 Symbol
AT89C51 Footprint
AT89C51 Block Diagram
AT89C51 Block Diagram
AT89C51 Features
- Fully Static Operation: 0 Hz to 24 MHz
- Three-level Program Memory Lock
- 128 x 8-bit Internal RAM
- 32 Programmable I/O Lines
- Two 16-bit Timer/Counters
- Six Interrupt Sources
- Programmable Serial Channel
- Low-power Idle and Power-down Modes
AT89C51 Equivalents
How to Program the AT89C51 Microcontroller?
With several software programs on the market, Atmel microcontrollers can be programmed. To mention a few, the most popular platforms are Arduino and Keil uVision. Keil is advised if you intend to implement substantial programming and growth with community support. An IDE (Integrated Development Environment), where the programming is done, is required to program the Atmel microcontroller. a compiler, where our software is transformed into HEX files, which are readable by MCUs. Our hex file is dumped into our MCUs using an IPE (Integrated Programming Environment).
The most popular programmer is the USBASP, which must be purchased separately, and it allows us to upload or dump our code into Atmel IC. Additionally, it will save a ton of time to simulate your program on software before running it on hardware. Therefore, you may mimic your programs using tools like Labcenter's ISIS proteus.
The following is an AT89C51 programming circuit:
AT89C51 Programming the Flash
The on-chip Flash memory array of the AT89C51 is often shipped in an erased condition (contents = FFH) and prepared for programming. Either a low-voltage (VCC) or high-voltage (12 volt) program enable signal is accepted by the programming interface. The AT89C51 can be easily programmed inside the user's system using the low-voltage programming mode, whilst the high-voltage programming mode is compatible with standard Flash or EPROM programmers from third parties.
Both the high-voltage and low-voltage programming modes are active when the AT89C51 leaves the factory. The following table lists the corresponding top-side marking and device signature codes.
Rightly choose the Atmel Microcontroller?
Microchip offers a wide range of PIC and Atmel family microcontrollers. After Microchip bought Atmel, their collection has recently gotten larger. Each MCU has unique benefits and drawbacks. Before choosing an MCU for a project, one must take into account a number of factors. The following are merely recommendations that may aid with MCU selection.
- Make that your MCU can support communication protocols like UART, SPI, I2C, CAN, etc. if your project calls for them. More than one module of the same protocol can be supported by some MCUs.
- Check which MCU modules you might need based on the sensors and actuators utilized in your project. For instance, if you are reading a lot of analog voltages, check that the MCU has enough ADC channels and a resolution that supports it. The table above contains information on each module.
- If cost and size are constraints, you can pick tiny 8-pin MCUs like the Attiny1614. These are also considerably less expensive.
- Think about the system's operating voltage. Choose a 5V MCU if they are 5V. A 3.3V MCU can be chosen in these cases since some sensors or devices operate and communicate on this voltage.
- If you're a newbie learning microcontrollers, picking an MCU with a strong online community and a variety of applications will be a wise decision. The AT89S52 or ATmega328 from Atmel are both viable options.
Difference between 8051 and AVR Microcontrollers
Microcontrollers in the 8051 family are 8-bit devices. It is a low-cost, entry-level micro-controller that is utilized worldwide for the majority of simple applications. It also uses little power. The 1981 was the year that Intel developed it. The main applications for this micro-controller are in autos, medical equipment, and energy management systems.
The Atmel Corporation created the AVR microcontroller in 1996. It also goes by the name Advanced Virtual RISC and is based on the RISC Instruction Set Architecture (ISA). The first microcontroller from the AVR series was the AT90S8515. The most popular and affordable type of controller is the AVR micro-controller. Numerous robotic applications make use of it.
8051 Microcontroller |
AVR Microcontroller |
8051 micro-controller has 8 bit bus width. |
AVR micro-controller has 8 bit but some are 32 bit bus width. |
Micro-controllers are from Intel company. |
Micro-controllers are from Atmel comapny. |
8051 micro-controller is based on von neuman architecture. |
AVR micro-controller is based on Modified Harvard architecture. |
8051 micro-controller uses CISC Instruction Set Architecture. |
AVR micro-controller uses RISC Instruction Set Architecture. |
It uses SPI, I2C, UART, USART communication protocol. |
It uses UART, USART, LIN, CAN, Ethernet, SPI, I2S communication protocols. |
It consumes average power. |
It consumes low power. |
Its family includes 8051 variants. |
Its family includes Atmega, Tiny, Xmega, special purpose AVR. |
It has vast community support. |
It has very good communication support. |
It uses ROM, SRAM, FLASH memory. |
It uses Flash, SRAM, EEPROM memory. |
Its speed is 12 clock per instruction cycle. |
Its speed is 1 clock per instruction cycle. |
Popular micro-controllers are AT89C51, P89v51, etc. |
Popular micro-controllers are Atmega8, 16, 32, Arduino Community. |
AT89C51 Applications
- Multiple DIY Projects
- Very good choice if you are learning ATmel
- Projects requiring Multiple I/O interfaces and communications
- Replacement for Arduino Module
- Ideal for more advanced level A/D applications in automotive, industrial, appliances and consumer applications.
AT89C51 Datasheet
The following is the Datasheet about the AT89C51 :
AT89C51 Datasheet
AT89C51 Packaging information
AT89C51 FAQ
What is AT89C51?
A CMOS 8-bit microcomputer with low power consumption and high performance, the AT89C51 has 4K bytes of programmable and erasable Flash read-only memory (PEROM). The product is made with high-density nonvolatile memory technology from Atmel, and its pinout and instruction set are compliant with the industry standard MCS-51.
Is AT898051 and AT8989c51 the same?
Intel only created the architecture known as the 8051. It is employed in 89c51 as well as 89c52. The flash memory and timer are the main distinctions between them.
What is the difference between AT89C51 and AT89S51?
The main distinction between the 89c51 and 89s51 is that all S series chips, including the 89s51, may be programmed by both the parallel port and ISP port. But only a parallel programmer can be used to program the 89c51.
Is AVR or 8051 better?
The first microcontroller from the AVR series was the AT90S8515. The most popular and affordable type of controller is the AVR micro-controller.
How many pins 89c51 micro controller has?
An ancient 8-bit microcontroller from the Atmel family is the AT89C51. Since it utilizes the well-liked 8051 architecture, most novices still use it today. It has a 4Kb flash memory and a 40 pin IC chip.