Código fuente del sistema de alarma inteligente1. Título: Cerradura con código electrónico de seis dígitos reemplazable. dos. Resumen: La tecnología de microcontroladores tiene amplias aplicaciones y un enorme potencial en el campo de la detección y el control inteligentes. Se describe el diseño e implementación de una cerradura de código electrónico con pantalla de cristal líquido basada en una microcomputadora de un solo chip. El sistema utiliza el microcontrolador AT89S52 de American Atmel Company como núcleo del sistema, LCD1602 como dispositivo de salida para mostrar información de aviso del sistema, un teclado de membrana de matriz 4*4 como dispositivo de entrada y circuitos como zumbadores y relés para formar todo el hardware del sistema. El software del sistema está escrito en lenguaje ensamblador. El sistema diseñado tiene funciones como pantalla LCD, modificación conveniente de contraseña, alarma y bloqueo. Es fácil de usar y satisface las necesidades de las cerraduras públicas en residencias y oficinas, y tiene cierto valor práctico. 3. Tareas y requisitos: 1 Requisitos para el diseño de cerraduras con códigos electrónicos (1) Familiaridad con los circuitos y comprensión del proceso de control entre varios componentes. ② Familiarícese con el entorno operativo de la plataforma PROTEUS. (3) Dominar las operaciones de control en tiempo real del lenguaje ensamblador y el teclado matricial. (4) Comprender el principio de funcionamiento de las cerraduras de combinación electrónica. Tarea 2 (1) Determinar el esquema de identificación de control de teclado 4×. (2) Analizar el proceso de funcionamiento de la cerradura de combinación electrónica. 4 (3) Dibuje el diagrama de flujo del programa. (4) Analice el diagrama del circuito. (5)Escribir código. (6) Análisis y depuración del programa. 4. Idea de diseño: este circuito es un esquema de control de microcomputadora de un solo chip con AT89C51 como núcleo. Utilizando el diseño de programación flexible, los ricos puertos IO y la precisión del control del microcontrolador, no solo se puede realizar la función básica de bloqueo de contraseña, sino que también se pueden agregar ajustes y almacenamiento de energía, indicaciones de sonido y luz e incluso funciones de control remoto de acuerdo con las necesidades reales. . 5. Establecimiento de la solución: Para lograr la confidencialidad de la contraseña, se puede utilizar un teclado matricial de 4 × 4 para configurar la contraseña de usuario (de 1 a 16 bits de longitud) de forma arbitraria, lo que mejora la confidencialidad de la contraseña. Diseñado con una súper contraseña. Al encender la máquina, sólo es necesario introducir la supercontraseña para abrir la puerta, lo que evita que no quede ninguna contraseña disponible cuando se vuelva a apagar la máquina. El uso de 1602 LCD como unidad de visualización mejora la legibilidad y permite a los usuarios operar el bloqueo de contraseña claramente de un vistazo. Diagrama de bloques del diseño general del verbo intransitivo: módulo de entrada del teclado módulo de almacenamiento de contraseña zumbador circuito de alarma circuito de reinicio circuito del oscilador de cristal módulo de pantalla de cristal líquido 8 9 C 5 1 diagrama del circuito de desbloqueo 2.1 Diagrama de bloques de la estructura del sistema 7. Funciones de cada módulo: 1. Módulo de entrada de teclado: dividido en teclas de entrada de contraseña y varias teclas de función, utilizadas para completar la función de entrada de bloqueo de contraseña. 2. Módulo de almacenamiento de contraseña: se utiliza para completar la función de almacenamiento de apagado de modo que la contraseña modificada aún pueda guardarse después de un apagado. 3. Circuito de alarma sonora: se utiliza para completar la función de alarma cuando se ingresa una contraseña incorrecta. 4. Circuito oscilador de cristal: se utiliza para iniciar la oscilación del microcontrolador. 5. Circuito de reinicio: reinicio completo del sistema. 6. Módulo de visualización: se utiliza para mostrar el estado del sistema y solicitar operaciones. 7.Módulo de pantalla LED: se utiliza para alarma auxiliar y avisos de entrada. 8. Circuito de desbloqueo: utilice relés y LED para simular el desbloqueo y completar las indicaciones de desbloqueo y desbloqueo. 8. Análisis del principio de diseño: El circuito periférico de este sistema consta de una parte de entrada de teclado, una parte de almacenamiento de contraseña, una parte de reinicio, una parte de visualización, una parte de alarma y una parte de desbloqueo. Según la situación real, seleccione el teclado matricial 4× para la parte de entrada del teclado, seleccione el carácter LCD1602 para la parte de visualización y seleccione la memoria para la parte de almacenamiento de contraseña. El diagrama esquemático es el siguiente: 9. Microcontrolador y sus circuitos periféricos: 1. Circuito de reinicio: 2. Circuito de reloj: el circuito de reloj genera pulsos de sincronización para el microcontrolador. Todas las operaciones y procesos de control del microcontrolador son impulsados por pulsos de sincronización unificados. Si el circuito de reloj del microcontrolador deja de funcionar (el oscilador de cristal se detiene), entonces el microcontrolador dejará de funcionar. Cuando se utiliza el reloj interno, el método de conexión es el que se muestra en la siguiente figura: Conecte un oscilador de cristal de 12 MHZ entre los pines del oscilador de cristal XTAL1 (pin 19) y XTAL2 (pin 18) y conecte un capacitor a tierra respectivamente para generar el voltaje requerido. señal de reloj. El capacitor La capacidad generalmente es de decenas de picofaradios. xta l 1c 1y 1 C2 xtal 23. El diseño del circuito del teclado matricial tiene como objetivo mejorar la confidencialidad de la contraseña. Puede utilizar un teclado matricial de 4 × para configurar la contraseña de usuario 4 (de 1 a 16 bits de longitud) a voluntad, mejorando así la confidencialidad de la contraseña y reduciendo la. Lo usé cuando interactué con el microcontrolador. La intersección de cada fila y columna es diferente, pero está conectada por una clave. Con esta estructura matricial, solo se necesitan N líneas de filas y M líneas de columnas para formar un teclado matricial de teclas N × M. En este sistema de microordenador de un solo chip con codificación matricial de teclado, el programa de procesamiento del teclado ejecuta primero los segmentos del programa que esperan las teclas y confirman si se pulsan las teclas. Al confirmar que se presionó una tecla, el siguiente paso es identificar qué tecla se presionó.
Por lo general, hay dos formas de identificar claves: una es el método de consulta de escaneo de línea de grupo general y la otra es el método de inversión de línea más rápido. En este sistema utilizamos el método de inversión de líneas. Primero identifique si se presionan las teclas del teclado, luego envíe la palabra de escaneo completo al teclado a través del puerto de E/S del microcontrolador y luego lea el estado de la línea para juzgar. El método específico es: enviar la palabra de escaneo completo 00H a la línea de la fila, configurar todas las líneas de la columna en un nivel bajo y luego leer el estado del nivel de la línea de la columna en el acumulador. La batería de la línea de fila está baja para que las líneas de fila no sean todas 1. La determinación de qué tecla del teclado se presiona generalmente se logra verificando el estado de entrada de la fila después de que la línea columna por columna se baja a un nivel bajo. El método es: enviar un nivel bajo a las líneas de las columnas en secuencia y luego verificar el estado de todas las líneas de las filas. Si son todos 1, la tecla presionada no está en esta columna; si no son todos 1, la tecla presionada debe estar en esta columna, y es la tecla que cruza la línea paralela de voltaje cero. 4. Las teclas de 10 dígitos en el panel de operación se usan para ingresar la contraseña y las otras seis teclas de función son: corregir, cambiar contraseña y bloquear. La función de la tecla de corrección es borrar los datos ingresados previamente y volver a ingresarlos si la contraseña se ingresa incorrectamente. En el estado de entrada de contraseña, las teclas numéricas del 0 al 9 son claves válidas y tienen una función de límite de tiempo y frecuencia: solo hay tres oportunidades para ingresar la contraseña y cada vez está limitada a 10 segundos. Si la contraseña se ingresa incorrectamente o si cada entrada se agota, se considerará que la contraseña se ingresó incorrectamente. Cuando las tres entradas son incorrectas, el programa vuelve al estado inicial. Después de ingresar la contraseña correctamente, el relé se activa, lo que indica que la cerradura está abierta. Cuando la contraseña se ingresa correctamente, el programa ingresa al estado de verificación y modificación de la contraseña. Presione la tecla "Cambiar contraseña" para ingresar al estado de restablecimiento de contraseña. Al ingresar la contraseña, si encuentra un error de ingreso, puede presionar la tecla "Corregir" para eliminar y volver a ingresar, presionar la tecla "Bloquear" para confirmar y el programa saldrá del estado de modificación de la contraseña. 5. Circuito de visualización de cristal líquido El circuito de visualización diseñado en este sistema está configurado para darle un aviso al usuario. Para lograr una interfaz amigable, la parte de la pantalla se completa con una pantalla de cristal líquido LCD1602 en lugar de un tubo digital común. Al desbloquear, después de presionar la tecla de desbloqueo en el teclado, use las teclas numéricas del 0 al 9 en el teclado para ingresar la contraseña. Cada vez que presione una tecla numérica, se mostrará un signo * en la pantalla. entró. Cuando se complete la entrada de la contraseña, si la contraseña ingresada es correcta, la pantalla LCD mostrará "OK" y se encenderá la luz verde. El pin P3.0 del microcontrolador generará un nivel bajo, activando el transistor T2, atrayendo el electroimán, disparando el interruptor del relé y abriendo el bloqueo del código electrónico. La contraseña es incorrecta, la pantalla LCD muestra "Error" y P3.0 emite un nivel alto, el bloqueo electrónico de contraseña no se puede abrir y la luz roja se enciende al mismo tiempo. A través de la pantalla LCD, puedes juzgar claramente el estado del bloqueo de contraseña. Figura 3.7 Circuito de visualización La pantalla se utiliza principalmente para mostrar los siguientes caracteres y las instrucciones se muestran en la figura. CONTRASEÑA Figura 3.8 (a) Estado de encendido D Esperando estado de entrada OK CONTRASEÑA Estado correcto de entrada E R R O R Entrada de contraseña E R R O R y mensaje de tiempo de espera de entrada de contraseña 10. Diseño del software del sistema El diseño del software del sistema utiliza codificación en lenguaje ensamblador. El método de diseño consiste en escribir primero el código fuente con un editor de texto y luego compilarlo con el software Keil C51. Si no hay errores, puede conectarse para generar el archivo en formato . Formato hexadecimal (debe configurarse previamente en Keil C51). Si hay algún error no puedes conectarte, pero puedes generarlo. Archivos OBJ fáciles de modificar. Por supuesto, también puedes utilizar la codificación Keil directamente. El archivo hexadecimal resultante es un archivo de texto ASCII que registra líneas de texto. En un archivo hexadecimal, cada línea es un registro hexadecimal, un código de máquina o una constante de datos compuesta de números hexadecimales. Los archivos hexadecimales se usan comúnmente para almacenar programas o datos en ROM y EPROM, y son utilizados por la mayoría de los programadores y emuladores. 1. Programa principal del sistema El programa principal del sistema se muestra en la Figura 4-1. Debido a que el usuario puede presionar cualquier tecla en cualquier momento mientras usa el sistema, el programa debe responder correctamente. Inicie el menú de visualización de inicialización del sistema: ¿es correcta la contraseña? S NCompruebe la contraseña, el escaneo del teclado indica el número correcto de errores de desbloqueo más 1 para cambiar la contraseña. N Y muestra un error al guardar la nueva contraseña y al iniciar el ingreso de la misma. n retraso 1s botón D? Cerrar la cerradura Y N Y (Presione la tecla F) Y Mostrar menú II Contraseña Ingrese la contraseña correctamente firmar =1? ¿Comparación de contraseñas N N incorrecta 3 veces? y bloquear el diagrama de flujo del programa principal 2.