Está en la página 1de 28

CONTROLADORES INDUSTRIALES

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

Los microcontroladores y microprocesadores en general comparten la función de procesar datos,


las diferencias están primero en la cantidad de datos, y tipo de datos a procesar y segundo en su
arquitectura interna, estas diferencias o características de ellos dependerá de los tipos de
aplicaciones que están orientados sus diseños.

Para comprender las características técnicas de los microprocesadores y microcontroladores, es


fundamental entender las diferentes arquitecturas que componen estos circuitos integrados y la
relación física que existe entre sus componentes principales, en especial como interactúan los
periféricos con la unidad central de procesamiento y como es la estructura física de los buses de
datos e instrucciones.

Los circuitos integrados y en especifico los microcontroladores y microprocesadores para su


programación en su interior entienden un lenguaje binario, que es complejo y extenso de
programar, por esta razón nacen los lenguajes ensambladores y de alto nivel que simplifican el
modo de programar y lo hace mas intuitivo.

3 www.iplacex.cl
DESARROLLO
1. Arquitectura de un Microprocesador y un Microcontrolador.

Antes de analizar la arquitectura del microcontrolador y microprocesador debemos preguntarnos


¿Qué es un microcontrolador? ¿qué es un microprocesador? ¿pueden realizar la misma función
o deben ser utilizados según la necesidad? En primera instancia podemos decir que el
microcontrolador esta orientado a controlar procesos, y el microprocesador esta orientado a
procesar o calcular gran cantidad de datos, ante esta primera diferencia podemos deducir que
sus aplicaciones son diferentes o dependiendo de la necesidad de la aplicación debemos elegir
entre un microprocesador o un microcontrolador. Para aclarar mas a fondo estas dudas
comenzaremos con definir cada uno de ellos, analizar su funcionamiento, cuales son sus
posibles aplicaciones y su arquitectura.

Microprocesador.

Un microprocesador (µP) es definido en general como el cerebro de un ordenador, tiene la


función de decodificar y ejecutar instrucciones según el programa que tiene cargado la memoria
principal, también tiene la funcionalidad de coordinar y controlar el resto de los componentes o
periféricos que forman un ordenador.

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

Físicamente el microprocesador es un circuito integrado complejo compuesto por un conjunto de


millones de transistores instalados sobre una oblea de silicio, su rapidez dependerá justamente
de la cantidad de transistores que lo componen, por ejemplo, el primer procesador fabricado por
Intel el 4004, que fue utilizado para diseñar una calculadora de bolsillo contenía 2300
transistores, donde su arquitectura era de 4 bits y podía realizar hasta 60 000 operaciones por
segundo y su frecuencia de reloj era aproximadamente de 700KHz, ahora los procesadores
tienen velocidades muy superiores al igual que el numero de transistores que lo componen, en el
interior de un procesador Intel Core i7 hay más de 700 millones de transistores, su arquitectura
es de 64 bits y pueden trabajar a frecuencias mayores a 3MHz.

Componentes de un Microprocesador.

El microprocesador se compone de unidades funcionales, que son llamados en su conjunto


unidades centrales de proceso(CPU), el microprocesador puede contener mas de una unidad
central de procesamiento y estas partes funcionales le permiten al microcontrolador ejecutar
instrucciones y coordinarse con los elementos periféricos, estas unidades funcionales
principalmente son 4: Registros, Unidad de Control, Unidad Aritmética Lógica (ALU) y
una unidad de calculo en coma flotante o también llamada coprocesador matemático.

• Registros: Son pequeños grupos de memorias para funciones especiales del


