La Red de Conocimientos Pedagógicos - Conocimientos universitarios - Introducción detallada del microcontrolador 89S51

Introducción detallada del microcontrolador 89S51

Microordenador de un solo chip 89S51

El microordenador de un solo chip MCS-51 es un producto lanzado por la empresa estadounidense INTE en 1980. Los productos típicos incluyen 80 31 (que no tiene memoria de programa interna y ha sido eliminado del mercado en uso real) y 8051 (el chip usa HMOS y el consumo de energía es de 630 mW, que es 5 veces mayor que el de 89C51). El uso real ha sido eliminado por el mercado) y 8751. Hasta ahora, el microcontrolador compatible de la serie MCS-5 de 1 núcleo sigue siendo una aplicación.

Los productos convencionales (como el popular 89S51, el 89C51 descontinuado, etc.), los materiales de capacitación en universidades y escuelas vocacionales todavía están aprendiendo la base teórica representada por MCS-51.

Alguna literatura incluso llama al 8051 la serie de microcontroladores MCS-51, el representante más típico. Debido a la influencia de gran alcance del microcontrolador MCS-51, muchas empresas han lanzado series de microcontroladores compatibles. En otras palabras, el núcleo MCS-51 se ha convertido en realidad en la configuración estándar de un microcontrolador de 8 bits.

51 productos de microcontroladores de otras empresas son compatibles con el núcleo MCS-51. El mismo programa se ejecuta en el hardware de varios fabricantes de microcontroladores y los resultados son los mismos, como 89C51 (descontinuado) de ATMEL, 89S51, PHILIPS (Philips), WINBOND (Winbond), etc. El 89C51 descontinuado al que a menudo nos referimos se refiere al AT89C56544 de ATMEL. Al mismo tiempo, se han mejorado muchas funciones sobre la base original, como el reloj. Aún mejor, la ROM original (escribir una vez) se toma de Flash (el contenido de la memoria del programa se puede reescribir al menos 1000 veces). El rendimiento de AT89C51 ya es excelente en 8051.

Pero en términos de comercialización, 89C51 ha sido desafiado por el campo PIC MCU. El defecto más grave del 89C51 es que no admite la función ISP (programa de actualización en línea). Se deben agregar nuevas funciones como la función ISP para continuar mejor con la leyenda del MCS-51. En este contexto, 89S51 reemplazó a 89C51. Ahora, 89S51 se ha convertido en el nuevo favorito en el mercado de aplicaciones prácticas. Atmel, que tiene la mayor cuota de mercado, ha sido descontinuado y será reemplazado por AT89S51 pulgadas

Se ha mejorado el proceso. 89S51 adopta un nuevo proceso 0,35, que reduce costos, mejora las funciones y aumenta la competitividad. 89SXX es compatible con chips de la serie 51 como el 89CXX. El 89C51 que se ve en el mercado es en realidad un enorme inventario de la producción inicial de Atmel. Sin duda, Atmel puede reanudar la producción del AT89C51 si el mercado lo exige.

El microcontrolador AT89S51/LS51 es un microcontrolador de bajo consumo con memoria flash de programación de cursos en línea de 4 KB. Es compatible con el sistema de instrucciones y pines del microcontrolador general de la serie 80C51. La memoria flash en chip se puede reprogramar en línea o mediante memoria no volátil. Integra una CPU de uso general y Flash programable en línea en un chip para formar un microcontrolador potente, flexible y rentable.

AT89S51/LS51 tiene las siguientes características:

-La memoria de programa en chip contiene memoria flash de 4 KB, lo que permite programación en línea y ciclos de escritura de hasta 1000 veces;

- La memoria de datos en el chip contiene 128 bytes de RAM;

-Los puertos de E/S tienen 32 líneas de E/S programables;

-Con dos líneas de E/S de 16 bits ;

-La estructura de interrupción del sistema de interrupción tiene seis fuentes de interrupción, cinco vectores terminales y dos prioridades de interrupción;

-El puerto serie es un puerto de comunicación serie full-duplex;

-Con dos punteros de datos DPTR0 y dptr 1;

-Los modos de bajo consumo y ahorro de energía incluyen modo de ahorro de energía y modo de apagado;

- Incluye nivel 3 bits de bloqueo de programa;

