Red de conocimiento informático - Problemas con los teléfonos móviles - ¿En qué circunstancias se cuelga el reloj del sistema del microcontrolador stc?

¿En qué circunstancias se cuelga el reloj del sistema del microcontrolador stc?

STC15 está equipado con un reloj oscilador RC en chip cuando sale de fábrica, lo que elimina la necesidad de soldadura externa de osciladores de cristal y condensadores de filtro. Cuando existen requisitos especiales, los pines XTAL1 y XTAL2 se pueden conectar a un oscilador de cristal externo para generar una señal de reloj, o la señal de reloj externo se puede ingresar directamente desde el pin XTAL1, dejando el pin XTAL2 flotando.

La señal de salida de la fuente de reloj está conectada a la CPU y a la interfaz interna a través de un divisor de reloj programable. El reloj generado por el oscilador RC en el chip o el oscilador de cristal externo se denomina reloj principal y la frecuencia se registra como fosc. El reloj de la CPU y las interfaces internas se denomina reloj del sistema y la frecuencia se registra como fsys. La relación es fsys=fosc/N. El coeficiente de división de frecuencia N se puede seleccionar a través del registro de función especial CLK_DIV. Entre ellos, los bits CLKS2 ~ CLKS0 son los bits de selección del sistema de división de frecuencia.

El fosc de reloj principal del microcontrolador STC15 se puede emitir a través del pin P5.4.

En cuanto al reinicio, se divide en arranque en frío y arranque en caliente. Después de un reinicio en frío, el PDF del indicador de reinicio de encendido se establece en 1 y el software puede borrarlo a 0. Está en el registro PCON. Acabo de enterarme hoy de que la dirección de registro del microcontrolador no puede ser divisible por 8, por lo que los bits no se pueden manipular directamente y deben leerse mediante operaciones AND. Por ejemplo, el PDF del indicador de reinicio de encendido es el bit D4 en el registro PCON, que es 00010000. Al leer su valor, use a=PCONamp; Si el PDF es 1, es un reinicio completo causado por el encendido del sistema después de un corte de energía. Si es 0, es un reinicio manual del microcontrolador mediante el pin RST, un reinicio por parte del guardián interno o un código. restablecer operando el registro IAP_CONTR.

El microcontrolador STC15 puede configurar el valor de detección de bajo voltaje en el programador. Cuando el voltaje interno VCC es inferior al umbral de detección de bajo voltaje, LVDF en el registro PCON se establecerá automáticamente en 1. Puede optar por restablecer el microcontrolador cuando LVDF está configurado en 1 o solicitar una interrupción para detener el programa durante la programación.