microprocesador. Un grupo esta diseñado para el control del microprocesador y
otros que no son para ser controlados por este pero que la CPU los utiliza en
algunas operaciones.
• Unidad de control: La función de esta unidad es buscar las instrucciones en
la memoria decodificarlas y ejecutarlas en una secuencia determinada, en esta
etapa existen registros de instrucciones y la lógica de decodificación.
• Unidad Aritmética Lógica (ALU): Es una unidad conformada por circuitos
digitales y registros que tienen la función de realizar todas las operaciones
aritméticas, ya sea suma, resta, multiplicación y operaciones lógicas. Para lograr
realizar estas operaciones esta unidad se coordina con un registro de estado un
registro acumulador y un registro temporal
• Unidad de calculo en coma flotante: Es la unidad especializada en realizar
cálculo de operaciones en coma flotante, estas pueden ser la suma y
multiplicación y algunos sistemas más complejos son capaces también de
realizar cálculos exponenciales. También es llamado coprocesador matemático.

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

Un microprocesador tiene la función principal de ejecutar una secuencia de instrucciones que es


denominada o llamada “programa”, para lograrlo, sus bloques funcionales deben cumplir cuatro
tareas o pasos básicos que es: leer, decodificar, ejecutar, y escribir. Por supuesto estos pasos y
funciones están altamente resumidas, ya que este circuito integrado en su interior tiene un
funcionamiento complejo para logar ejecutar instrucciones de manera coordinada con sus
componentes internos y externos. Los pasos para la ejecución de una instrucción en un
microprocesador son los siguientes:

- 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.

Podemos resumir las funciones del microprocesador en los siguientes pasos:

- Transferir datos desde la memoria, periféricos y/o dispositivos y viceversa.


- Realizar operaciones aritméticas y lógicas (sumas y comparaciones), a través de una unidad
aritmética lógica.
- Realizar control durante el flujo de un programa, mientras se está ejecutando este, el
microprocesador mantiene una comunicación con la memoria.
En la siguiente imagen podemos ver un diagrama simple de un microprocesador, donde se
puede visualizar que periféricos y memorias no están integrados en su interior.

6 www.iplacex.cl
Figura 2: Diagrama Microprocesador y comunicación con periféricos.
Fuente: https://medium.com/@aploopve/microcontroladores-vs-microprocesadores-9e8c7edfb746

En la siguiente imagen podemos ver un diagrama detallado de un microprocesador,


específicamente el Intel 80486, podemos visualizar los registros, al centro la unidad de control, la
unidad aritmética lógica (ALU) e interacción con registros, memoria cache, buses de datos que
comunican con todas las unidades(2 buses de 32 bit) y la unidad de calculo en coma
flotante(FPU).

Figura 3: Diagrama de Bloques o Arquitectura Microprocesador Intel 80486(Hoja datos Intel)


Fuente: https://commons.wikimedia.org/wiki/File:80486DX2_arch.svg

Microcontrolador.

El microcontrolador, que la literatura técnica y hojas de datos, en general lo abrevia con el


símbolo μC es un circuito integrado que en su función es flexible, ya que es programable y
reprogramable, es decir, puede borrar su programa actual y cargar uno nuevo de manera simple.
Este circuito integrado es capaz de ejecutar instrucciones grabadas en su memoria, según la
lógica cargada por el programador y su arquitectura es compuesta por varios bloques
funcionales, que permiten al microcontrolador realizar su trabajo de ejecutar instrucciones, leer
entradas y controlar salidas o periféricos. El primer microcontrolador fue diseñado por los
ingenieros de Texas Instruments Gary Boone y Michael Cochran en el año 1971, en este modelo
que era el TMS 1000, integraron un microprocesador con memorias RAM, ROM y un reloj, estos
microprocesadores estaban diseñados para sistemas embebidos. Pero la característica que
tienen estos circuitos integrados de ser reprogramables llego recién en el año 1993, con la

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.

La razón de que exista tanta variedad de microcontroladores en el mercado y sean muy


utilizados en el mundo tecnológico es que tienen la característica de reducir el costo económico
y el consumo de energía de un sistema de control en particular. Esta característica es porque
están diseñados para funcionar a velocidades de reloj con frecuencias bajas como por ejemplo 4
kHz, por lo tanto, pueden consumir una baja potencia del orden de mili watt y tiene la capacidad
de mantenerse a la espera de una orden desde una entrada como, por ejemplo, el pulsar un
botón u otro tipo de interrupción. Esto permite que estos microcontroladores puedan ser
utilizados en aplicaciones en lugares donde no exista energía de forma permanente y ser
alimentados por baterías.

