Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD Nº I
MICROPROCESADORES Y MICROCONTROLADORES.
www.iplacex.cl
SEMANA 1
Introducción
Hoy en día el lograr que los procesos de diferentes índoles, a través de la automatización
funcionen con mayor eficiencia, con mas rapidez y con el menor esfuerzo posible es de
suma importancia. Ya sea en el ámbito industrial y comercial para disminuir costos,
mejorar la eficiencia energética y aumentar la productividad o en el ámbito de nuestra vida
diaria, por ejemplo, viviendas y edificios para automatizar procesos que producen mas
confort, seguridad, mejoran la eficiencia energética y el uso del agua. Además de esta
necesidad de automatizar procesos, en la actualidad, es muy necesario procesar gran
cantidad de información, la digitalización es una realidad no solo en el ámbito industrial y
comercial, ya es fundamental para el ámbito domestico y nuestra vida diaria. Todos
utilizamos computador, redes sociales y gran parte de nuestras operaciones bancarias,
tramites, compras y entretenimiento lo realizamos digitalmente.
Por este motivo, nace la necesidad de contar con profesionales que tengan la capacidad
de diseñar estos sistemas de control y entregar soluciones integrales en el ámbito de la
automatización y procesamiento de datos. Esta unidad abordara específicamente la
unidad central que controla gran parte de estos sistemas de automatización y
procesamiento de datos, estos son los microcontroladores y microprocesadores. Se
analizará su funcionamiento, modos de programación, sus características técnicas y
diferencias de arquitectura y funcionalidades entre los microcontroladores y
microprocesadores.
2 www.iplacex.cl
IDEAS FUERZA
3 www.iplacex.cl
DESARROLLO
1. Arquitectura de un Microprocesador y un Microcontrolador.
Microprocesador.
4 www.iplacex.cl
Figura 1: Diagrama de Bloques o Arquitectura Microprocesador Intel 4004(Hoja datos Intel)
Fuente: https://commons.wikimedia.org/wiki/File:4004_arch.svg
Componentes de un Microprocesador.
5 www.iplacex.cl
Además, el microprocesador tiene otros componentes como la memoria de caché que se
comporta como predictor de operaciones, buses de datos e instrucciones y puertos.
Funcionamiento de un Microprocesador
- Búsqueda de la instrucción.
- Decodificación de la instrucción.
- Búsqueda de operandos.
- Ejecución de la instrucción
- Almacenamiento del resultado.
6 www.iplacex.cl
Figura 2: Diagrama Microprocesador y comunicación con periféricos.
Fuente: https://medium.com/@aploopve/microcontroladores-vs-microprocesadores-9e8c7edfb746
Microcontrolador.
7 www.iplacex.cl
creación del microcontrolador Microchip PIC16X84, estas tenían una memoria EEPROM que
podía ser borrada eléctricamente y reprogramada.
2- Memorias ROM y RAM: En el interior del microcontrolador se integran junto con la Unidad
Central de Procesamiento bloques de memoria para almacenar el programa, los datos y otros
registros para implementar el proceso de control. Estas memorias se clasifican de la
siguiente forma:
- Memoria RAM: Esta memoria permite almacenar datos de manera temporal (memoria de
datos), generalmente es diseñada con poca capacidad, ya que, las aplicaciones de control
8 www.iplacex.cl
donde es generalmente utilizada no requieren una gran capacidad de memoria, por ejemplo
en instrumentación y automatización
3- Puertos I/O, puertos de entrada - salida: Físicamente son pines del microcontrolador que
tienen la función de conectarse con el entorno, son los que leerán estados y entregaran
acciones determinadas, de acuerdo a las instrucciones y resultados del procesamiento de los
estados de entrada, usualmente los pines pueden tener varias funciones o sus funciones
pueden ser programadas(si son entradas o salidas)las cuales son configurables por registros
internos y varían de acuerdo a las familias de fabricantes.
9 www.iplacex.cl
Figura 4: Diagrama de Bloques general de un Microcontrolador PIC16F628A
Fuente: https://es.wikiversity.org/wiki/Estructura_del_microcontrolador
Las dos formas generales de arquitectura de computadora que existen, que están presentes en
la estructura y diseño de los microcontroladores, son las arquitecturas Von Neumann y Harvard.
Principalmente estas se diferencian en como se comunica la memoria al procesador y en los
buses que cada una necesita.
10 www.iplacex.cl
Figura 5: Diagrama de Bloques general Arquitectura Von Neuman
Fuente: http://perso.wanadoo.es/pictob/microprg.htm#microprocesadores
Arquitectura Harvard
11 www.iplacex.cl
2.Diferencias y semejanzas entre un Microcontrolador y un
Microprocesador.
Finalmente, cada una de estas tecnologías tiene sus ventajas y desventajas donde su uso
dependerá de su aplicación determinada, por lo que es importante analizar de forma clara sus
diferencias:
12 www.iplacex.cl
es de baja capacidad, ya que las aplicaciones de control donde se utilizan, no necesitan
almacenar una gran cantidad de datos temporales.
- Memorias ROM: Los microprocesadores a través de sus periféricos pueden acceder a
dispositivos de almacenamiento externo de gran capacidad de diferentes tecnologías. En
cambió la memoria ROM en los microcontroladores es de capacidad muy limitada y está
integrada en el mismo circuito integrado, se utiliza para el almacenamiento del programa en
lenguaje maquina.
- En cuanto a las aplicaciones la implementación con microprocesadores es más complejos,
los circuitos, la codificación y decodificación, memoria, almacenamiento y periféricos. En
cambio, implementaciones con microprocesadores son mas simples, en el caso de
aplicaciones sencillas el circuito involucra el reloj generalmente conformado por un cristal de
cuarzo y diferentes componentes electrónicos de baja complejidad, baterías o fuentes de
alimentación.
- El microprocesador es un sistema abierto, ya que dispone de pines externos accesibles al
diseñador, estos pueden comunicar el hardware exterior con los buses de dirección, datos y
control en el microprocesador. En cambio, el microcontrolador es un sistema cerrado, no se
tiene acceso a los buses dirección, datos y control internos de la unidad central de
procesamiento, sin embargo, algunos microcontroladores permiten un acceso a los buses a
través de algunos puertos de entrada o salida utilizando señales de sincronización.
- En cuanto a la velocidad de operación los microprocesadores tienen altas velocidades de
operación, dado el uso o aplicaciones donde se utiliza, estas van del orden de los Giga Hertz
con varios núcleos, pero en los microcontroladores la velocidad de operación es mucho más
bajas, aproximadamente pueden llegar hasta los 50MHz, sin embargo esto es suficiente para
controlar sistemas en tiempo real.
En cuanto a su utilidad los microprocesadores son utilizados para procesar gran cantidad de
datos o información e incorporan una amplia variedad de periféricos donde donde se necesita
una gran capacidad de memoria y potencia, donde además su implementación es muy compleja.
Un ejemplo es el procesamiento de datos, que tienen que ver con audio, video, información,
bases de datos, comunicaciones, entretenimiento, aplicaciones industriales y espaciales entre
otras. La aplicación mas conocida y que puede realizar todas estas funciones son los
computadores de escritorio o Notebook, donde su rapidez depende principalmente de la
capacidad del procesador.
En cambio, los microprocesadores son necesarios en proyectos o aplicaciones mas sencillas
que impliquen controlar en tiempo real determinados sistemas:
- Controlar variables como temperatura, humedad, voltaje, corriente, etc. En estos casos se
deben utilizan dispositivos que incorporen un convertidor análogo-digital.
13 www.iplacex.cl
- Para controlar diferentes tipos de actuadores como motores o cargas resistivas. Para este
propósito se debe incorporar un modulador de ancho de pulso o PWM.
MICROPROCESADORES MICROCONTROLADORES
14 www.iplacex.cl
3 Componentes en un circuito con Microprocesadores o Microcontroladores.
Dadas sus diferencias en cuanto a las aplicaciones de cada una y sus características, las
implementaciones de cada una difieren enormemente en cuanto a complejidad y sus
componentes en un circuito, para el caso de los microprocesadores la implementación de
proyectos y aplicaciones implica el uso de placas impresas multicapa, que permiten la
interconexión de una compleja red de circuitos y circuitos integrados individuales relacionados
con la codificación y decodificación, memoria, almacenamiento y periféricos. Un ejemplo clásico
son las placas madres o “mainboard” de un computador personal.
15 www.iplacex.cl
4. Lenguajes de Programación disponibles para los
microcontroladores y microprocesadores.
Primero debemos entender que es un “programa”, en una CPU para lograr mantener el control
sobre los periféricos, debe utilizar ciertos periodos de tiempo, que son muy pequeños, para
realizar una serie de acciones cuyo fin es de cumplir ciertas tareas que han sido organizadas de
manera secuencial, estas son las llamadas “instrucciones” y la forma secuencial que se ejecutan
es el “programa”, este concepto general se aplica a cualquier sistema computarizado o de
control basados en Microprocesadores o Microcontroladores.
En este lenguaje las instrucciones y datos se representan en bit o en un conjunto de bits que
conforman palabras. Los microprocesadores y circuitos integrados solo pueden leer e interpretar
este lenguaje, es decir, toda la información y operaciones son entendidas en conjuntos
ordenados en ceros y unos. La desventaja de este lenguaje es la complejidad de escribir y
representar los datos, por esta razón se crean otras formas de representación como son los
sistemas hexadecimal u octal, otra desventaja es que en algunos casos el set de instrucciones
entre diferentes marcas es diferentes y la programación se hace muy dificultosa en cuanto a
depuración de errores. Sin embargo, la ventaja que tiene es que al ser cargado directamente el
programa en este lenguaje no necesita de ningún traductor, por lo tanto su ejecución es mas
rápida.
16 www.iplacex.cl
4.2 Lenguaje Ensamblador.
17 www.iplacex.cl
Figura 10: Compilación lenguaje ensamblador a maquina.
Fuente: https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-con-ejemplos/lenguajes-de-
programacion
Estos lenguajes son creados con el fin de solucionar los problemas y complejidades en
programar en lenguaje ensamblador, en la actualidad existen diversos lenguajes de alto nivel,
por ejemplo Basic, Pascal, C, C++, en dichos lenguajes se reemplazan varias instrucciones en
ensamblador por sentencias resumidas que hacen que el programa sea mucho mas intuitivo,
corto en extensión y sencillo de programar, además el programador no tiene necesidad de
conocer el conjunto de instrucciones o características del hardware del microcontrolador utilizado
18 www.iplacex.cl
Figura 11: Correspondencia lenguaje en C - ensamblador
Fuente: https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-con-ejemplos/lenguajes-de-
programacion
El lenguaje C es uno de los mas populares y es muy utilizado como lenguaje de programación
de alto nivel para la programación de microcontroladores, ya que permite realizar operaciones
tanto sobre los bytes como sobre los bits, por ejemplo, operaciones lógicas o desplazamiento.
Además, es un lenguaje estandarizado (ANSI) y el mismo código se puede reutilizar muchas
veces en diferentes aplicaciones. El programa puede ser entendido por cualquiera programador
que conozca este tipo de lenguaje sin saber la aplicación especifica en que se utilizara el
microcontrolador. Este lenguaje C esta compilado, es decir, las fuentes que contienen el código
C pueden ser fácilmente traducidos a lenguaje máquina por el compilador.
La siguiente imagen resume, como se compila e interpreta un lenguaje de alto nivel hacia código
ensamblador y finalmente a código binario. Además, como en el interior del microprocesador
guarda los datos en registros en código binario.
19 www.iplacex.cl
Figura 12: Interpretación y compilación de lenguaje C
Fuente: https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-con-ejemplos/lenguajes-de-
programacion
Velocidad de Reloj: Es la característica mas importante, de este dato depende en gran medida,
con que velocidad ejecuta las instrucciones (instrucciones por segundo), sin embargo no se
puede determinar con exactitud la velocidad del procesador, ya que esta depende de otras
características del procesador y condiciones de operación. El primer procesador 4004 de Intel
tenía una velocidad de reloj de 108KHz, Hoy los microprocesadores superan los 4GHz.
21 www.iplacex.cl
Arquitectura: Esta esta definida por bits, que depende del tamaño del bus de datos que es
bidireccional, donde circulan los datos e instrucciones, esto porque en general los procesadores
están diseñados con la arquitectura Von Neumann, mientras mas bits puedan pasar por el bus,
mas cantidad de datos puede procesar con la misma velocidad de reloj, como podemos ver en la
tabla 2, el primer procesador fue diseñado en 4 bits, los computadores actuales están diseñados
con procesadores de 32 y 64 bits.
Memoria Cache: La función de esta memoria es almacenar instrucciones y datos a los que el
procesador debe acceder continuamente o podemos decir que la memoria cache guarda de
forma temporal tareas repetitivas, con el fin de que el procesador tenga acceso de forma rápida
a estas operaciones. Cuando el sistema quiere acceder a un nuevo dato, este es almacenado en
la memoria caché de forma temporal. Luego cuando se necesita nuevamente al mismo dato, el
sistema se dirigirá directamente al registro de la memoria caché donde se guardo el dato. En
general existen tres niveles de memoria cache L1, L2 y L3. Hoy en día este dato técnico de la
capacidad y estructura de la memoria cache es muy importante en todos los dispositivos
computarizados.
22 www.iplacex.cl
Capacidad de memoria: La capacidad de memoria de programa (ROM) es una de las
características importantes a conocer del microcontrolador, ya que allí se alojara el programa
que se ejecutara para realizar todas las tareas del sistema de control, además de la capacidad
de la memoria RAM que es utilizado por el programador para definir variables y dinamizar el flujo
del programa.
Velocidad del reloj: Es muy importante este dato, ya que esta velocidad influye en el tiempo de
procesamiento de los datos y operación de trabajo en tiempo real, para aplicaciones generales
se utilizan velocidades cercanas o iguales a 4MHz, la mayoría de las familias de
microprocesadores soportan decenas de MegaHertz en el circuito de reloj.
Funcionalidades y diseño del circuito: En este punto es importante manejar bien técnicamente el
proyecto, donde se debe verificar en las características técnicas en cuanto puertos, si estos son
fijos o programables, niveles de voltaje de trabajo de las entradas, tipo de puertos de
comunicaciones y si es necesario para la aplicación se debe seleccionar microcontroladores con
unidades funcionales especiales con la capacidad de manejar LCD, PWM, comunicaciones
especiales, etc. Para esto se requerirá de un software complejo para controlar las capacidades
internas y la multiplexación de sus pines.
Otra característica importante de los microcontroladores tiene que ver con el tipo de arquitectura
de los juegos o set de instrucciones, existen dos tipos:
Además existen otras características técnicas muy importantes a considerar, como son las
fuentes de interrupciones, si tiene watchdog timer o pero guardián (mecanismo de seguridad del
23 www.iplacex.cl
sistema que provoca un reset), conversores análogos-digitales, comparadores, temporizadores,
modo de bajo consumo, etc.
Hasta 368 x 8 bytes de Memoria de Datos tipo RAM (ver tabla a continuación).
Hasta 256 x 8 bytes de Memoria de Datos tipo EEPROM (ver tabla a continuación).
Hasta 15 fuentes de Interrupción posibles.
8 niveles de profundidad en la Pilla hardware.
Modo de bajo consumo (Sleep).
Tipo de oscilador seleccionable (RC, HS, XT, LP y externo).
Rango de voltaje de operación desde 2,0V a 5,5V.
Conversor análogo-digital de 10 bits multicanal
3 Temporizadores
Watchdog Timer
2 módulos de captura/comparación/PWM
Comunicaciones por interfaz USART (Universal Synchronous Asynchronous Receiver
Transmitter)
Puerto Paralelo Esclavo de 8 bits (PSP).
Puerto Serie Síncrono (SSP)
Tabla 3: Especificaciones técnicas generales PIC16F87X
fuente según ficha: http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
24 www.iplacex.cl
Hoy en día la información tecnológica es accesible a todo el publico en
general ¿será posible que en un futuro cercano podamos construir y
desarrollar nuestra propia tecnología utilizando, por ejemplo,
microcontroladores de fácil programación?
25 www.iplacex.cl
Conclusión
Nos adentramos un poco mas en un mundo fascinante, lleno de experiencias y ciencia humana.
Los avances tecnológicos, el mundo digital, nos acompaña cada día, avanza y nos sorprende
con nuevas capacidades y alcances.
Existe un gran campo de aplicación para ambas tecnologías, dependiendo de la necesidad que
se requiera cubrir, del tiempo de estudio y desarrollo que dispongamos, si se requiere manejar
mayor cantidad datos o controlar procesos y variables, en fin, tanto en microcontroladores como
microprocesadores podemos encontrar una herramienta que pueda transformarse en el cerebro
de nuestro proyecto.
26 www.iplacex.cl
Bibliografía
Microchip Technology Inc (2003), Data Sheet PIC 16F87XA, U.S.A. Recuperado de:
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
27 www.iplacex.cl
28 www.iplacex.cl