¿Cuál es más estable, el modo 1T o el modo 12T de STC12?
1T y 12T
1T y 12T solo aparecen en microcontroladores posteriores a la serie STC12. Como mencionamos anteriormente, la microcomputadora tradicional de un solo chip es en realidad una microcomputadora de un solo chip de 12T, es decir, la frecuencia del oscilador de cristal se dividirá por 12 antes de alcanzar la frecuencia de ejecución de las instrucciones. En ese momento, los microcontroladores STC posteriores a la serie STC12 aparecerán en modo 1T, lo que significa que algunas instrucciones solo requieren dos ciclos de oscilador de cristal para ejecutarse. En teoría, este tipo de velocidad de ejecución será 6 veces más rápida que la de un microcontrolador tradicional. ¿Por qué agregar "teoría" porque no todas las instrucciones son 6 veces más rápidas, solo algunas, y algunas son 4 o 3 veces más rápidas? Para obtener detalles específicos, consulte el manual de datos oficiales de STC, como se muestra a continuación.
Los amigos cuidadosos verán que hay paréntesis en la primera fila de la columna 5 (usando el conjunto de instrucciones del núcleo de la CPU STC-Y2, STC12 usa este núcleo y la serie de chips STC15, el núcleo STC-Y5). Se usa, y la serie STC8 usa el núcleo STC-Y6. Cuanto mayor es el número después de Y, más poderosa es la optimización de instrucciones, lo que muestra que se ejecuta más rápido en el conjunto de instrucciones del núcleo STC-Y5. Las instrucciones de montaje se ejecutarán en un ciclo de oscilador de cristal, que es 12 veces más rápido que los microcontroladores tradicionales. Ahora, cuando estoy desarrollando microcontroladores, la mayoría de ellos están desarrollados en lenguaje C. Si todavía estás usando ensamblador, entonces solo puedo adorarte. Los programas programados en lenguaje C son fáciles de trasplantar, fáciles de entender y fáciles de comenzar. No es necesario recordar esos registros complicados, pero es obvio que no es eficiente y no podemos calcular con precisión la velocidad de ejecución. No tenemos control sobre el proceso del compilador que convierte el código de lenguaje C en lenguaje ensamblador, por lo que no podemos calcular el tiempo de ejecución de las instrucciones del código de máquina compilado. gt;gt;gt;gt;
Simulación de software y placa de desarrollo real
El software de simulación fue desarrollado por expertos extranjeros y fabricado en China por STC (bueno, el núcleo todavía es de otros). Por alguna razón, no lo sabemos y no nos atrevemos a preguntar, no hay ningún chip de microcontrolador STC para elegir en el software de simulación. Sin el microcontrolador STC, solo podemos elegir el microcontrolador 51 tradicional. durante la simulación, el programa se ejecuta la velocidad es el modo tradicional 12T, es decir, la frecuencia del oscilador de cristal dividida por 12 es la frecuencia real de ejecución. Cuando la placa de desarrollo del microcontrolador está en ejecución, debido a que el microcontrolador utilizado por el amigo que hizo la pregunta es un chip de la serie STC12, incluso si se ejecuta en modo 12T, el sistema de instrucción aún está optimizado y la velocidad es definitivamente más rápida que la instrucción tradicional. colocar. Es más, ni siquiera puede distinguir entre 1T y 12T. Es posible ejecutar en modo 1T. Entonces, el problema de hoy está aquí. La placa de desarrollo real definitivamente funcionará más rápido que la simulación del software. Escrito al final Hace mucho tiempo, escribí un artículo y dije que no se recomienda que los principiantes que son nuevos en microcontroladores comiencen con la simulación de software. ¿Cuántos colegios y universidades todavía ofrecen cursos de microcontroladores basados en simulación? Espero que ya no exista, pero creo que solo soy yo quien piensa en ello. De hecho, Xiaodai siente que aquellos que aprenden microcontroladores deben, en última instancia, diseñar sus propias cosas, como su propio proyecto de graduación, o incluso hacer un pequeño obsequio para ganarse el corazón de la diosa. Pero el código que escribas siempre se ejecutará en el software. Sin el circuito real, ¿cómo puedes diseñar el circuito tú mismo? Si no ha visto una resistencia, ¿cómo sabría que un componente electrónico que parece una resistencia es en realidad un diodo? Finalmente, volviendo al problema de hoy, cuando trasplantamos el código que se ejecuta perfectamente en la simulación de software a la placa de desarrollo real, el código debe adaptarse al microcontrolador. Por ejemplo, la función de retardo se implementa en el código, como la configuración de IO. puertos, como entradas a determinadas interrupciones, definiciones de determinados registros, etc. Antes del trasplante, aún debe consultar la hoja de datos del chip de destino.