Componentes del Microcontrolador.

El microcontrolador se compone principalmente de tres unidades funcionales, se dice, que estas


unidades funcionales son las que componen una computadora y estas son la Unidad Central de
Procesamiento, Memorias y periféricos de entrada y salida. Podemos decir que un
microcontrolador funciona como una “microcomputadora” ya que tiene los componentes básicos
de este, esto gracias al desarrollo de la microelectrónica.
En resumen, el microcontrolador es una “minicomputadora” utilizada para aplicaciones
especificas, y sus unidades podemos definirlas como:

1- Unidad Central de Procesamiento (CPU): Se encarga de ejecutar las instrucciones


almacenadas en la memoria, esta unidad Interpreta instrucciones mediante operaciones
aritméticas y operaciones lógicas y esta compuesta por la unidad de control y la ALU.

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 ROM: Es la memoria encargada de almacenar el programa (memoria de programa),


su tamaño generalmente está en los KBytes de memoria, que son suficientes para almacenar
el programa en código maquina.

- 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.

En la siguiente imagen(figura 4) podemos ver el diagrama de bloques de un microcontrolador,


donde podemos ver la memoria EEPROM, la memoria de programa, el registro de
instrucciones, luego el decodificador de instrucciones para su interpretación y la unidad de
control que sincroniza el oscilador con la secuencia de las instrucciones, la unidad aritmética
lógica(ALU) que se encarga de realizar cálculos y comparaciones lógicas, la memoria volátil
(RAM) de datos que se compone de un banco de registros, una memoria de datos y los puertos
A y B que generalmente son configurables de acuerdo a la necesidad como entradas o salidas.

9 www.iplacex.cl
Figura 4: Diagrama de Bloques general de un Microcontrolador PIC16F628A
Fuente: https://es.wikiversity.org/wiki/Estructura_del_microcontrolador

Dado la arquitectura de un microcontrolador y su funcionamiento ¿Es


posible decir que un microcontrolador funciona como un computador de
escritorio?

Tipos de arquitectura 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.

Arquitectura Von Neuman

Esta arquitectura corresponde al diseño conceptual y la estructura de la mayoría de los


microprocesadores y computadoras de uso personal y se basa en el concepto de programa
almacenado propuesto por el matemático Von Neumann. La operación de la CPU consiste en
una memoria principal única generalmente del tipo RAM, donde se almacenan los datos y el
programa, y estos son accesibles a través de un sistema de buses único. Esto hace que el
procesador sea mas lento, ya que no se puede tener acceso simultaneo a los datos e
instrucciones.

10 www.iplacex.cl
Figura 5: Diagrama de Bloques general Arquitectura Von Neuman
Fuente: http://perso.wanadoo.es/pictob/microprg.htm#microprocesadores

Las computadoras utilizan esta arquitectura (microprocesadores) ya que tiene la ventaja de


ahorrarse una gran cantidad de entradas y salidas, en el diseño de placas madres este punto es
fundamental, ya que los costos disminuyen notablemente al utilizar esta arquitectura y
disminuyen la complejidad y tamaño de los circuitos, solo en las supercomputadoras utilizan
arquitecturas que separan datos e instrucciones en buses diferentes.

Arquitectura Harvard

Esta arquitectura es utilizada en la mayoría de los microcontroladores del mercado, sistemas


integrados en general y por las supercomputadoras. En este caso el procesador esta diseñado
por bloques separados entre la memoria de datos e instrucciones, es decir las memorias están
separadas (RAM y ROM), y se puede acceder a estas por buses independientes, de modo que
cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.
La ventaja que tiene esta arquitectura es que primero permite adecuar el tamaño de los buses a
las características especificas de cada tipo de memoria y la segunda ventaja es que el
procesador puede acceder a cada una de ellas de forma simultánea, esto logra un aumento
significativo de la velocidad de procesamiento, a diferencia de la arquitectura Von Neumann. En
la practica esto puede traducirse en una diferencia de dos veces más rápido.

