El AT89C51 es un chip basado en un microcontrolador CMOS de 8 bits, fabricado por Atmel, y también se conoce como microcontrolador de la serie 8051. Se utiliza principalmente en sistemas integrados, ya que ofrece ventajas como una gran flexibilidad, programabilidad y facilidad de uso. Tiene aplicaciones en diversos campos, como el control industrial, la electrónica automotriz y los instrumentos inteligentes, y se ha convertido en un representante significativo de la familia de microcontroladores MCS-51.
Introducción al microcontrolador AT89C51
El AT89C51 es un microprocesador CMOS de 8 bits, bajo voltaje y alto rendimiento, con 4K bytes de memoria flash programable y borrable de solo lectura (FPEROM). Se fabrica utilizando la tecnología de memoria no volátil de alta densidad de Atmel y es compatible con el conjunto de instrucciones y la disposición de pines del estándar industrial MCS-51. Al combinar una versátil CPU de 8 bits y una memoria flash en un solo chip, el AT89C51 de Atmel es un microcontrolador eficiente que proporciona una solución flexible y rentable para muchos sistemas de control integrados.
Características del AT89C51
- Compatible con MCS-51
- 4K bytes de memoria FLASH programable
- Resistencia: 1000 ciclos de escritura/borrado
- Tiempo de retención de datos: 10 años
- Funcionamiento totalmente estático: 0 Hz-24 MHz
- Bloqueo de memoria de programa de tres niveles
- RAM interna de 128 x 8 bits
- 32 líneas de E/S programables
- Dos temporizadores/contadores de 16 bits
- Cinco fuentes de interrupción
- Canal serie programable
- Modos de inactividad y apagado de bajo consumo
- Oscilador y circuitos de reloj integrados en el chip
Funciones del AT89C51
1. Procesamiento de datos: El AT89C51 tiene una potente capacidad de procesamiento de datos, lo que le permite manejar diversas tareas de procesamiento, almacenamiento y transferencia de datos. Puede realizar diversas operaciones con datos utilizando componentes integrados, como la unidad aritmética lógica (ALU), la memoria flash y la memoria RAM.
2. Control de periféricos: El AT89C51 cuenta con múltiples interfaces periféricas, incluyendo pines de entrada/salida de propósito general (GPIO), un puerto serie, una interfaz SPI y dos temporizadores/contadores de 16 bits, que pueden utilizarse para la comunicación y el control de otros dispositivos de hardware.
3. Gestión de interrupciones: El AT89C51 admite varios tipos de interrupciones, incluyendo interrupciones externas, interrupciones de temporizador e interrupciones de puerto serie. Estas interrupciones permiten una respuesta rápida a eventos externos y la ejecución de las rutinas de servicio de interrupción correspondientes.
4. Control de temporización: El AT89C51 incluye dos temporizadores/contadores de 16 bits que se pueden utilizar para generar interrupciones de temporizador, medición de frecuencia, modulación de ancho de pulso y otras aplicaciones relacionadas con la temporización.
5. Actualizaciones programables: gracias al uso de memoria flash, el AT89C51 permite modificar su programa mediante programación, lo que facilita las actualizaciones y la expansión del sistema.
Estructura del AT89C51
La estructura interna del microcontrolador AT89C51 muestra los principales componentes funcionales dentro del chip:

1. Una unidad central de procesamiento (CPU) de 8 bits centrada en la unidad aritmética lógica (ALU) para el cálculo y el control.
2. 128 bytes de memoria interna accesible para datos (RAM interna) con un rango de direcciones de 00H a 7FH.
3. 21 registros de funciones especiales (SFR) distribuidos en el rango de direcciones de 80H a FFH, utilizados para diversas funciones de control.
4. Un contador de programa (PC), un registro dedicado de 16 bits para almacenar la dirección de la siguiente instrucción que se va a ejecutar.
5. 4 KB de memoria flash interna (ROM en chip) para almacenar programas y datos.
6. Cuatro puertos de E/S programables de 8 bits (P0, P1, P2, P3).
7. Un puerto de comunicación serie UART.
8. Dos temporizadores/contadores de 16 bits.
9. Cinco fuentes de interrupción y un sistema de control de interrupciones de dos niveles.
10. Oscilador y circuitos de reloj en chip.
Configuración de pines AT89C51
El microcontrolador AT89C51 tiene 40 pines clasificados en cuatro grupos: alimentación, reloj, control y puertos de E/S.