-El voltaje de la fuente de alimentación del AT89S 51 es de 4,0-5,5 V, y el voltaje de la fuente de alimentación del AT89LS51 es de 2,7-4,0 V;;

-Frecuencia del oscilador 0- 33 MHz (AT89S51), 0-16 MHz (a 89ls 51);

-Con temporizador de vigilancia en el chip;

-Modos de programación flexibles en el chip (byte y página Modo de programación);

-Fibra óptica de plástico; con modo de indicador de apagado;

En comparación con 89C51, las nuevas características de 89S51 incluyen:

-A muchas más nuevas funciones, rendimiento muy mejorado, básicamente el mismo precio, ¡incluso más bajo que el 89C51!

Descripción detallada: Función de programación online ISP, la ventaja de esta función es que al reescribir el programa en la memoria del microcontrolador, no es necesario sacar el chip del trabajo

Separarlo del entorno. es una característica poderosa y fácil de usar.

-La frecuencia máxima de funcionamiento es de 33MHz. Como todos sabemos, la frecuencia operativa límite del 89C51 es 24M, lo que significa que el S51 tiene una frecuencia operativa más alta, por lo que tiene una velocidad de cálculo más rápida.

-Con canal serie UART dúplex.

-El temporizador de vigilancia está integrado internamente y no es necesario conectar el circuito de la unidad del temporizador de vigilancia como el 89C51.

-Indicador de doble dato.

-Indicador de apagado.

-El nuevo algoritmo de cifrado imposibilita el descifrado de 89S51, lo que mejora enormemente la confidencialidad del programa.

Podemos proteger eficazmente los derechos de propiedad intelectual contra infracciones.

-Compatibilidad: Totalmente compatible con todos los productos de la serie 51. Como 8051, 89C51, etc.

Deja el producto. Es decir, todos los programas en libros de texto y tutoriales en línea (independientemente de si el microcontrolador utilizado en el libro de texto es 8051)

Ya sea 89C51 o MCS-51, etc. ), puede ejecutarse como de costumbre en 89S51, que es la llamada compatibilidad con versiones anteriores.

Pinout y funciones

AT89S51/LS está disponible en tres paquetes: PDIP, TQFP y PLCC. La distribución de pines del paquete PDIP se muestra en la figura.

Las funciones del pin son las siguientes:

- Puerto P0 - Puerto de E/S bidireccional de drenaje abierto de 8 bits.

El puerto P0 se puede utilizar como puerto de E/S de uso general, pero se debe conectar una resistencia pull-up externamente. Como puertos de salida, cada pin recibe 8 corrientes TTL. Como entrada, primero configure el pin en 1.

El puerto P0 también se puede utilizar como una línea multiplex para el bus de dirección/datos de ocho bits de orden inferior de la memoria de programa externa y la memoria de datos. En este modo, el puerto P0 contiene una resistencia pull-up interna.

Cuando se programa en Flash, el puerto Po acepta datos de código; durante la verificación de la programación, el puerto P0 genera datos de bytes de código (se requiere una resistencia pull-up externa).

-Puerto P1-Puerto de E/S bidireccional de 8 bits con resistencia pull-up de cable incorporada.

P1 se puede utilizar como un puerto de E/S normal. El búfer de salida puede controlar cuatro cargas TTL; cuando se usa como entrada, el pin cruzado se establece en 1 y se eleva a alto mediante una resistencia pull-up en el chip.

El pin del puerto P1 puede ser bajado por una carga externa y la resistencia pull-up proporciona la corriente pull-up.

Paralelo en Flash

Durante la programación y verificación, el puerto P1 puede ingresar la dirección de byte bajo.

Durante la programación y verificación en serie, P1.0/MOSI, P1.6/OSI y P1.7/SCK son los pines de entrada, salida y pulso de cambio de datos en serie, respectivamente.

E/S bidireccional de 8 bits con resistencias pull-up internas.

Cuando el puerto P2 se utiliza como puerto de salida, puede controlar cuatro cargas TTL. Cuando se utiliza como puerto de entrada, el pin primero se establece en 1 y se eleva a alto mediante una resistencia pull-up interna. Si la carga es baja, la corriente sale a través de la resistencia pull-up interna.