Figura 6: Diagrama de Bloques general Arquitectura Harvard


Fuente: http://perso.wanadoo.es/pictob/microprg.htm#microprocesadores

11 www.iplacex.cl
2.Diferencias y semejanzas entre un Microcontrolador y un
Microprocesador.

Ya con la información de la arquitectura de ambas, se pueden sacar conclusiones en cuanto a


sus diferencias y semejanzas, en cuanto a las semejanzas primero podemos decir que ambos
tienen Unidades de control, para ejecutar e interpretar instrucciones, una unidad aritmética
lógica para realizar cálculos y comparaciones y tener registros para diferentes propósitos, y la
gran diferencia en cuanto a estructura es que el microcontrolador integra en un solo circuito
integrado memorias RAM y ROM y periféricos de entrada y salida, es decir integra las tres
unidades funcionales de una computadora, no es el caso del procesador, en general el
procesador se compone de una o mas unidades de centrales de procesamiento CPU.
En la siguiente imagen (figura 7) podemos ver reflejada la diferencia estructural, primero
tenemos un microprocesador y luego lo integramos con diferentes circuitos integrados para
formar un microcontrolador.

Figura 7: Diferencias entre un Microcontrolador y Microprocesador


Fuente: https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-basic/introduccion-al-mundo-de-los-
microcontroladores

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:

- Memoria RAM: El procesador y la memoria RAM están estructuralmente separadas y la


capacidad que necesitan los microprocesadores para realizar sus funciones es mucho más
elaborada pudiendo acceder a grandes bancos de memoria de acuerdo a los requerimientos
del sistema. En cambio, el microcontrolador la incorpora en el interior del circuito integrado y

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.

2.1 Diferencias de aplicaciones.

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.

- Hoy en día sus aplicaciones son múltiples, tanto industrialmente (instrumentación,


automatización, telemetría, etc.), comerciales (automóviles, periféricos, juguetes) y
domésticos (electrodomésticos, audio, video).

La siguiente tabla es un resumen de las diferencias entre un microprocesador y un


microcontrolador:

MICROPROCESADORES MICROCONTROLADORES

Sistema digital abierto Sistema digital cerrado


Arquitectura Von Neumann Arquitectura Harvard
No posee memoria interna Posee memoria interna volátil y no volátil
Costo de desarrollo e implementación Costo de desarrollo e implementación
elevado reducido
El tiempo para el desarrollo de proyectos es
El tiempo de desarrollo de proyectos es
mayor menor
Velocidad de operación rápida Velocidad de operación mas lenta que un
microprocesador
Muchos modos de direccionamiento Dos o tres modos de direccionamiento
CISC RISC
Dependiendo del software que dirija, puede Ejecuta solo la tarea para la cual fue
ejecutar muchas tareas programado

Tabla 1: Diferencias entre un Microprocesador y Microcontrolador.

Dado las muliples aplicaciones donde se utiliza un microcontrolador


¿Cuántos artefactos de tu casa podrian contener un microcontrolador?

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.

En el caso de los sistemas o proyectos donde la implementación implique el uso de un


Microcontrolador, estos son en general mas sencillos en cuanto a diseño, ya que los
componentes principalmente son la alimentación, que pueden ser baterías o fuentes de poder de
baja potencia, dispositivos de entrada, por ejemplo, sensores, teclados, pulsadores, etc. Además
de dispositivos de salidas, como por ejemplo diferentes actuadores, led, relés, motores paso a
paso y dispositivos de monitoreo que pueden conectarse en diferentes puertos de comunicación,
ya se pantallas o incluso conexión remota con sistemas o red de computadoras mas robustas.
Por supuesto, también encontramos diferentes semiconductores que sirven para proteger y
adecuar diferentes señales de entradas y salidas, desde una simple resistencia, hasta
conversores externos análogos-digital, generadores de pulso y transductores.

Figura 8: Circuitos en implementaciones con Microprocesador


