¿Qué es el programa de bloqueo de contraseña basado en el microcontrolador 51?
Mostrar calendario, temperatura cuando no hay entrada, ¿se puede ajustar la hora, función de entrada de contraseña?
Versión del sistema de microcontrolador 51, módulo de reloj ds1302, teclado matricial 4*4, sensor de temperatura ds18b20, 12864 Pantalla LCD. ?
Este concepto de diseño ha existido durante mucho tiempo desde que se acerca el examen final, lo he estado imaginando y lo implementaré cuando esté listo para usar las vacaciones de verano después del examen. ?
Después del examen, fui a cierta tienda del tesoro para comprar componentes. Para practicar mis habilidades de soldadura, compré piezas de la versión del sistema y las soldé yo mismo. Después de unos días, cuando las personas en el dormitorio regresan a casa y tienen espacio libre, comienzan a lograr sus objetivos. ?
Soldé la versión del sistema el día anterior. Al final de la soldadura, descubrí que la resistencia pull-up de 1k se había dividido en dos mitades en algún momento. Miré el esquema y descubrí que. afectó a varios diodos. No afecta otros trabajos, por lo que no hay soldadura. ?
Por supuesto, después de soldar, tengo que probarlo. Conecté el cable isp y se encendió la luz de encendido. Sería bueno verificar el programa del timbre, pero no hubo respuesta. En ese momento, pensé que las cosas no irían bien y definitivamente sucedería algo, así que miré la placa de desarrollo y descubrí que el oscilador de cristal no estaba enchufado. Es cierto que si el oscilador de cristal zumba cuando no está enchufado, está roto. ?
Al día siguiente soldé el teclado 4*4 yo solo y pasó de una vez sin problemas. ?
El siguiente paso es la redacción del programa más difícil e importante. Desde que escribí un programa de reloj para simular en 1602 al principio, lo cambié de acuerdo con el programa anterior y lo mostré con éxito en 12864. ?
Después del programa de reloj, tengo que diseñar un programa de contraseña. Escribí un programa de contraseña por separado, pero durante el proceso de escritura, descubrí que esta es la más difícil. En realidad, algunas operaciones aparentemente simples. El programa. No es necesariamente simple. Parte de la lógica es muy inteligente cuando lo pienso ahora. Por ejemplo, presionar un botón mostrará su número correspondiente y le permitirá al sistema saber qué contraseña es sin afectar la siguiente operación. En ese momento, estaba confundido acerca de cómo diseñarlo, pero ahora parece que sí es muy simple. cosa. ?
Después de escribir el programa de contraseña, se debe llevar a cabo el diseño de la función principal que integra esta parte. En ese momento, también encontramos muchos cuellos de botella cuando se muestra el reloj, presione el botón de entrada de contraseña. la pantalla se actualiza para ingresar a la interfaz de ingreso de contraseña, pero la hora aún se mostrará en la pantalla y afectará la operación. Después de mirar la función principal, descubrí que si las funciones de hora y contraseña están en el mismo bucle, la lectura. y las operaciones de escritura en ds1302 siempre existirán, lo que provocará el fenómeno anterior, por lo que los dos programas deben estar separados, por lo que diseñé un La bandera está separada por una declaración if. ?
Debido al uso de programación modular, hay muchos errores en las conexiones entre archivos. Después de un ajuste constante, los errores y advertencias del programa se reducen gradualmente de más de diez a cero, y la operación se puede realizar como tal. esperado Y también resolví accidentalmente un fenómeno desconcertante
Mientras disfrutaba de los resultados al final, conté casi 1000 líneas de código. Ciertamente, parte del código no es razonable, parte es redundante y parte es inútil, pero creo que mis esfuerzos no son en vano.