Cuando la CPU accede a la memoria externa con una dirección de 16 bits, el puerto P2 proporciona la dirección superior de 8 bits. Cuando la CPU usa una dirección de 8 bits para direccionar la memoria externa, el puerto P2 es el contenido del registro de función especial P2.

Al programar y verificar FLASH en paralelo, el puerto P2 puede ingresar la dirección de byte alto y algunas señales de control.

- Puerto P3 - Este puerto tiene un puerto bidireccional de 8 bits con resistencias pull-up internas.

Cuando el puerto P3 está a la izquierda y a la derecha, el buffer de salida puede absorber 4 TTL de corriente. Cuando se usa como puerto de entrada, configure manualmente el pin en 1 y eleve la resistencia pull-up interna a alto. Si la carga externa es baja, la corriente sale a través de la resistencia pull-up interna.

Cuando se utiliza FLASH para programación y verificación en paralelo, el puerto P3 puede ingresar algunas señales de control.

Además de las funciones generales de E/S, el puerto P3 tiene otras funciones, como se muestra en la siguiente tabla:

Pins

Flags

Explicación

P3.0

Recibir datos

Entrada de puerto serie

P3.1

TXD

Salida de puerto serie

P3.2

INT0

Interrupción externa 0

P3.3

INT1

Interrupción externa 0

P3.4

T0

Entrada de conteo externo del temporizador T0

p>

P3.5

T1

Entrada de conteo externo del temporizador T1

P3.6

Reacción Fahrenheit (Wassermann reacción)

Puerta de escritura de la memoria de datos externa

P3.7

Ruta

Puerta de lectura del control de la memoria de datos externa

-ale/Prog-data latch permite/programar el terminal de señal de pulso.

Cuando la CPU accede a la memoria de programa externa o a la memoria de datos externa, ALE proporciona una señal de bloqueo de datos para bloquear la dirección inferior de 8 bits en el bloqueo de datos falsificado.

Al programar en paralelo con FLASH, este pin también es la entrada del pulso negativo de programación.

Durante el funcionamiento normal, el puerto pin emite un pulso con una frecuencia nominal, que es 1/6 de la frecuencia nominal y se puede utilizar para temporización externa u otras señales de disparo. Cabe señalar que cada vez que la CPU accede a la memoria de datos externa, perderá un pulso ALE.

Si es necesario, la operación ALE se puede desactivar configurando el bit 0 de SFR (8EH) en 1, pero ALE sigue siendo válido cuando se utilizan las instrucciones MOVC o MOVX. En otras palabras, el bit de desactivación de ALE no afecta el acceso a la memoria externa.

-psen-Memoria de programa externa lectura de señal estroboscópica, nivel bajo activo.

Cuando el AT89S51/LS51 ejecuta código de instrucción desde una memoria de programa externa, PSEN es válido dos veces por ciclo de máquina. No es válido al acceder a la memoria de datos externa.

-ea/VPP-habilitado por memoria de programa externa.

Cuando EA está conectado a tierra, la CPU solo ejecuta el programa en la memoria de programa externa; cuando EA está conectado a Vcc, la CPU primero ejecuta el programa en la memoria de programa en el chip (0000H - 0FFFH). ), y luego cambia automáticamente para ejecutar el programa de la memoria de programa externa (1000h-ffffh).

Si el bit de bloqueo de programación LB1 no está programado (P), el valor EA quedará bloqueado en el chip durante el reinicio.

Al programar en paralelo con FLASH, este pin puede participar en el voltaje de programación de 12V Vpp.

-Xtal1 y XTAL2-Xtal1 es la entrada del amplificador inversor del oscilador en chip y del generador de reloj, y XTAL2 es la salida del amplificador inversor del oscilador en chip.

-Primera sección de entrada de reinicio, el nivel alto está activo.

En el estado de funcionamiento estable y efectivo del oscilador, el terminal RST permanece alto durante dos ciclos de la máquina para restablecer el dispositivo. Cuando el temporizador de vigilancia desborda el terminal de salida, este pin generará un nivel alto durante 98 ciclos de oscilación.

-Vcc: el terminal de entrada del voltaje de la fuente de alimentación.

-GND...-Tierra de alimentación.

Memoria de funciones especiales