Fuente: https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Electronica.pdf

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 resumen, un programa es una secuencia de instrucciones y estas instrucciones deben ser


almacenadas en algún lugar del sistema basados en Microprocesadores o Microcontroladores.
Esta “memoria de programa” almacenara las instrucciones, y esta formada por contenedores
denominados registros, y estas están compuestos por celdas de almacenamiento, que tienen la
capacidad de almacenar un “bit” de información que pueden ser representados de dos estados
estables posibles un “cero” o “uno”. Al ejecutar instrucciones y en conjunto con los datos se
generan códigos en “cero” o “uno” que son denominados según sus tamaños: “Nibbles” (4 bits),
“Bytes” (8 bits), “W palabra” (16 bits), “DW doble palabra” (32 bits) y “QW cuádruple palabra” (64
bits).

4.1 Lenguaje Maquina.

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.

Con la idea de eliminar las complejidades de programación en lenguaje maquina, nace el


lenguaje ensamblador (ASM), que es considerado un lenguaje de bajo nivel. Es mas sencillo de
utilizar, pero mantiene cierta dependencia con respecto al tipo de procesador a utilizar. Las
instrucciones del lenguaje maquinan son representadas por mnemotécnicos o símbolos mas
sencillos de comprender, esto permite una fácil asociación con las operaciones básicas que
realiza dicha instrucción. Para la traducción de el lenguaje ensamblador a máquina (código
binario) es necesario un software especializado, son los llamados “programas ensambladores”

Figura 9: Correspondencia lenguaje maquina – ensamblador


Fuente: https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20Microc_Ing%20Electronica.pdf

En la siguiente imagen se puede visualizar gráficamente como se programa en lenguaje


ensamblador y el software también llamados “compiladores”, que pueden traducir lenguajes de
alto nivel a lenguajes ensamblador y maquina, traduce dicho programa ensamblador a código
binario y se carga en el micro en registros que guardan bits en unos y ceros.

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

A pesar de las mejoras en la programación en leguaje ensamblador, sigue teniendo algunas


desventajas con respecto a otras formas de programación, por ejemplo, los programas siguen
siendo extensos y complejos de corregir y depurar errores, las diferentes marcas tienen sus
propios set de instrucciones y el programador tiene que conocer muy bien el hardware del
microprocesador.

4.3 Lenguajes de alto nivel.

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

4.4 Lenguajes de alto nivel “C”.

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

Los microprocesadores y microcontroladores con los años han tenido un


desarrollo muy rápido y cada año se diseñan chips mas rápidos y con
mejores prestaciones ¿cuál será el limite de estas tecnologías?

5.Características técnicas de los microcontroladores y


microprocesadores.

Para seleccionar el microprocesador o microcontrolador adecuado a la aplicación que se


necesita, es necesario tener claro las características técnicas mínimas que debe tener el chip
para un correcto funcionamiento del sistema a diseñar o implementar.
Generalmente a los microprocesadores se les caracteriza por su velocidad, que se entregan en
sus hojas de datos en Hz, hoy en día los procesadores alcanzan velocidades superiores a los
4Ghz, pero esta no es la única característica técnica importante, el funcionamiento de un
sistema computarizado optimo depende de varias características del microprocesador, que
tienen que ver con su arquitectura 8, 16, 32, 64 bits, capacidad memoria cache interna(tareas
repetitivas), juegos de instrucciones y números de núcleos.
20 www.iplacex.cl
Las capacidades de velocidad y complejidad de diseño han variado en el tiempo, en la siguiente
tabla se puede ver un resumen de la evolución de los procesadores Intel.

Tabla 2: Evolución Microprocesadores Intel


Fuente: https://medium.com/@aploopve/microcontroladores-vs-microprocesadores-9e8c7edfb746

4.2 Características Técnicas Microprocesadores

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.

Numero de núcleos: Los diferentes fabricantes y familias de microprocesadores fueron


