¿Cuál es el diseño del principio de funcionamiento del circuito del timbre?
El principio de funcionamiento del circuito del timbre
El diagrama esquemático del circuito del timbre utiliza SH69P43 como chip de control y un oscilador de cristal de 4MHz como oscilador principal.
PORTC.3/T0 se utiliza como puerto de E/S para controlar el zumbador LS1 a través del transistor Q2, mientras que PORTC.2/PWM0 se utiliza como puerto de salida PWM para controlar el zumbador LS2 a través del transistor Q1. Además, hay dos botones conectados a PORTA.3 y PORTA.2 respectivamente. Uno es el botón PWM, que se usa para controlar el zumbador del controlador del puerto de salida PWM y el otro es el botón PORT, que se usa para controlar el I; Controlador del puerto /O. Zumbador utilizado. El puerto de E/S conectado al botón tiene una resistencia pull-up interna.
Analicemos primero el timbre. La frecuencia de trabajo del zumbador utilizado es de 2000 Hz, lo que significa que el período de forma de onda de la señal de activación del zumbador es de 500 μs. Dado que es una señal de servicio 1/2, el ancho de tiempo del nivel alto y del nivel bajo en un ciclo es de 250 μs. El diseño del software se explicará basándose en dos métodos de conducción.
a) Principio de funcionamiento del zumbador: el puerto de salida PWM controla directamente el zumbador.
Dado que PWM solo controla el zumbador con una frecuencia fija, se puede utilizar durante la inicialización del sistema de Simplemente configure la forma de onda de salida PWM.
Primero seleccione el reloj PWM de acuerdo con el ancho del período de la salida PWM del SH69P43, que es de 10 bits de datos. El sistema utiliza un oscilador de cristal de 4MHz como oscilador principal, y el tiempo de un tosc es 0,25μs. Si el reloj PWM está configurado en tosc, el valor de conteo del período de forma de onda de 500μs requerido por el zumbador es 500μs/0,25μs=(. 2000)10 =(7D0)16, 7D0H son datos de 11 bits y el ancho del ciclo de salida PWM de SH69P43 es de solo 10 bits, por lo que elegir el reloj PWM como tosc no puede lograr la forma de onda de conducción requerida por el zumbador.
Aquí el reloj PWM está configurado en 4tosc, de modo que el ciclo de reloj de un PWM es 1μs. A partir de esto, el valor de conteo correspondiente a 500μs se puede calcular como 500μs/1μs=(500)10=(. 1F4)16. Es decir, complete 1, F y 4 en los 2 bits altos, los 4 bits medios y los 4 bits bajos respectivamente para completar la configuración del período de salida. A continuación, configure el registro del ciclo de trabajo. El ciclo de trabajo en la salida PWM se logra configurando el ancho del nivel dentro de un ciclo. Cuando el modo de salida se selecciona como modo normal, el registro del ciclo de trabajo se utiliza para establecer el ancho del nivel alto. El valor del recuento de ancho de 250 μs es 250 μs/1 μs = (250) 10 = (0FA) 16. Solo necesita completar los 2 bits altos, los 4 bits medios y los 4 bits bajos del registro del ciclo de trabajo con 0, F y A respectivamente para completar la configuración del ciclo de trabajo. Configure el ciclo de trabajo en 1/2.
En el futuro, solo necesitará encender la salida PWM, y el puerto de salida PWM generará naturalmente una onda cuadrada con una frecuencia de 2000 Hz y un ciclo de trabajo de 1/2.
b) Principio de funcionamiento del zumbador: el puerto de E/S cambia periódicamente el nivel para activar el zumbador
Utiliza el puerto de E/S para cambiar periódicamente el nivel para activar el zumbador La configuración es relativamente simple y solo necesita analizar la forma de onda. Dado que la señal de activación es exactamente una onda cuadrada con un período de 500 μs y un ciclo de trabajo de 1/2, solo necesita un cambio de nivel cada 250 μs para obtener la señal de onda cuadrada que activa el zumbador.
Mediante programación, puede usar TIMER0 para cronometrar, configurar el preescalador de TIMER0 en /1, seleccionar TIMER0 para que sea siempre el reloj del sistema (reloj del oscilador principal/4) y configurar los 4 bits altos del registro de carga/conteo de TIMER0 y By Al escribir 00H y 06H en los 4 bits inferiores respectivamente, la interrupción de TIMER0 se puede configurar en 250 μs. Cuando sea necesario que suene el zumbador controlado por el puerto de E/S, solo necesita cambiar el nivel del puerto de E/S una vez al ingresar a la interrupción TIMER0. Cuando el zumbador ya no necesite sonar, gire el puerto de E/S. El nivel se puede ajustar a un nivel bajo. Cuando no emite ningún pitido, el nivel de salida del puerto de E/S se establece en un nivel bajo para evitar fugas de corriente.