Memoria de funciones especiales de AT89S51/LS51

Número de serie

Dirección

Bandera

Valor de restablecimiento

Explicación

1

80H

proteína p0

familiar benigna hipercalcemia hipercalcemia benigna familiar

Pierno del puerto P0

2

81H

Tarjeta especial

07H

Indicador de pila

Tres

82H

DP0L

00H

Puntero de datos DPTR0 byte bajo

Cuatro

83H

DPoH

00H

Puntero de datos DPTR0 Byte alto

Cinco

84H

DP1L

00H

Byte bajo del puntero de datos DPTR1

p>

Seis

85H

DP1H

00H

Byte alto del puntero de datos DPTR1

Siete

87H

PCON

0XXX0000B

Temporizador de control

Nueve

89H

TMOD

00H

Registro del modo temporizador

10

8AH

TL0

00H

Temporizador 0 byte bajo

11

8BH

TL1

00H

Temporizador 1 byte bajo

12

8CH

TH0

00H

Temporizador 0 byte alto

13

8DH

TH1

00H

Temporizador 1 byte alto

14

8EH

AUXR

XXX00XX0B

Registro Auxiliar

15

90H

P1

hipercalcemia benigna familiar hipercalcemia benigna familiar

P1 Latch

16

98H

SCON

00H

Registro de control de puerto serie

17

99H

SBUF

XXXXXXXXB

Búfer de datos del puerto serie

18

0AOH

P2

Hipercalcemia benigna familiar

Pestillo del puerto P2

19

OA2H

AUXR1

XXXX XXX0B

Registro auxiliar 1

20

0A6H

WDTRST

XXXX XXXXB

Registro de restablecimiento de WDT

21

0A8H

Ingeniería Industrial

0XX00000B

Registro de habilitación de interrupción

22

0BOH

P3

hipo familiar benigno

ercalcemia hipercalcemia benigna familiar

P3 puerto de cierre

23

0B8H

Protocolo de Internet

p>

XX00000B

Registro de prioridad de interrupción

24

0D0H

Visa de trabajo para graduados

00H

PacificSouthwest

25

0E0H

Centro de control aéreo (EE. UU.)

p>

Je

Batería

26

0FOH

B

00H

Registro de dirección base

Indicador de fallo de alimentación

POF es PCON.4. Cuando se enciende, POF se establece en 1 y el bit POF se puede configurar y borrar mediante software. El reinicio no afecta el valor del bit POF.

Registros de terminales y interrupciones

AT89S51/LS51 contiene 6 fuentes de interrupción y 5 vectores de interrupción (direcciones de entrada de rutina de servicio de interrupción), como se muestra en la siguiente figura:

Los indicadores de interrupción TF0 y TF1 del temporizador 0 y el temporizador 1 en la figura se configuran en S5P2 de cada ciclo de la máquina (cuando se produce un desbordamiento) y luego son consultados por la línea en el chip en el siguiente ciclo de la máquina.

No se puede habilitar/deshabilitar ninguna fuente de interrupción configurando o borrando un bit en la memoria de función especial. IE contiene un bit de control maestro de interrupción EA que puede habilitar/deshabilitar todas las interrupciones.

es decir, su función es la siguiente:

Dirección IE = A8H valor de reinicio = 0xx0000b

Bits direccionables

MSB LSB

p>

Dirección de bit

AFH

AEH

Vasopresina

Intercambio automatizado

Lesiones personales

Helicóptero de ataque avanzado

A9H

A8H

Símbolo de bit

Juegos de artes electrónicas

El Salvador

ET1

EX1

ET0

EX0

Un 1 en cada posición indica que las interrupciones están habilitadas y borrar cada bit a 0 indica que las interrupciones están deshabilitadas.

Incluye:

Bit de control principal de interrupción EA. EA=0, deshabilita todas las interrupciones; EA=1. La habilitación de cada interrupción depende de los bits de control de las otras interrupciones.

Bit de habilitación de interrupción serie del puerto serie ES.

Bit de habilitación de interrupción del temporizador ET1 1.

EX1 interrupción externa 1 bit de habilitación de interrupción.

Bit de habilitación de interrupción del temporizador ET0 0.

EX0 interrupción externa 0 bit de habilitación de interrupción.