¿La programación del microcontrolador es rápida para cargar datos?
El microordenador de un solo chip también se denomina microcontrolador porque se utilizó por primera vez en el campo del control industrial. El microcontrolador se desarrolla a partir de un procesador dedicado con sólo una CPU en el chip. El primer concepto de diseño fue integrar una gran cantidad de dispositivos periféricos y CPU en un chip, haciendo que el sistema informático fuera más pequeño y más fácil de integrar en equipos de control complejos y estrictos. El Z80 de Intel es el primer procesador diseñado con esta idea en mente. Desde entonces, el desarrollo de microcontroladores y procesadores de propósito especial ha seguido caminos separados.
Los primeros microcontroladores eran todos de 8 o 4 bits. El más exitoso es el 8031 de INTEL, que ha recibido grandes elogios por su simplicidad, confiabilidad y buen rendimiento. Desde entonces, la serie MCS51 de sistemas de microcontroladores se ha desarrollado en el 8031. Los sistemas de microcontroladores basados en este sistema todavía se utilizan ampliamente en la actualidad. A medida que aumentaron los requisitos en el campo del control industrial, surgieron microcontroladores de 16 bits, pero debido a su rendimiento de costos insatisfactorio, no se utilizaron ampliamente. Con el gran desarrollo de los productos electrónicos de consumo después de la década de 1990, la tecnología de los microcontroladores ha mejorado enormemente. Con la aplicación generalizada de la serie INTEL i960, especialmente la serie ARM posterior, los microcontroladores de 32 bits reemplazaron rápidamente el estado de gama alta de los microcontroladores de 16 bits y entraron en el mercado principal. El rendimiento de los microcontroladores tradicionales de 8 bits también ha mejorado rápidamente y la potencia de procesamiento ha aumentado cientos de veces en comparación con la década de 1980. La frecuencia principal actual de los microcontroladores de 32 bits de alta gama ha superado los 300 MHz y el rendimiento se está poniendo al día. con los procesadores de propósito especial a mediados de la década de 1990, mientras que los modelos ordinarios El precio de fábrica de los modelos ha bajado a 1 dólar, y el modelo de gama más alta sólo cuesta 10 dólares. Los sistemas de microcontroladores contemporáneos ya no se desarrollan y utilizan únicamente en entornos bare metal. Un gran número de sistemas operativos integrados dedicados se utilizan ampliamente en todas las series de microcontroladores. En los microcontroladores de alta gama utilizados como procesamiento central en computadoras de mano y teléfonos móviles, incluso se pueden usar directamente sistemas operativos dedicados Windows y Linux.
La MCU es más adecuada para sistemas integrados que los procesadores dedicados, por lo que tiene la mayor cantidad de aplicaciones. De hecho, los microcontroladores son las computadoras más numerosas del mundo. Casi todos los productos electrónicos y mecánicos utilizados en la vida humana moderna se integrarán con una microcomputadora de un solo chip. Los teléfonos móviles, calculadoras, electrodomésticos, juguetes electrónicos, PDA y ratones están equipados con 1 o 2 microcontroladores. Y habrá muchos microcontroladores trabajando en una computadora personal. Los automóviles suelen estar equipados con más de 40 microcontroladores y, en sistemas de control industriales complejos, puede haber incluso cientos de microcontroladores funcionando al mismo tiempo. La cantidad de microcontroladores no solo excede con creces la cantidad de PC y otras computadoras combinadas, sino que también excede la cantidad de humanos.
Introducción a la microcomputadora de un solo chip
La microcomputadora de un solo chip, también conocida como microcontrolador de un solo chip, no completa una determinada función lógica en un chip, sino que integra un sistema informático en un chip. En resumen: los chips se convierten en computadoras. Es de tamaño pequeño, liviano y económico, lo que proporciona condiciones convenientes para el aprendizaje, la aplicación y el desarrollo. Al mismo tiempo, aprender a utilizar un microcontrolador es la mejor opción para comprender los principios y la estructura de las computadoras.
Los microcontroladores también utilizan módulos que funcionan de manera similar a las computadoras, como CPU, memoria, buses paralelos y dispositivos de almacenamiento que funcionan igual que los discos duros. La diferencia es que el rendimiento de estos componentes es mucho más débil que el de nuestras computadoras domésticas, pero el precio también es bajo, generalmente menos de 10 yuanes... Basta con realizar algunas tareas sencillas como controlar aparatos eléctricos. ¡Se puede ver en las lavadoras de tambor totalmente automáticas, en las campanas extractoras, en los VCD y en otros electrodomésticos que utilizamos ahora! .....Se utiliza principalmente como componente central de la parte de control.
Es un ordenador de control online en tiempo real. El control en línea es un control en el sitio, que requiere una gran capacidad antiinterferente y un bajo costo. Esta es también la principal diferencia con las computadoras fuera de línea (como las PC domésticas).
El microcontrolador depende del programa y puede modificarse. Se implementan diferentes funciones, especialmente algunas funciones especiales y únicas, a través de diferentes programas. Esto es algo que otros dispositivos requieren mucho esfuerzo para lograr, mientras que otros dispositivos son difíciles de lograr con gran esfuerzo.
Si una función no muy compleja se resuelve mediante hardware puro como la serie 74 desarrollada en los Estados Unidos en los años 50 o la serie CD4000 en los años 60, ¡el circuito debe ser una PCB grande! Pero si utilizamos una serie de microcontroladores que se comercializaron con éxito en los Estados Unidos en la década de 1970, ¡los resultados serán muy diferentes! ¡Solo porque el microcontrolador puede lograr alta inteligencia, alta eficiencia y alta confiabilidad a través de los programas que usted escribe!
Debido a que los microcontroladores son más sensibles a los costos, el software actualmente dominante es el lenguaje ensamblador de nivel más bajo, que es el lenguaje de nivel más bajo excepto el código de máquina binario. Si es tan bajo, ¿por qué usarlo? Muchos lenguajes de alto nivel han alcanzado el nivel de programación visual. ¿Por qué no utilizarlos? La razón es muy simple, es decir, el microcontrolador no tiene una CPU como una computadora doméstica, ni un dispositivo de almacenamiento masivo como un disco duro. Incluso si un pequeño programa escrito en un lenguaje visual de alto nivel tiene solo un botón, ¡alcanzará un tamaño de decenas de K! No es nada para el disco duro de una PC doméstica, pero es inaceptable para un microcontrolador. Los microcontroladores deben tener una alta utilización de recursos de hardware, por lo que, aunque el ensamblaje es primitivo, todavía se usa ampliamente. De la misma manera, si el sistema operativo y el software de aplicación de una supercomputadora se ejecutan en una PC doméstica, la PC doméstica no puede soportarlo.
Se puede decir que el siglo XX abarcó tres eras "electricas": la era eléctrica, la era electrónica y la era de las computadoras. Sin embargo, este tipo de ordenador suele referirse a un ordenador personal, o PC para abreviar. Consta de un host, teclado, monitor, etc. Existe otro tipo de computadora con el que la mayoría de la gente no está familiarizada. Este tipo de computadora es una computadora de un solo chip (también llamada microcontrolador) que brinda inteligencia a varias máquinas. Como sugiere el nombre, el sistema más pequeño de este tipo de computadora puede realizar cálculos y controles simples con un solo circuito integrado. Debido a su pequeño tamaño, suelen estar escondidos en el "vientre" de las máquinas controladas. Actúa como un cerebro humano en todo el dispositivo. Si algo sale mal, todo el dispositivo puede quedar paralizado. Actualmente, este tipo de microcontrolador se ha utilizado ampliamente en instrumentos inteligentes, control industrial en tiempo real, equipos de comunicación, sistemas de navegación, electrodomésticos, etc. Una vez que el microcontrolador se utiliza en varios productos, los productos se pueden actualizar. El adjetivo "inteligente" se utiliza a menudo antes de los nombres de productos, como lavadoras inteligentes. Hoy en día, algunos productos fabricados por técnicos de fábrica u otros desarrolladores electrónicos aficionados tienen circuitos demasiado complejos o funciones demasiado simples, lo que los hace fáciles de copiar. El motivo puede ser que el producto no utiliza un microcontrolador u otro dispositivo lógico programable.
Campos de aplicación de los microcontroladores
Actualmente, los microcontroladores han penetrado en todos los ámbitos de nuestra vida, y es casi difícil encontrar algún campo sin rastros de microcontroladores. Dispositivos de navegación con misiles, control de diversos instrumentos en aviones, comunicación por redes informáticas y transmisión de datos, control en tiempo real y procesamiento de datos de procesos de automatización industrial, tarjetas IC inteligentes ampliamente utilizadas, sistemas de seguridad para automóviles civiles de lujo, grabadoras de vídeo, control de cámaras, lavadoras automáticas, juguetes controlados por programas y mascotas electrónicas, etc. , son inseparables del microcontrolador. Por no hablar de los robots, los instrumentos inteligentes y los equipos médicos en el ámbito del control automático. Por ello, la investigación, desarrollo y aplicación de microcontroladores creará un grupo de científicos e ingenieros en aplicaciones informáticas y control inteligente.
Las MCU se utilizan ampliamente en los campos de la gestión inteligente y el control de procesos de instrumentación, electrodomésticos, equipos médicos, equipos aeroespaciales y especiales, y se pueden dividir aproximadamente en las siguientes categorías:
1. Aplicación en instrumentos inteligentes
La MCU tiene las ventajas de tamaño pequeño, bajo consumo de energía, fuerte función de control, expansión flexible, miniaturización y facilidad de uso, y se usa ampliamente en instrumentos y medidores. Combinando diferentes tipos de sensores se pueden medir cantidades físicas como voltaje, potencia, frecuencia, humedad, temperatura, caudal, velocidad, espesor, ángulo, longitud, dureza, elementos, presión, etc. El uso del control por microcontrolador hace que el instrumento sea digital, inteligente y miniaturizado, y sus funciones son más potentes que los circuitos electrónicos o digitales. Por ejemplo, equipos de medición de precisión (medidores de potencia, osciloscopios, analizadores diversos).
2. Aplicación en control industrial
El microordenador de un solo chip puede formar una variedad de sistemas de control y sistemas de adquisición de datos. Por ejemplo, gestión inteligente de líneas de montaje de fábricas, control inteligente de ascensores, diversos sistemas de alarma y redes de computadoras para formar un sistema de control secundario.
3. Aplicación en electrodomésticos
Se puede decir que los electrodomésticos actuales están controlados básicamente por microcontroladores, que van desde ollas arroceras, lavadoras, refrigeradores, aires acondicionados, televisores en color, Otros equipos de audio y vídeo, tan pequeños como balanzas electrónicas.
4. Aplicación en los campos de las redes informáticas y las comunicaciones.
Los microcontroladores modernos generalmente tienen interfaces de comunicación que pueden comunicarse fácilmente con las computadoras, lo que proporciona excelentes condiciones materiales para aplicaciones entre redes de computadoras y equipos de comunicación. Los equipos de comunicación actuales básicamente han realizado el control inteligente de microcontroladores, desde teléfonos móviles, teléfonos, pequeños interruptores controlados por programas, sistemas de llamada de comunicación automática, comunicaciones inalámbricas de trenes, hasta teléfonos móviles, comunicaciones móviles troncalizadas, radios, etc., que pueden ser visto en todas partes en el trabajo diario.
5. Aplicación del microordenador de un solo chip en el campo de los equipos médicos
El microordenador de un solo chip también se utiliza ampliamente en equipos médicos, como ventiladores médicos, diversos analizadores, monitores, Instrumentos de diagnóstico ultrasónico y camas de hospital. Sistema de llamadas, etc.
Además, los microcontroladores se utilizan ampliamente en los campos industrial y comercial, financiero, de investigación científica, educativo, de defensa nacional y aeroespacial, entre otros.
Se deben aprender seis partes importantes del aprendizaje.
Seis eslabones importantes en el aprendizaje de microcontroladores
1. Bus: Como todos sabemos, los circuitos siempre están compuestos por componentes conectados por cables. En los circuitos analógicos, el cableado no es un problema, porque los dispositivos generalmente están en una relación en serie y no hay muchos cableados entre los dispositivos, pero los circuitos de computadora son diferentes. Se basa en un microprocesador y todos los dispositivos deben estar conectados al microprocesador, por lo que el trabajo de los dispositivos debe coordinarse entre sí, por lo que se necesitan muchos cables. Si todavía parece un circuito analógico. Si el microprocesador y el dispositivo estuvieran conectados por separado, la cantidad de cables sería asombrosa. Por ello, se introdujo el concepto de bus en los microprocesadores, donde todos los dispositivos comparten los mismos cables. Las ocho líneas de datos de todos los dispositivos están conectadas a ocho líneas comunes, lo que significa que todos los dispositivos están conectados en paralelo, pero esto no es suficiente. Si dos dispositivos envían datos al mismo tiempo, uno es 0 y el otro es 1, entonces el receptor los recibirá. Esta situación no está permitida y debe controlarse a través de líneas de control para que el dispositivo funcione en tiempo compartido. Solo un dispositivo puede enviar datos a la vez (varios dispositivos pueden recibir datos 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 en la memoria interna o externa de dispositivos como microcontroladores, y estas unidades de almacenamiento solo se pueden utilizar si se les asigna una dirección. Por supuesto, la dirección asignada también se indica en forma de señal eléctrica. Debido a que hay muchas celdas de memoria, también hay muchas líneas para la asignación de direcciones, y estas líneas se denominan buses de direcciones.
2. Datos, dirección e instrucciones: la razón por la que estos tres están juntos es porque son esencialmente iguales: números o una cadena de '0 y '1'. En otras palabras, las direcciones y las instrucciones también son datos. Instrucción: un número especificado por el diseñador del microcontrolador. Tiene una correspondencia estricta uno a uno con nuestros mnemotécnicos de instrucciones de uso común y el desarrollador del microcontrolador no puede cambiarlos. Dirección: Es la base para encontrar las unidades de almacenamiento internas y externas y los puertos de entrada y salida del microcontrolador. El valor de la dirección de la unidad interna ha sido especificado por el diseñador del chip y no se puede cambiar. El desarrollador del microcontrolador puede decidir la unidad externa, pero algunas unidades de dirección son necesarias (consulte el proceso de ejecución del programa para obtener más detalles). Datos: este es el objeto que será procesado por el microprocesador, que es diferente en varios circuitos de aplicación. En términos generales, los datos a procesar pueden tener las siguientes situaciones:
1? Dirección (como MOV DPTR, #1000H), es decir, dirección 1000H, luego se envía a DPTR.
2? Palabra de modo o palabra de control (como MOV·TMOD, #3), 3 es la palabra de control.
3? Constante (como MOV TH0, #10H) 10H es una constante de temporización.
4? Valor de salida real (por ejemplo, P1 está conectado con luces de colores. Si todas las luces están encendidas, ejecute el comando: MOV P1, #0fh. Si todas las luces están apagadas, ejecute el comando : MOV P1, #00H ), donde 0fh y 00H son los valores de salida reales. Otro ejemplo es el código de fuente utilizado por el LED, que también es el valor de salida real.
Al comprender la naturaleza de las direcciones y las instrucciones, no es difícil comprender por qué el programa se extravía y ejecuta datos como instrucciones.
3. Uso de las segundas funciones del puerto P0, puerto P2 y puerto P3: los principiantes a menudo se confunden sobre el uso de las segundas funciones del puerto P0, puerto P2 y puerto P3. Creen que debería haber un proceso de conmutación, o una instrucción, entre la segunda función y la función original. De hecho, la segunda función de cada puerto es completamente automática y no requiere conversión de comandos. Por ejemplo, P3.6 y P3.7 son las señales WR y RD respectivamente. Cuando el microprocesador está conectado externamente a la RAM o tiene puertos de E/S externos, cumplen una función secundaria y no pueden usarse como puertos de E/S de uso general.
Mientras el microprocesador ejecute la instrucción MOVX, la señal correspondiente se enviará desde P3.6 o P3.7 sin instrucciones previas. De hecho, "no se puede utilizar como puerto de E/S de uso general" no significa "no se puede" pero "no se podrá" utilizar como puerto de E/S de uso general. Puede organizar una instrucción SETB P3.7 en la instrucción. Cuando el microcontrolador ejecuta esta instrucción, ajustará P3.7 al nivel alto, pero los usuarios no harán esto porque generalmente provocará que el sistema falle.
Cuatro. Proceso de ejecución del programa: después del reinicio del encendido, el valor en el contador del programa (PC) en 8051 es '0000', por lo que el programa siempre comienza la ejecución desde la unidad '0000', lo que significa que la unidad '0000' debe existir en La ROM del sistema debe almacenarse una instrucción en la ubicación '0000'.
5. Pila: La pila es un área donde se almacenan los datos. Esta área en sí no es nada especial, pero es parte de la RAM interna. Lo que es especial es la forma en que almacena y accede a los datos, lo que se denomina "primero en entrar, primero en salir". La pila tiene instrucciones especiales de transferencia de datos, a saber, 'PUSH' y 'pop', y una unidad especial dedicada a ella, el puntero de pila SP. SP aumenta automáticamente en 1 (según el valor original) y cada vez que se ejecuta la instrucción POP, SP disminuye automáticamente en 1 (según el valor original). Debido a 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 almacenamiento especificada. Por ejemplo, al comienzo del programa, utilizando la instrucción MOV SP #5FH, la pila se puede configurar en celdas a partir de la ubicación de memoria 60H. Generalmente, siempre hay una instrucción para configurar el puntero de la pila al comienzo del programa, porque el valor inicial de SP es 07H al iniciar, por lo que la pila comienza desde la unidad 08H y el área de 08H a 1FH es la segunda. Las áreas de registro de trabajo tercera y cuarta de 8031, a menudo El uso causará confusión en los datos. Cuando diferentes autores escriben programas, las instrucciones de la pila de inicialización no son exactamente las mismas. Este es el hábito del autor. Cuando se establece el área de la pila, no significa que el área se convierta en una memoria especial. Todavía se puede usar como un área de memoria normal, pero en términos generales, los programadores no la usarán como memoria normal.
6. El proceso de desarrollo de una microcomputadora de un solo chip: el proceso de desarrollo mencionado aquí no comienza con el análisis de tareas como se menciona en los libros generales. Suponemos que el hardware ha sido diseñado y fabricado y el siguiente paso es escribir el software. Antes de escribir el software, primero debemos determinar algunas constantes y direcciones. De hecho, estas constantes y direcciones se han determinado directa o indirectamente durante la etapa de diseño. Por ejemplo, cuando se diseña la conexión de un dispositivo, se determina su dirección y cuando se determina la función del dispositivo, también se determina su palabra de control. Luego use un editor de texto (como EDIT, CCED, etc.) para escribir el software. Después de escribir, use un compilador para compilar el archivo del programa fuente y verifique si hay errores hasta que no haya errores de sintaxis. Excepto en el caso de programas muy simples, los simuladores se utilizan generalmente para depurar el software hasta que el programa se ejecute correctamente. Después de ejecutarlo correctamente, puede escribir la película (solidificar el programa en EPROM). Una vez compilado el programa fuente, se genera un archivo objeto con la extensión HEX. La mayoría de los programadores pueden reconocer archivos en este formato y escribir películas simplemente llamando a este archivo. Para que todos comprendan todo el proceso, aquí hay un ejemplo:
ORG 0000H
Inicio de LJMP
ORG 040H
Inicio:
MOV SP, #5FH set stack
Bucle:
no se proporciona de otro modo (para) a menos que se especifique lo contrario
bucle LJMP; propagación
Fin; Fin
Aprendizaje de MCU
Actualmente, muchas personas no reconocen el lenguaje ensamblador. Se puede decir que dominar la programación de microcontroladores en lenguaje C es muy importante y puede mejorar en gran medida la eficiencia del desarrollo. Sin embargo, es posible que los principiantes no comprendan el lenguaje ensamblador del microcontrolador, pero deben comprender el rendimiento y las características específicas del microcontrolador; de lo contrario, será fatal en el campo de los microcontroladores. Si no considera los recursos de hardware del microcontrolador, solo puede usar la programación C en KEIL a voluntad. ¡El resultado solo serán problemas sin solución! Lo que es seguro es que los mejores ingenieros de microcontroladores en lenguaje C son programadores ensambladores. Aunque el lenguaje C para microcontroladores es un lenguaje de alto nivel, es diferente de VC++ en las computadoras personales de escritorio. Los recursos de hardware de los microcontroladores no son muy potentes, lo que se diferencia de escribir programas en PC de escritorio con lenguajes de alto nivel como VC y VB.
Después de todo, el hardware de las computadoras de escritorio es muy poderoso y el problema de los recursos de hardware puede ignorarse.
Tome el microcontrolador 8051 como ejemplo para explicar los pines y las funciones relacionadas del microcontrolador.
Diagrama de pines de la MCU
Según la función de los pines, estos 40; Los pines se pueden dividir aproximadamente en cuatro categorías: pines de alimentación, reloj, control y E/S.
1. Fuente de alimentación:
(1) fuente de alimentación del chip VCC, conectada a +5V;
(2)terminal de tierra VSS;
Nota: Generalmente, cuando se prueba con un multímetro, la corriente del pin del microcontrolador es 0v o 5v, que es el nivel TTL estándar. Pero a veces, cuando el programa del microcontrolador está funcionando, el resultado de la prueba no es este valor sino entre 0v y 5v. De hecho, esto se debe a que el multímetro no responde tan rápido y la corriente del pin del microcontrolador aún permanece en 0v o 5v en un momento determinado.
Relojes: XTAL1, xtal 2 - Entrada y salida inversora del circuito oscilador de cristal.
3. Líneas de control: Hay cuatro líneas de control * * *.
(1) ale/Prog: habilitación de bloqueo de datos/pulso de programación EPROM en chip.
① Función ALE: se utiliza para bloquear la dirección inferior de 8 bits enviada por el puerto P0.
② Función PROG: chip con EPROM en el chip. Durante la programación de EPROM, este pin ingresa el pulso de programación.
⑵ PSEN: Señal estroboscópica de lectura de ROM externa.
⑶ RST/VPD: reinicio/fuente de alimentación en espera.
① Función RST (reset): reinicia la entrada de señal.
② Función VPD: Cuando falla la fuente de alimentación Vcc, conecte la fuente de alimentación de respaldo.
⑷ EA/Vpp: selección de ROM interna y externa/fuente de alimentación de programación EPROM en chip.
① Función EA: terminal de selección de ROM interna y externa.
② Función Vpp: Durante el proceso de programación de EPROM, la potencia de programación Vpp se agrega al chip con EPROM.
Líneas de entrada y salida
80C51*** *tiene cuatro puertos de E/S paralelos de 8 bits: P0, P1, P2, P3 y ***32 pines.
El puerto P3 también tiene una segunda función, que se utiliza para la entrada y salida de señales especiales y señales de control (pertenecientes al bus de control).