Red de conocimiento informático - Conocimiento del nombre de dominio - Circuito de alarma de sincronización del microcontrolador de emergencia

Circuito de alarma de sincronización del microcontrolador de emergencia

Código fuente ensamblado con reloj

Sin IC, el sonido es feo

1 Estructura general del 8051

8051 es un microcontrolador tipo ROM (solo puede ser). escrito una vez), que tiene una memoria de programa ROM programada con una máscara de fábrica 4K (el 8031 ​​no tiene ROM).

Los recursos de hardware incluyen:

CPU de 8 bits para control

Almacenamiento de datos RAM interno de 128 B;

entrada bidireccional de 32 bits/ Líneas de salida;

1 puerto serie asíncrono full-duplex;

2 temporizadores/contadores de 16 bits

5 fuentes de interrupción y 2 prioridades de interrupción;

p>

Generador de reloj;

Memoria de programa direccionable de 64 KB y memoria de datos externa de 64 KB.

Memoria del 8051

1. Memoria de programa

La memoria de programa se utiliza para almacenar programas de programación y constantes de tabla.

El chip 8051 Tiene una ROM de 4 KB que puede ampliar líneas de direcciones fuera del chip de hasta 16 bits.

ROM de 64KB, ambos están direccionados de manera uniforme (el método de acceso es el mismo).

Si el terminal EA permanece alto, el contador de programa PC de 8051 está en el rango

0000H-0FFFFH (es decir, la primera dirección de 4 KB) es el segmento de ejecución.

Programa ROM. Cuando el rango de direccionamiento es 1000H-0FFFFH,

Las instrucciones se obtienen de la memoria fuera del chip.

Todas las operaciones de búsqueda de instrucciones de 8051 cuando el terminal EA permanece bajo.

Todo se hace en la memoria del programa fuera del chip, y luego en la memoria fuera del chip

Puedes comenzar a direccionar desde 0000H (ORG 0000H

SJMP 200H

p>

…).

Hay seis unidades con funciones especiales en la memoria del programa:

▲0000H: Después de restablecer 8051, PC=0000H, y el programa comienza a ejecutar instrucciones desde 0000H.

▲0003H: Entrada de interrupción externa 0

▲000BH: Entrada de interrupción de desbordamiento del temporizador 0.

▲0013H: Entrada de interrupción externa 1

▲001BH: Entrada de interrupción de desbordamiento del temporizador 1.

▲0023H: Entrada de interrupción del puerto serie.

Cuando se usa, una instrucción de salto absoluto generalmente se almacena en estas direcciones de entrada para permitir que el programa salte a la dirección inicial del programa de interrupción organizada por el usuario (debido a que los intervalos entre estas entradas de interrupción son muy pequeños). y no es suficiente escribir un programa de interrupción, así que no olvide escribir RETI después de interrumpir la subrutina para regresar al programa principal).

En segundo lugar, almacenamiento de datos

La memoria de datos se utiliza para almacenar resultados de operaciones intermedias, almacenamiento temporal y almacenamiento en búfer de datos, bits de bandera, etc. El 8051 tiene 256 B de RAM en el chip y se puede ampliar hasta 64 KB fuera del chip.

La RAM consta de dos espacios de direcciones, MOV se usa para acceder a la RAM en el chip y MOVX se usa para acceder a la RAM fuera del chip.

R0, R1 y DPTR se pueden utilizar como registros de direcciones. Los dos primeros son punteros de dirección de 8 bits (rango de direcciones: 256b) y DPTR es un puntero de direcciones de 16 bits (se puede dividir en DPH y DPL, rango de direcciones: 64K). Sólo se puede utilizar direccionamiento indirecto para el almacenamiento de datos fuera del chip.

Hay 21 registros especiales SFR en la memoria de datos del chip 8051, también llamados registros de trabajo especiales. Están distribuidos discretamente en las direcciones 128B de orden superior 80H-0FFH. ☆Para acceder a estos registros especiales sólo se permite el direccionamiento directo.

SFR representa la dirección