Pines de alimentación:
– GND (pin 20): conexión a tierra.
– Vcc (pin 40): entrada de alimentación de CC, normalmente 5,0 V ±20 % en el rango de -40 °C a 85 °C, con una potencia máxima de 6,6 V.
Pasadores de reloj:
– XTAL1 (pin 19): uno de los pines para conectar un elemento oscilador externo, como un oscilador de cristal
. – XTAL2 (pin 18): el otro pin para conectar un elemento oscilador externo.
Cuando se utiliza un oscilador externo, XTAL1 recibe la señal del oscilador, mientras que XTAL2 se deja sin conectar. Esta configuración forma el oscilador, cuya frecuencia viene determinada por la recíproca del periodo del oscilador.
(Nota: La traducción es bastante detallada. Si prefiere una versión más concisa, hágamelo saber).
Pines de control:
1. RST (Pin 9): Entrada de reinicio (utilizada para la inicialización y el reinicio).
El reinicio puede realizarse mediante dos métodos: reinicio al encender y reinicio manual (pulsando un botón de reinicio). Requiere que el pin RST permanezca alto durante al menos 2 ciclos de máquina antes de pasar a un nivel bajo. Esto incluye un pequeño circuito con resistencias y condensadores. El primer método se consigue aplicando un alto voltaje a este circuito, mientras que el segundo método es tan sencillo como pulsar un botón. Ambos métodos garantizan que el pin RST permanezca alto durante dos ciclos de máquina, completando la operación de reinicio.
2. ALE/PROG (pin 30): habilitación del latch de dirección/pulso de programación.
Este pin, que también se utiliza como PROG durante la programación, se emplea al descargar programas al microcontrolador. Está relacionado con los pulsos de programación y genera formas de onda específicas durante la programación.
3. PSEN (pin 29): Señal de lectura de ROM externa.
PSEN está relacionado con la lectura de datos de la ROM externa. Actúa como condición para la lectura de datos, requiriendo una señal PSEN válida para leer los datos correctamente.
4. EA/Vpp (pin 31): Selección de ROM interna/externa/tensión de programación.
El microcontrolador 51 tiene 4K de ROM integrada. Si esto no es suficiente, se puede ampliar con una ROM externa (similar a insertar una tarjeta de memoria en un teléfono móvil). El valor de EA determina si se accede a los datos desde la memoria interna o externa. Vpp se utiliza para aplicar voltaje durante la programación.
Diagrama de bloques del microcontrolador AT89C51
El siguiente diagrama representa los bloques funcionales básicos del microcontrolador AT89C51. Este chip integra los componentes principales de un microordenador, incluyendo la CPU, la memoria, los puertos de E/S programables, los temporizadores/contadores, el puerto serie, etc. Todos estos componentes están interconectados a través de un bus interno.

Microcontroladores AT89C51 frente a 8051
8051: Representa la segunda generación de microcontroladores, pertenecientes a la serie MCS-51. AT89C51: Microcontrolador desarrollado por ATMEL, compatible con MCS-51 y perteneciente a la tercera generación de microcontroladores.
Los microcontroladores MCS-51 hacen referencia a una serie de microcontroladores producidos por Intel en Estados Unidos. Esta serie incluye los modelos 8031, 8051, 8751, 8032, 8052 y 8752. El microcontrolador 8051 es el producto más antiguo y típico de esta serie. El AT89C51 se basa en los circuitos centrales del 8051 y fue desarrollado posteriormente por ATMEL. También hay microcontroladores similares, como el STC51, que tienen la misma funcionalidad, pero son fabricados por diferentes empresas y tienen prefijos diferentes. En esencia, el AT89C51 y el 8051 tienen una funcionalidad idéntica, pero el 8051 ya no está disponible en el mercado.




