Diagrama esquemático de un reloj electrónico de un solo chip. Solo ayúdenme a explicar brevemente el principio de funcionamiento de este diagrama. ¡Trae fotos! 5 puntos
Este reloj electrónico está controlado por un microcontrolador PIC16C55 y es adecuado para temporización y temperatura constante en invernaderos o temporización y control de presión constante del agua del grifo. El voltaje de funcionamiento del microcontrolador PIC16C55 es de 2,5~6,25 V, con bajo consumo de energía y gran capacidad de conducción. Este reloj electrónico puede controlar una carga para que se encienda/apague tres veces en 24 horas; tiene un puerto de salida de sincronización de disparo de límite doble que se puede conectar a un relé de retención de energía tradicional o a un relé de pulso. Esta máquina utiliza una pantalla de escaneo de tubo digital LED de cuatro dígitos y un modo de trabajo de borrado (ahorro de energía), que es muy flexible y cómodo de usar.
1. Principio de funcionamiento del reloj electrónico
Consulte la Figura 1 para ver el circuito del reloj electrónico. El puerto RB7 es un puerto de indicación de temporización, que genera un nivel alto durante el período de encendido para hacer que V1 emita luz. Este puerto también puede almacenarse en búfer como un puerto de salida de temporización. RB6 es un puerto de salida de temporización bajo control de disparo de límite doble. Su método de trabajo es: cuando RB7 tiene un nivel alto, si RB1 tiene un nivel alto, RB6 genera un nivel alto; si RB0 tiene un nivel alto, RB6 genera un nivel bajo; si RB1 y RB0 tienen un nivel bajo, RB6 permanece en el estado original; ambos son de nivel alto. Normalmente, RB6 genera un nivel bajo. RB5 y RB4 se utilizan para accionar relés de pulso. El flanco ascendente de RB6 activa RB5 para generar un pulso de encendido de alto nivel; cuando el flanco descendente de RB6 activa RB4, el terminal RB4 genera un pulso de apagado de alto nivel. Los pulsos de encendido/apagado son de 125 ms.
Figura 1
RB3 es un controlador de supresión. Cuando se conecta a un nivel alto (es decir, SK1 está cerrado), la pantalla y el segundo parpadeo son normales; de lo contrario, la pantalla está en blanco; . Cuando la pantalla está en blanco, el reloj y cada lógica de control funcionan normalmente. Si se ignora la corriente de conducción de cada puerto de RB4 a RB7, la corriente de toda la máquina es inferior a 20 μA cuando se alimenta con 3 V, lo que significa que dos AA. las baterías se pueden usar durante varios meses. RB2 selecciona la polaridad del tubo digital; si RB2 tiene un nivel bajo, use un LED de cátodo; si RB2 tiene un nivel alto, use un LED de ánodo; La polaridad del tubo digital se determina según el estado del puerto RB2 durante la inicialización del encendido. Cambiar el nivel de RB2 durante el funcionamiento no tiene ningún efecto.
Esta máquina está equipada con cuatro botones S1 ~ S4. S1 es el botón de selección de función, S2 es el ajuste de incremento de horas, S3 es el incremento de minutos y S4 se utiliza para el ajuste de disminución de minutos. El método es:
Cuando se enciende, RB5 a RB7 tienen un nivel bajo, el terminal RB4 envía un pulso de apagado para cerrar SK1, toda la máquina se muestra y funciona normalmente, el puerto RC7 envía un segundo pulso de flash, RC6~ RC0 envía código de campo. RA3~RA0 son las salidas de código de bits de 10 horas, horas, 10 minutos y minutos respectivamente. En este momento, presione S2 o S3 (tecla de incremento de hora/incremento de minutos) para configurar o restablecer el terminal RB7.
Durante el tiempo de funcionamiento normal, los segundos parpadean normalmente; durante la calibración o el ajuste del tiempo, los segundos dejan de parpadear. Por ejemplo: durante el cronometraje normal, presione el botón S1, el segundo flash se detendrá y la pantalla mostrará J-, lo que indica que la hora se puede corregir. En este momento, presione cualquier tecla S2 ~ S4 nuevamente, la pantalla mostrará la hora actual, pero los segundos no parpadearán. En este momento, puede presionar S2 ~ S4 para calibrar el reloj. Presione S1 nuevamente, la pantalla mostrará 1∪, indicando que se puede configurar la primera hora de apertura. En este momento, presione S2~S4 para ver y configurar la hora. Continúe presionando S1, el sistema muestra 1∩, lo que indica que se puede configurar el primer tiempo de apagado... proceda en secuencia. Después de configurar el sistema y 3 tiempos de conmutación, toda la máquina vuelve al estado de visualización normal y se recupera después de parpadear en segundos.
Si deseas cancelar un determinado tiempo de encendido/apagado, simplemente configura los tiempos de encendido y apagado al mismo valor.
El autor usó una vez este reloj para un sistema de control de suministro de agua a presión constante y sincronización. El terminal RB6 se usa para controlar el relé (RB5 y RB4 también se pueden usar para controlar los relés de pulso). está conectado a la entrada de límite de baja presión de agua (nivel de agua), conecte el terminal RB0 a la entrada de límite alto, configure la sincronización y se completa un sistema de suministro de agua automático de sincronización simple y presión constante.
2. Habilidades de programación
El microcontrolador PIC16C55 tiene solo 512 bytes de memoria de programa. Además, utiliza un oscilador de cristal externo de 32768 Hz y tiene una velocidad de reloj baja. necesario para coordinar el tiempo de trabajo del sistema y La relación entre la interfaz hombre-máquina es la clave para el éxito o el fracaso del diseño de software. La programación local adopta el siguiente esquema: el flujo de trabajo del software se muestra en la Figura 2.
Figura 2
Un ciclo de máquina del microcontrolador PIC16C55 son 4 ciclos de reloj. No es difícil calcular que hay 8192 ciclos de máquina por segundo en este sistema. Al programar el software, primero configure el método de conteo del contador de tiempo interno F1 del microcontrolador para que se divida por 64 del ciclo de la máquina. De esta manera, cada vez que F1 se desborda, el sistema incrementa 2 segundos. Normalmente, el sistema utiliza el controlador del puerto RC y del puerto RA para escanear la pantalla una vez cada 128 ciclos de la máquina, lo que puede garantizar que la pantalla se escanee 64 veces por segundo, básicamente sin parpadeos. Los 128 ciclos de la máquina son exactamente el intervalo entre cada flanco descendente del bit 0 de F1 (en adelante abreviado como F1?0 para facilitar la descripción). Podemos escribir un programa para escanear una vez cuando llegue el flanco descendente de F1?0. En la pantalla de visualización, siempre que los 4 bits inferiores de F1 sean todos 0 (una vez cada 125 ms), el sistema detectará el estado del puerto RB y del botón, y realizará algunos procedimientos relacionados:
WAIT BTFSC 1, 0 ;Esperar el flanco descendente de F1?0, al programar
GOTO WAIT; Asegúrese de llegar a este punto antes de cada flanco descendente
MOVFW 1<; /p>
SKPNZ
GOTO CLOCK; F1=0, 2 segundos completos, pasa al procesamiento del reloj
ANDLW 0FH protege los 4 bits altos de F1; p>
SKPZ
GOTO DISPLAY ;Si los 4 bits inferiores de F1 no son 0, la pantalla cambiará a
MOVLW 0C0H Cuando se alcanzan los 125 mS, el puerto RB; el pulso se restablecerá
ANDWF 6, 1
MOVLW 0FH Detectar teclas
TRIS 7
MOVFW 7
ANDLW 0FH; retener datos clave
SKPZ
GOTO AN ;Si hay un valor clave, cambie al procesamiento de claves
DISPLAY... ;Mostrar escaneo, puerto RB de gestión de temporización
CLOCK... ;Reloj, programa de procesamiento de temporización
AN ……;Programa de gestión de botones