Al final del semestre, el profesor me pidió que escribiera un artículo sobre mi experiencia en el aprendizaje de microcontroladores. ¿Alguien puede ayudarme?
MCU es una materia altamente aplicada y completa que combina el conocimiento de circuitos analógicos y circuitos digitales en tecnología electrónica, especialmente circuitos digitales, porque los circuitos digitales se utilizan en muchas aplicaciones. Es mejor comenzar con el lenguaje ensamblador al aprender microcontroladores. Aunque el lenguaje ensamblador es un lenguaje de bajo nivel y tiene baja eficiencia de programación, ocupa menos memoria y tiene una velocidad de ejecución más rápida que el lenguaje C. Es más fácil de aprender cuando eres nuevo. a microcontroladores. Dado que los microcontroladores implican mucho conocimiento, solo podemos aprender paso a paso y acumular paso a paso. No hay atajos a seguir. Cuando comencé a estudiar, no sabía mucho sobre microcontroladores, no sabía qué era un microcontrolador y mucho menos qué hacía. A través de mis estudios, generalmente adquiero algunos conocimientos sobre microcontroladores.
La unidad central de procesamiento CPU, la memoria RAM de acceso aleatorio, la memoria ROM de sólo lectura, la interfaz de E/S, el temporizador/contador y la interfaz de comunicación en serie están integradas en un chip para formar un microordenador de un solo chip, referido como microcontrolador.
Tiene una amplia gama de aplicaciones, incluida la recopilación de datos y la tecnología de medición y control en la automatización industrial. Aplicaciones en instrumentación inteligente
Incluyendo osciloscopios digitales, fuentes de señales digitales, multímetros digitales, amperímetros de inducción, cajeros automáticos, etc. Las aplicaciones en electrónica de consumo incluyen lavadoras, refrigeradores, aires acondicionados, televisores, hornos microondas, teléfonos móviles, tarjetas IC, equipos electrónicos automotrices, etc. Las aplicaciones en comunicación incluyen módems, tecnología de conmutación controlada por programas, teléfonos móviles, PHS, etc. En términos de armas y equipos, las aplicaciones incluyen aviones, buques de guerra, tanques, misiles, transbordadores espaciales, guía de torpedos, armas inteligentes, etc. Se necesita mucho tiempo para aprender a usar microcontroladores. Si sólo quieres hacerlo rápidamente, es casi imposible. Dado que los microcontroladores implican una amplia gama de conocimientos, es imposible aprenderlos de la noche a la mañana y sólo se pueden acumular poco a poco. Si no acumulas pasos, no podrás llegar a las mil millas. Sólo cuando aprendas y acumule paso a paso mejorará su nivel de microcontrolador
.
En el proceso de aprendizaje, también debe prestar atención a la comprensión, desarrollar gradualmente sus propias ideas de programación y prestar atención a los detalles durante el proceso de programación
Si escribe el programa incorrectamente. Debido al descuido, esto nos traerá de manera invisible una mayor carga de trabajo. A medida que avanza el estudio, los programas que escribimos se volverán cada vez más largos. Si hay muchos errores, será muy problemático corregirlos. cuanto más tarde, más problemas le causará.
Un microcontrolador (unidad de micro control) es un ordenador completo que integra CPU, RAM, ROM, E/S, interrupciones, temporización/conteo y otras funciones. Sólo necesita añadir un oscilador de frecuencia principal y alimentación. suministro, ciertas funciones se pueden realizar vertiéndolo en la aplicación. La característica de aplicación de la microcomputadora de un solo chip está "orientada a la medición y el control". Por tanto, debe contar con potentes funciones de procesamiento, detección y control de la información. Aprender a utilizar un microcontrolador significa comprender la estructura de hardware del microcontrolador y la aplicación de los recursos internos, aprender la configuración de inicialización de varias funciones en el sistema de instrucciones ensamblador o lenguaje C y programar para realizar varias funciones.
1. Bus: Sabemos que un circuito siempre está compuesto por componentes conectados a través de cables. En los circuitos analógicos el cableado no se convierte en un problema porque los componentes generalmente están en relación en serie, no son muchos. conexiones entre los dispositivos, pero el circuito de la computadora es diferente. Se basa en un microprocesador. Cada dispositivo debe estar conectado al microprocesador y el trabajo de cada dispositivo debe coordinarse entre sí. Si todavía conectamos cables separados entre cada microprocesador y cada dispositivo como un circuito analógico, la cantidad de cables será asombrosa. Por lo tanto, el concepto de bus se introduce en los microprocesadores. Todos los dispositivos disfrutan de la misma conexión. están conectados a 8 líneas comunes, lo que equivale a conectar los dispositivos en paralelo, pero esto por sí solo no es suficiente si dos dispositivos envían datos al mismo tiempo, uno es 0 y el otro es 1. Entonces, ¿qué hace exactamente el receptor? ¿recibir? Esta situación no está permitida, por lo que debe controlarse a través de la línea de control para que el dispositivo funcione en tiempo compartido. Solo un dispositivo puede enviar datos a la vez (varios dispositivos pueden recibirlos al mismo tiempo). La línea de datos del dispositivo también se denomina bus de datos y todas las líneas de control del dispositivo se denominan bus de control.
Hay unidades de almacenamiento dentro del microcontrolador o en memorias externas y otros dispositivos. A estas unidades de almacenamiento se les deben asignar direcciones antes de que puedan usarse. Las direcciones asignadas también se dan en forma de señales eléctricas. unidades de almacenamiento Hay más líneas, por lo que se utilizan más líneas para los puntos de dirección. Estas líneas se denominan buses de direcciones.
2. Datos, dirección e instrucciones: la razón por la que estos tres se juntan es porque la esencia de estos tres es la misma: números, o en otras palabras, todos son una cadena de '0 ' y ' 1 'secuencia. En otras palabras, las direcciones y las instrucciones también son datos. La instrucción es un número especificado por el diseñador del chip del microcontrolador. Tiene una correspondencia estricta uno a uno con nuestros mnemónicos de instrucciones de uso común y el desarrollador del microcontrolador no puede cambiarlos.
3. Cómo utilizar las funciones secundarias de P0, P2 y P3
Cuando aprende por primera vez, a menudo se siente confundido acerca de las funciones secundarias de P0, P2 y P3. debe haber un proceso de conmutación entre la segunda función y la función original, o debe haber una instrucción. De hecho, la segunda función de cada puerto es completamente automática y no requiere una instrucción para cambiar. Por ejemplo, P3.6 y P3.7 son señales WR y RD respectivamente. Cuando el procesador del microchip está conectado a una RAM externa o tiene un puerto de E/S externo, sirven como funciones secundarias y no pueden usarse como I de propósito general. Puertos /O Tan pronto como el procesador ejecute la instrucción MOVX, se enviará la señal correspondiente desde P3 o P3.7, sin necesidad de instrucciones previas. De hecho, "no se puede utilizar como puerto de E/S de uso general" no significa "no se puede" sino que (el usuario) "no" lo utilizará como puerto de E/S de uso general. Puede organizar completamente una instrucción de SET ETB P3.7
en la instrucción, y cuando el microcontrolador ejecute esta instrucción, también hará que P3.7 alcance un nivel alto, pero el usuario no puede hacerlo. ,
porque esto suele provocar que el sistema falle.
IV.Proceso de ejecución del programa
Después de encender y reiniciar el microcontrolador, el valor en el contador de programa (PC) en 8051 es '0000, por lo que el programa siempre comienza desde el Ejecución de la unidad '0000', es decir: debe haber unidades '0000' en la ROM del sistema, y lo que se almacena en la unidad '0000' debe ser una instrucción.
5. Pila La pila es un área utilizada para almacenar datos. No hay nada especial en esta área en sí. Es solo una parte de la RAM interna. Lo que es especial es la forma en que almacena y accede a los datos. Es el llamado "primero en entrar, último en salir, último en entrar, primero en salir", y la pila tiene instrucciones especiales de transferencia de datos, a saber, "PUSH" y OP, y tiene una unidad especial dedicada a servirlo, a saber, el puntero de pila SP
Siempre que se ejecute una instrucción PUSH, SP aumentará automáticamente en 1 (según el valor original). Siempre que se ejecute una instrucción POP, SP
disminuirá automáticamente en 1 (según el valor original). el valor original).
Dado que el valor en SP se puede cambiar mediante instrucciones, siempre que el valor de SP se cambie al comienzo del programa, la pila se puede configurar en la unidad de memoria especificada. Por ejemplo, al comienzo del programa, use un MOV. SP, instrucción #5FH Configure la pila en ubicaciones de memoria a partir de la ubicación de memoria 60H. Generalmente, siempre existe una instrucción para configurar el puntero de la pila al comienzo del programa, porque cuando se enciende la computadora, el valor inicial de SP es 07H, de modo que la pila comienza desde la unidad 08H y regresa de 8H a 1FH. Esta área es exactamente 8031. Las áreas de registro de trabajo segunda, tercera y cuarta se usan a menudo, lo que causará caos en los datos.
Sexto
: Interrupción cuando se usa el microcontrolador en la medición. y sistema de control, rendimiento en tiempo real Parece particularmente importante. La tecnología de interrupción se utiliza para manejar situaciones con altos requisitos en tiempo real. La característica de un microcontrolador es que un programa se ejecuta repetidamente. La ejecución de cada instrucción en el programa requiere una cierta cantidad de tiempo de ejecución. Si el programa no ejecuta una instrucción, la acción de la instrucción no ocurrirá, lo que provocará un retraso. Muchas cosas suceden rápidamente, por ejemplo, el flanco descendente cuando se presiona un botón. Para que el microcontrolador responda a acciones rápidas durante la ejecución normal del programa, se debe utilizar la función de interrupción del microcontrolador. Esta función es que después de que ocurre una acción rápida, el microcontrolador interrumpe el programa en ejecución normal y procesa la acción rápida. Una vez completado el procesamiento, luego regrese para ejecutar el programa normal. La función de interrupción debe controlarse razonablemente. La dificultad de su uso es saber con precisión cuándo no se permite que ocurran interrupciones (enmascarar interrupciones), cuándo se permite que ocurran interrupciones (las interrupciones están habilitadas) y qué registros deben configurarse para realizar. ciertas interrupciones funcionan, qué debe hacer el programa cuando comienza la interrupción, qué debe hacer el programa después de que se completa la interrupción, etc.
Después de interrumpir el aprendizaje, puede compilar un programa con una estructura más compleja. Dicho programa puede hacer una cosa y monitorear una cosa, una vez que sucede lo monitoreado, interrumpa lo que está haciendo y maneje el monitoreo.
Este es el poder de la función de interrupción.
Siete: lenguaje ensamblador y lenguaje C
Las instrucciones de ensamblaje tienen su propio conjunto de sistemas de instrucción engorrosos, que no son fáciles de dominar. Hay que prestar atención a los detalles del hardware al escribir programas. . Comparado con el lenguaje C, el lenguaje ensamblador también tiene ventajas que no se pueden ignorar, es decir, en algunas ocasiones especiales, debe ser eficiente y ocupar un pequeño espacio de almacenamiento. Sin embargo, con el desarrollo de la tecnología, las limitaciones del hardware son cada vez más pequeñas. El lenguaje C es más fácil de entender y su versatilidad y portabilidad son muy buenas. No es necesario memorizar un conjunto especial de instrucciones, por eso prefiero escribir programas en C
Ha pasado un tiempo desde que estuve expuesto a los microcontroladores. Siento que puedo aprender a escribir programas mediante. Yo mismo, lo depuro y luego lo hago en la placa de desarrollo. Aprendo rápidamente y me siento muy exitoso cuando veo los resultados que veo hechos con mis propias manos.
A veces el estudio de los microcontroladores es muy monótono. Algunos conocimientos son muy abstractos y difíciles de entender. Sólo se pueden adaptar lentamente. Se pueden aprender conocimientos teóricos mientras se escriben programas y luego introducirlos en el microcontrolador. De esta manera, puedes aprender el microcontrolador más rápidamente. Al mismo tiempo, también experimentará la alegría del éxito al aprender.