ACC acumulador a (cuando se usan instrucciones PUSH y POP, y cuando se direccionan bits, solo se puede usar ACC) dirección de byte: 0E0H.

Dirección de bit: 0E0H-0E7H

Dirección de byte B del registro B: 0F0H

Dirección de bit: 0F0H-0F7H

Programa PSW Dirección de byte de palabra de estado: 0D0H

Dirección de bit: 0D0H-0D7H

Dirección de byte de puntero de pila SP: 81H

No es direccionable por bit

Puntero de memoria de datos DPTR (compuesto por DPH y DPL) Dirección de byte DPH: 83H no puede ser direccionable por bits.

Dirección de byte DPL: 82H no se puede direccionar por bit.

P0-P3 Puerto de E/S Dirección de byte P0: 80H Dirección de bit: 80H-87H.

Dirección de byte P1: 90H Dirección de bit: 90H-97H.

Dirección de byte P2: 0A0H Dirección de bit: 0A0H-0A7H.

Dirección de byte P3: 0B0H Dirección de bit: 0B0H-0B7H

Dirección de byte de prioridad de interrupción IP: 0B8H

Dirección de bit: 0B8H-0BFH

p >

Dirección de byte de habilitación de interrupción de IE: 0A8H

Dirección de bit: 0A8H-0AFH

Dirección de byte del modo temporizador/contador TMOD: 89H

No es direccionable por bit

Dirección de byte de control del temporizador/contador TCON: 88H

Dirección de bit: 88H-8FH

Temporizador/Contador 0

(Byte alto ) Dirección de byte: 8CH

No es direccionable por bit

Temporizador/contador TL0 0

(Byte bajo) Dirección de byte: 8AH

No bit direccionable

Temporizador/contador TH1 1

(byte alto) Dirección de byte: 8DH

El direccionamiento de bit no es posible

Temporizador TL1 /counter 1

(byte de orden inferior) dirección de byte: 8BH

El direccionamiento de bits no es posible

Dirección de byte de control serie SCON: 98H

Dirección de bit: 98H-9FH

Dirección de byte del búfer de datos en serie SBUF: 99H

El direccionamiento de bit no es posible

Dirección de byte de control de energía PCON: 87H

El direccionamiento de bits no es posible

Sistema de comando 8051

