Description: AT89C51 AT89C51-24PC IC DIP-40 Microcontroller IC
AT89C51 89S51 AT89C51-24PI AT89C51-24PU AT89C51-24PC IC DIP-40 Microcontroller IC 8-Bit 24MHz 4KB Flash Memory Through Hole Integrated Circuits MCU Chip
AT89C51 is a low-power, high-performance CMOS 8-bit microcontroller that belongs to Atmel’s 8051 family. AT89C51 has 4KB of Flash programmable and erasable read only memory (PEROM) and 128 bytes of RAM. It can be erased and program to a maximum of 1000 times.It’s Compatible with MCS-51™ Products.
The AT89C51 is an age old 8-bit microcontroller from the Atmel family. It works with the popular 8051 architecture and hence is used by most beginners till date. It is a 40 pin IC package with 4Kb flash memory. It has four ports and all together provide 32 Programmable GPIO pins. It does not have in-built ADC module and supports only USART communication. Although it can be interfaced with external ADC IC like the ADC084 or the ADC0808.
The AT89C51 is no longer in production and Atmel does not support new design. Instead the new AT89S51 is recommended for new applications. But, since the AT89C51 has a strong community support if your motive is to learn embedded then AT89C51 can still be a good choice.
How to Program the AT89C51 (8051) Microcontroller
Atmel microcontroller can be programmed with different software’s that is available in the market. Arduino, Keil uVision are the most used platforms to name a few. If you are planning on serious programming and expansion with community support then Keil is recommended.
In order to program the Atmel microcontroller we will need an IDE (Integrated Development Environment), where the programming takes place. A compiler, where our program gets converted into MCU readable form called HEX files. An IPE (Integrated Programming Environment), which is used to dump our hex file into our MCUs.
IDE: Keil uVision IDE
Programming Hardware: MAX232 with RS232 to USB converter
To dump or upload our code into Atmel IC we need a programmer, the most commonly used programmer is the USBASP which has to be purchased separately. Also simulating you program on software before trying it on hardware will save a lot of time. So you can use software like ISIS proteus from Labcenter to simulate your programs.
A 8051 (AT89C51) Programming circuit is shown below
|AT89C51 – Detailed Features|
|CPU||8-bit 8051 family|
|Program Memory Size (Kbytes)||4K Flash|
|Max. CPU Speed (MHz)||24|
|Peripheral Pin select (PPS)||No|
|No. Of comparators||2|
|No. Of Operational Amplifier||0|
|No. Of ADC channels||Nil|
|Max ADC Resolution (bits)||NA|
|ADC with Computation||No|
|Number of DAC Converter||0|
|Max DAC resolution||0|
|Internal Voltage Reference||NA|
|Zero Cross Detect||No|
|No. Of 8-bit timers||0|
|No. Of 16-bit Timers||2|
|Signal Measurement Timer||0|
|Hardware Limit Timer||0|
|No. Of PWM outputs||0|
|Max PWM resolution||NA|
|No. Of UART module||1|
|No. Of SPI Module||0|
|No. Of I2C module||0|
|No. Of USB Module||0|
|Windowed Watchdog Timer (WWDT)||No|
|Numerically Controlled Oscillator||0|
|Cap. Touch Channels||NA|
|Minimum Operating Temperature (*C)||-55|
|Maximum Operating Temperature (*C)||125|
|Minimum Operating Voltage (V)||4|
|Maximum Operating Voltage (V)||5.5|
|High Voltage Capable||No|
How to select your Atmel Microcontroller
Microchip provides a vast variety of Microcontrollers from PIC family and Atmel Family. Their collection has just piled up after Microchip has acquired Atmel. Each MCU has its own advantage and disadvantage. There are many parameters that one has to consider before selecting a MCU for his/her project. The below points are just suggestions which might help one to select a MCU.
- If you are a beginner who is learning Microcontroller then, selecting a MCU that has good online community support and wide applications will be a good choice. For Atmel AT89S52 or ATmega328 will be a good choice.
- Consider the operating voltage of your system. If they are 5V then select a 5V MCU some sensors or devices work and communicate on 3.3V in such case a 3.3V MCU can be selected
- If size and price is a limitation then you can choose small 8-pin MCUs like Attiny1614. These are also comparatively cheaper.
- Based on the sensors and actuators used in your project, verify which modules you might need in for MCU. For example is you are reading many Analog voltages then make sure MCU has enough ADC channels and supportive resolution. The details of all modules are given in the table above.
- If you project involves communication protocols like UART, SPI ,I2C, CAN etc make sure you MCU can support them. Some MCU can support more than one module of the same protocol
- 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
- 1 x AT89C51