incorporando en las placas madres un segundo microprocesador, con el fin de aumentar la
velocidad de trabajo, para esto los fabricantes configuran los microprocesadores en paralelo y
así mejoran el rendimiento. En la actualidad podemos encontrar procesadores con mas de 4
núcleos. Es importante aclarar que el utilizar dos núcleos no implica el doble de velocidad,
existen muchos factores que lo impiden, por ejemplo, aplicaciones donde no es posible
aprovechar núcleos en paralelo.
También es muy importante tomar en cuenta las instrucciones por ciclo de reloj que realiza el
microprocesador

5 2 Características Técnicas Microcontroladores.

En el caso de los microcontroladores las características técnicas en cuanto a su arquitectura son


variada en el mercado, esto porque los microcontroladores de 8 bits, no están obsoletas como
en el caso de los procesadores, esto es porque existen muchas aplicaciones pequeñas donde
un microcontrolador de 8 bits puede realizarla a bajo costo, no tiene sentido utilizar de 32 bits
para realizar aplicaciones donde no se va utilizar ni el 10% de la capacidad del microcontrolador.
Es por esto que es muy importante estudiar y planificar muy bien el proyecto, conociendo las
características de los microcontroladores, para seleccionar el mas adecuado.

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.

Precisión de cálculos: En el caso que se necesite mucha precisión en el procesamiento de


ciertos datos, no es recomendable utilizar un microcontrolador de 8 bits, se debe optar por uno
de 16bits, 32bits o uno de coma flotante. En general cuando se requieren grandes espacios de
direccionamiento, una gran velocidad de proceso y procesar datos con longitudes de palabra
mayores a 8bits, se recomienda elegir microcontroladores de 16 o 32 bits.

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:

Arquitectura CISC (Complexa Instrucción Set Computing): Se basa en juego de instrucciones


complejos, como característica los microcontroladores pueden contener un juego de mas de 80
instrucciones y son sofisticadas y potentes. Además, requieren un numero de múltiplos de ciclo
maquina y modos múltiples de direccionamiento.

Arquitectura RISC (Reduced Instruction Set Computer): Se basa en un set de instrucciones


reducido, entre sus características, es que en su set de interrupciones no superan las 120,
reducido modos de direccionamiento y las instrucciones se ejecutan generalmente en un solo
ciclo maquina.

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.

En la siguiente tabla se puede ver las características técnicas generales de los


microcontroladores PIC de la gama PIC16F87X, fabricados por Microchip Technology Inc.

CARACTERÍSTICAS TÉCNICAS PIC16F87X


CPU de arquitectura RISC(Reduced Instruction Set Computer)
Set de 35 instrucciones.
Frecuencia de reloj de hasta 20MHz
Todas las instrucciones se ejecutan en un único ciclo de instrucción, excepto las de
salto
Hasta 8K x 14 palabras de Memoria de Programa FLASH (ver tabla a continuación).

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.

Los microprocesadores y microcontroladores habitan nuestro mundo, en nuestras laptops,


teléfonos celulares, hasta diversos y complejos sistemas de control de variables, temperatura,
presión, humedad, caudal, etc. Dispositivos capaces de cumplir tareas, en base a instrucciones
programadas en su memoria.

En ambas tecnologías estudiamos sus componentes internos básicos, las arquitecturas en


cuales están basados sus funcionamientos, sus diferencias y semejanzas. Abordamos también
algunos de los lenguajes de programación mas utilizados y disponibles para la programación de
estas tecnologías.

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

PLC: automatización y control industrial| Daneri, Pablo A.| E-LIBRO

Termómetros en la instrumentación y control industrial| Escalona M. Iván |E-LIBRO

Morris M. (1993), Arquitectura de Computadoras, Ciudad de México.

Ramírez E. (1986), Introducción a los Microprocesadores.

Valdés F. Pallás R. (2007) Microcontroladores: Fundamentos y Aplicaciones con PIC,


España.

Universidad Nacional Abierta (2009), Modulo Microcontroladores y Microprocesadores,


Chiquinquirá. Recuperado de:
https://repository.unad.edu.co/bitstream/10596/6933/1/M_309696_Microp%20%26%20
Microc_Ing%20Electronica.pdf

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

También podría gustarte