El sistema de instrucción 8051 utiliza siete modos de direccionamiento: 1. Direccionamiento inmediato (por ejemplo, MOV A, #3AH). 2. Direccionamiento directo (como MOV A, 3AH). 3. Registre el direccionamiento (como MOV A, R2). 4. Direccionamiento indirecto de registros (por ejemplo, MOV A, @R0). 5. El direccionamiento de índice (direccionamiento indirecto del registro de índice de dirección base) (como MOVC A, @A DTPR) se utiliza a menudo para la búsqueda de tablas. 6 Direccionamiento relativo (por ejemplo: JC 03H). 7. Direccionamiento de bits (por ejemplo, SETB 3DH).

***111 comando. 1. Según el número de bytes, se puede dividir en: 49 instrucciones de un solo byte; 45 instrucciones de doble byte; Conocer la cantidad de bytes ocupados por una instrucción puede ayudarlo a calcular la ubicación espacial de la instrucción al programar, determinar la longitud al usar una instrucción de salto y estimar cuánto espacio usa el código. 2. Según la clasificación de la velocidad de operación, se puede dividir en: 64 instrucciones de un solo ciclo; 45 instrucciones de doble ciclo; (No existe una instrucción de tres ciclos) Es conveniente conocer el número de ciclos que ocupa la instrucción. Intentamos utilizar instrucciones de bucle único al optimizar la velocidad de ejecución del programa y determinar el tiempo que lleva escribir un fragmento de código al escribir una subrutina de retraso.

1. Registro de palabra de estado del programa PSW

Dirección de bit PSW D7HD6HD5HD4D3HD2H1HD0H

Dirección de byte d0h c AC f0rs 1 RS 0 ov f 1p.

PSW es ​​un registro de 8 bits.

Registra el estado de la operación o los resultados de la operación cuando la CPU realiza varias operaciones lógicas u operaciones aritméticas a través de los bits de bandera correspondientes. El estado de estas banderas se puede probar con instrucciones especiales y también se puede leer con instrucciones. Las funciones de cada bandera son las siguientes:

p: Marca de paridad. Siempre realiza un seguimiento de la paridad del contenido del acumulador a, y si hay un número impar de "1", sea p "1", en caso contrario, sea p "0". En 80C51

En el sistema de instrucciones, cualquier instrucción que cambie el contenido del acumulador A afectará el indicador de paridad p, que puede usarse para enviar bits de paridad en la comunicación del microcontrolador para verificar si se han recibido datos de error.

F1: Logotipo de usuario. Configurar o restablecer por usuario. Al escribir un programa, a menudo hay algunas ramas, como detectar si el voltaje excede el estándar (demasiado alto o demasiado bajo) y enviar una señal de alarma si excede el estándar. En este momento, podemos usar F1 como señal de si el voltaje excede el estándar. Si excede el estándar, se establece en "1", de lo contrario, se establece en "0". Luego use F1 para determinar si el voltaje excede el estándar.

Sobre: ​​indicador de desbordamiento. Durante la operación con número firmado, si se produce un desbordamiento, OV se establece en "1"; de lo contrario, se borra a cero. Para un número con signo de 1 byte, si se usa el bit más significativo para representar el signo, solo hay 7 bits significativos, que pueden representar números entre -128 y 127. Si el resultado de la operación excede este rango numérico, se desbordará, OV=1. En la operación de multiplicación, OV=1 significa que el producto excede 255. En la operación de división, OV=1 significa que el divisor es 0.

RS0, RS1: Bits de selección del grupo de registros de trabajo, utilizados para seleccionar el grupo de registros en el que funciona actualmente la instrucción. La combinación de RS0 y RS1 se cambia mediante el software del usuario para cambiar el banco de memoria de trabajo actualmente utilizado. La relación de combinación es la siguiente: Dirección RAM en chip RS1 del banco de registros RS0.

0 0 Grupo 0 0h-07h

0 1 Grupo 1 08H - 0FH

1 0 Grupo 2 10h-17h

1 1 Grupo 3 18h-1fh

Después de restablecer el microcontrolador, RS0 = RS1 = 0, y la CPU naturalmente selecciona el Grupo 0 como el grupo de registros de trabajo actual. Cuando necesitamos realizar muchas operaciones, como escribir muchas subrutinas de retraso, a menudo sentimos que R0 - R7 no son suficientes. En este momento, podemos cambiar el grupo de registros configurando RS0 y RS1, de modo que haya 8 registros más disponibles para su uso.

F0: Bandera de usuario, igual que F1.

AC: Bandera a media asta. Al sumar (o restar), si el cuarteto inferior lleva (o toma prestado) el cuarteto superior, AC se establecerá en "1"; de lo contrario, se borrará a "0". AC también se puede utilizar para determinar este bit al ajustar el código BCD.

CY: Icen la bandera. Durante la operación de suma (o resta), si hay un acarreo en el bit más alto del resultado de la operación, CY se establece en "1"; de lo contrario, se borra. También funciona como acumulador de bits C durante las operaciones con bits.

2. Registro de modo temporizador/contador TMOD

TMOD

(89H) D7 D6 D5 D4 D3 D2 D1 D0

Puerta M0 M1 M0 Gate M1

TMOD es un registro que establece los modos de funcionamiento T0 y T1, donde D4-D7 configura el temporizador 1 y D0-D3 configura el temporizador 0. Descripción de la función:

(1) Bits de selección de modo M1 y M0. La configuración es la siguiente:

Descripción de la función del modo de trabajo M1 M0

0 0 modo 0 contador de 13 bits

0 1 modo 1 contador de 16 bits

1 0 Modo 2 recarga automática contador de 8 bits

1 1 Modo 3 T0: dividido en dos contadores de 8 bits; T1: deja de contar

(2 )-Bit de selección de función. Cuando =0, está en modo temporizador; =1, está en modo contador.

(3) Posición puerta-puerta. Cuando GATE=0, el temporizador puede comenzar a funcionar siempre que el bit de control de año suave TR0 o TR1 esté establecido en "1".

Cuando GATE = 1, el temporizador correspondiente solo se puede iniciar cuando el pin OR está en un nivel alto y TR1 o TR0 está configurado en "1".

TMOD no puede direccionar bits y solo puede utilizar instrucciones de transferencia de bytes para configurar el modo de funcionamiento del temporizador. Al reiniciar, todos los bits de TMOD son 0.

Por ejemplo, si el temporizador 1 está configurado en el modo de trabajo programado, el software necesita iniciar el temporizador 1 y trabajar en el modo 2. El temporizador 0 es un modo de contador, que requiere software para iniciar el temporizador 0 y funcionar en el modo 1. Su comando es: MOV TMOD, #25H.

En equipos de radio, los circuitos integrados se utilizan cada vez más. Identificar el diagrama de aplicación de los circuitos integrados es un punto importante y difícil en el análisis de circuitos.

1. Funciones del diagrama de circuito de aplicación de circuito integrado

El diagrama de circuito de aplicación de circuito integrado tiene las siguientes funciones:

(1) Expresar la estructura del circuito y la estructura del circuito exterior. cada pin del circuito integrado Parámetros de los componentes, lo que representa el estado de funcionamiento completo del circuito integrado.

②En algunos circuitos de aplicación de circuitos integrados, dibujar un diagrama de bloques del circuito interno del circuito integrado es muy conveniente para analizar el circuito de aplicación de circuitos integrados, pero no hay muchas representaciones de este tipo.

(3) Hay dos tipos de circuitos de aplicación de circuitos integrados: circuitos de aplicación típicos y circuitos prácticos. El primero se puede encontrar en manuales de circuitos integrados, el segundo aparece en circuitos reales. Casi no hay diferencia entre los dos circuitos de aplicación. De acuerdo con esta característica, cuando no existe un diagrama de circuito de aplicación real, se puede utilizar el diagrama de circuito de aplicación típico como referencia. Este método se utiliza a menudo en mantenimiento.

④El circuito de aplicación de circuito integrado generalmente representa un circuito unitario completo o un sistema de circuito, pero en algunos casos, un sistema de circuito completo requiere dos o más circuitos integrados.

2. Características de las aplicaciones de circuitos integrados

El diagrama del circuito de aplicación de los circuitos integrados tiene las siguientes características:

① La mayoría de los circuitos de aplicación no dibujan un bloque de circuito interno. diagramas, lo que no favorece el reconocimiento de dibujos, especialmente para principiantes al analizar el trabajo de circuitos.

Para los principiantes, es más difícil analizar el circuito de aplicación de los circuitos integrados que analizar los circuitos de componentes discretos, por lo que no comprenden los circuitos internos de los circuitos integrados. De hecho, es mejor reparar mirando los dibujos. Los circuitos integrados son más convenientes que los circuitos con componentes discretos.

(3) Para los circuitos de aplicación de circuitos integrados, es más fácil comprender el diagrama después de tener una comprensión general del circuito interno del circuito integrado y una comprensión detallada de las funciones de cada pin. Esto se debe a que los circuitos integrados del mismo tipo tienen regularidad. Después de dominar sus características, puede analizar fácilmente muchos circuitos de aplicaciones de circuitos integrados con las mismas funciones y diferentes modelos.

3. Métodos y precauciones para identificar diagramas de circuitos de aplicaciones de circuitos integrados

Los métodos y precauciones para analizar circuitos integrados incluyen principalmente los siguientes puntos:

(1) Comprensión La función de cada alfiler es clave para comprender el dibujo.

Para comprender la función de cada pin se puede consultar el manual de aplicación del circuito integrado. Luego de conocer la función de cada pin, conviene analizar el principio de funcionamiento del circuito externo de cada pin y la función de los componentes. Por ejemplo, sabemos que el pin ① es el pin de entrada, el condensador conectado en serie con el pin ① es el circuito de acoplamiento de entrada y el circuito conectado al pin ① es el circuito de entrada.

(2) Tres formas de entender las funciones de cada pin de un circuito integrado.

Hay tres formas de comprender la función de cada pin de un circuito integrado: primero, consultar información relevante; segundo, analizar el diagrama de bloques del circuito interno del circuito integrado; tercero, analizar las funciones de cada pin; circuito en el circuito de aplicación de circuito integrado Características. El tercer método requiere una buena base en el análisis de circuitos.

(3) Pasos del análisis de circuitos

Los pasos de análisis de los circuitos de aplicación de circuitos integrados son los siguientes:

① Análisis de circuitos de CC. Este paso consiste principalmente en analizar el circuito además de los pines de alimentación y tierra. Nota: Cuando hay varios pines de alimentación, es necesario distinguir la relación entre estas fuentes de alimentación, como los pines de alimentación de los canales delantero y trasero, o los pines de alimentación de los canales izquierdo y derecho, lo mismo debería ser cierto para múltiples; clavijas de tierra. Diferenciar entre múltiples pines de alimentación y tierra es útil para las reparaciones.

②Análisis de transmisión de señal.

Este paso analiza principalmente el circuito distinto de los pines de entrada y salida de señal. Cuando un circuito integrado tiene múltiples pines de entrada y salida, es necesario determinar si es el pin de salida del circuito de la etapa anterior o el pin de salida del circuito de la etapa posterior para un circuito de doble canal, los pines de entrada y salida de; Los canales izquierdo y derecho también son diferentes.

③Otros análisis de circuitos off-pin. Por ejemplo, encontrar el pin de retroalimentación negativa y el pin de eliminación de vibraciones es el paso más difícil. Para los principiantes, deben confiar en los datos de acción de los pines o en los diagramas de circuitos internos.

(4) Una vez que tengas cierta capacidad para leer imágenes, debes aprender a resumir las reglas de los circuitos fuera de los pines de varios circuitos integrados funcionales. Dominar esta regla es útil para mejorar la velocidad de la imagen. lectura. . Por ejemplo, la regla del circuito externo del pin de entrada es conectarse a la salida del circuito anterior a través de un capacitor de acoplamiento o circuito de acoplamiento la regla del circuito externo del pin de salida es conectarse a la entrada del siguiente; circuito a través del circuito de acoplamiento.

⑤Al analizar el proceso de amplificación y procesamiento de la señal del circuito interno del circuito integrado, es mejor consultar el diagrama de bloques del circuito interno del circuito integrado. Al analizar el diagrama de bloques del circuito interno, puede saber a través de las flechas en la línea de transmisión de señal qué circuitos se ha amplificado o procesado la señal y desde qué pin se emite la señal.

⑥Comprender algunos puntos de prueba clave de los circuitos integrados y las reglas de voltaje de CC de los pines es muy útil para el mantenimiento del circuito. El voltaje de CC en el terminal de salida del circuito OTL es igual a la mitad del voltaje de funcionamiento de CC del circuito integrado; el voltaje de CC en el terminal de salida del circuito OCL es igual a 0 V del voltaje de CC en los dos terminales de salida de; el circuito BTL es igual a la mitad del voltaje de funcionamiento de CC cuando se alimenta con una sola fuente de alimentación e igual a la mitad del voltaje de funcionamiento de CC cuando se alimenta con fuentes de alimentación duales de 0 V. Cuando se conecta una resistencia entre dos pines de un circuito integrado, la resistencia afectará el voltaje de CC en los dos pines; cuando se conecta una bobina entre dos pines, el voltaje de CC en los dos pines afectará si los voltajes son iguales o no, la bobina debe estar en circuito abierto; cuando se conecta un condensador entre dos pines o se conecta un circuito en serie RC, los voltajes de CC de los dos pines definitivamente no son iguales. Si son iguales, el condensador está defectuoso.

⑦ En circunstancias normales, no analice el principio de funcionamiento del circuito interno del circuito integrado, que es más complicado.