Programación en lenguaje C de bloqueo de contraseña digital
En los últimos años, con la mejora continua del nivel de vida y la creciente riqueza personal, las necesidades de seguridad y antirrobo de las personas también han aumentado gradualmente. Las cerraduras con código electrónico seguras, confiables y fáciles de usar se han convertido en la primera opción de las personas para prevenir robos. Tomando Max +PlusⅡ (Multiple Array Matrix y ProgrammingLogic User SystemⅡ, Multiple Array Matrix y Programming Logic User System II) como plataforma de trabajo, el candado electrónico con contraseña con música diseñado con dispositivos programables PLD y lenguaje VHDL tiene contraseñas preestablecidas y puede usarse por error. Código de bloqueo y desbloqueo de mensajes musicales y otras funciones. Este diseño no sólo simplifica la estructura del sistema y reduce los costos, sino que también mejora la confiabilidad y confidencialidad del sistema. Los sistemas digitales desarrollados utilizando dispositivos lógicos programables PLD se pueden actualizar y mejorar fácilmente.
1 idea de diseño
El circuito de bloqueo de contraseña consta de tres módulos funcionales: control del teclado, configuración de contraseña y interpretación musical. El principio se muestra en la Figura 1. Count, Keyvalue, Control y Smdisplay constituyen el módulo de control del teclado, Songer es el módulo de interpretación musical y Set es el módulo de configuración de contraseña.
1.1 Control del teclado
El teclado completa principalmente funciones como ingresar datos al sistema y transmitir comandos. Es una colección de interruptores de llave elásticos mecánicos que utilizan las funciones de cierre y apertura de contactos mecánicos para generar niveles altos y bajos. Al detectar el estado de nivel alto y bajo, es posible confirmar si el botón está presionado o no. La forma de onda de una señal de voltaje a través del proceso de apertura y cierre de un contacto mecánico se muestra en la Figura 2.
En este circuito de teclado, el módulo Count proporciona la señal de escaneo de filas Q del teclado [3. . 0]. Cuando no se presiona ningún botón, la señal EN es de nivel alto y la señal de salida de exploración de línea Q[3. . 0], la secuencia de cambio cíclico es 0001 OO100100 1000 0001 (escaneando 4 filas de teclas en secuencia cuando se presiona una tecla, la señal EN es de nivel bajo y la señal de salida de escaneo de filas Q[3. . 0] Detenga el escaneo y bloquee el valor de escaneo de la fila actual. Por ejemplo, si se presiona el botón de la primera fila, entonces Q[3. . O]=0001.
La función principal del módulo Keyvalue es procesar la señal de fila Q de la clave de entrada [3. . 0] y señal de columna 14[3. . 0] para determinar el valor clave de la clave de entrada.
La función principal del módulo de Control es lograr el rebote de las teclas y determinar si una tecla está presionada. Asegúrese de que la extracción de clave esté dentro del rango de tiempo de estabilidad de cierre que se muestra en la Figura 2, lo que impone ciertos requisitos a la señal de reloj de entrada de este módulo. En este diseño, la frecuencia de la señal de reloj de entrada de este módulo es de 64 Hz. El módulo Smdisplay completa principalmente las funciones de escaneo dinámico del tubo digital y pantalla de decodificación de siete segmentos.
1.2 Circuito de interpretación musical Cantante
Según el conocimiento de la música vocal, el valor de la frecuencia de pronunciación de cada nota que compone la música y su duración son los dos requisitos para la interpretación continua de La música un elemento básico. La clave es obtener los valores correspondientes a estos dos elementos y utilizar estos valores para lograr la interpretación deseada de la música a través de medios puros de hardware. Como se muestra en la Figura 3, este circuito debe estar compuesto por tres módulos: NOTETABS (generador de tonos), TONETABA y SPEAKER (divisor de frecuencia CNC), que realizan las funciones de generación de sonido, control de ritmo y control de tono, respectivamente.
1.3 Configuración de contraseña
El módulo Set es el módulo principal para realizar la función de bloqueo de contraseña. Su función principal es establecer la contraseña. Establecer es una señal efectiva para configurar la contraseña y puede realizar la función de cambiar la contraseña. En es la señal de confirmación de contraseña Cuando se ingresa la contraseña de seis dígitos, se confirma la entrada. Una vez que la contraseña ingresada es consistente con la contraseña establecida, la señal de salida OP es válida (el nivel alto controla la reproducción de música). y suena la música en este momento. Si la contraseña es incorrecta, indicará el error de entrada y el número de entradas. Después de tres entradas no válidas, el bloqueo de contraseña se bloqueará y la función de bloqueo de contraseña deberá volver a abrirse mediante la señal RESET (señal de inicio, dando un nivel bajo).
2 Descripción VHDL del circuito
El circuito de control del teclado, el circuito de interpretación musical y el módulo de configuración de contraseña están diseñados utilizando el lenguaje de descripción de hardware VHSIC Lenguaje de descripción de hardware (VHDL). Por ejemplo: el modelo VHDL de TONETABA es el siguiente:
El lenguaje VHDL tiene sólidas capacidades de modelado y descripción de circuitos, puede modelar y describir sistemas digitales desde múltiples niveles y admite varios métodos de diseño: de arriba hacia abajo y de abajo hacia arriba. o los métodos híbridos simplifican enormemente la tarea de diseño de hardware y mejoran la eficiencia y confiabilidad del diseño. Tiene la característica de ser independiente de circuitos de hardware y plataformas de diseño específicos. Por lo tanto, al utilizar VHDL para el diseño de sistemas electrónicos, los diseñadores pueden concentrarse en la realización de sus funciones sin gastar demasiado tiempo y energía en otros factores relacionados.
Pasos de diseño
3.1 Entrada de diseño
Primero cree la carpeta de este diseño en la ruta adecuada y luego use el lenguaje VHDL para editar Recuento, Valor clave y Control. , Smdisplay y otros circuitos, y use un editor de texto en el software Max+PlusⅡ para ingresar el programa VHDL de cada módulo de circuito mencionado anteriormente, y compile y genere cada módulo, finalmente, use un editor gráfico en el software Max+PlusⅡ para editar el principio; en una imagen de método ascendente. Primero edite el circuito en la Figura 3 y use Singer. nombre gdf, luego use "Crear símbolo predeterminado" para generar el módulo Songer y luego edite el diagrama del circuito esquemático como se muestra en la Figura 1.
3.2 Prueba de simulación y configuración de descarga de programación
Guarda el proyecto diseñado y configúralo como Proyecto. Seleccione el dispositivo de destino como EP1K30QC208-2 en la serie ACEX e inicie la compilación. Si se encuentran errores durante la compilación, corríjalos y vuelva a compilar. Después de la compilación, el archivo de forma de onda se puede simular, probar y analizar. Una vez completado el análisis, descargue la configuración del programa.
3.3 Prueba de hardware
Cuando el nivel sea alto, ingrese la contraseña de 6 dígitos a través de las teclas 0 a F en el teclado. Después de ingresar la contraseña, haga clic en el botón de confirmación para configurar. la contraseña. Cuando la contraseña ingresada es consistente con la contraseña establecida, el altavoz comienza a reproducir música en un bucle y el tubo digital SM8 muestra el número de veces que se ingresa la contraseña y el tubo digital SM7 muestra si la contraseña se ingresó correctamente. Si la contraseña es correcta, SM7 muestra '0'; si la contraseña es incorrecta, SM7 muestra 'E'. Los tubos digitales SM6~SM1 muestran la contraseña de 6 dígitos ingresada. Cuando la contraseña se ingresa correctamente y la música comienza a reproducirse, si el interruptor de dial KD4 se gira hacia arriba, el tubo digital SM8 mostrará las notas de la música. En este momento, si el interruptor de dial KD3 se gira hacia arriba, el. la música dejará de reproducirse. Los diodos emisores de luz LED1 ~ LED4 muestran el valor clave del botón de entrada y el LED16 monitorea si hay un botón presionado.
4 Conclusión
El uso del software Max+PlusⅡ y el lenguaje VHDL para diseñar circuitos tiene ideas simples y funciones claras; no solo puede realizar simulación lógica, sino también simulación de sincronización utilizando dispositivos PLD; No solo ahorra sin la molestia de producir circuitos, sino que también puede realizar experimentos de hardware repetidamente, modificar el diseño de manera muy conveniente y el circuito diseñado es altamente confidencial. En resumen, el uso del software Max+PlusⅡ y el lenguaje VHDL hace que el diseño de sistemas electrónicos complejos sea simple y fácil, mejorando enormemente la eficiencia del diseño.
Si te resulta útil, recuerda aceptarlo como una respuesta satisfactoria, ¡gracias! ¡Te deseo una vida feliz!