Logo Studenta

Microcontroladores y microprocesadores

¡Este material tiene más páginas!

Vista previa del material en texto

REPÚBLICA BOLIVARIANA DE VENEZUELA 
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA 
Universidad Politécnica de Valencia 
Valencia edo. Carabobo 
 
 
 
 
 
 
Microcontroladores y microprocesadores 
 
 
 
 
 
 
 
 
 
Profesor: Alumno: 
Kenia Hernández. Norbelia Heras 
Unidad curricular: Taller de Sistemas Electrónicos Digitales. 
 
 
Introducción 
Los dispositivos electrónicos llamados Microcontroladores. Los mismos vienen a ser hoy en día un 
componente muy necesario en el desarrollo de nuevas tecnologías en el sector electrónico. Se pueden 
encontrar en casi todo lo que nos rodea desde radio, teléfonos, electrodomésticos, automóviles, etc. Y 
la aplicación del mismo sigue incrementándose día a día solo hay que ser creativo e ingenioso para darle 
cualquier aplicación a este dispositivo que además de ser muy ventajoso resulta muy fácil usarlo, 
además de una extensa gama de información que podemos encontrar en libros, revistas e internet. Otra 
característica de este componente es que siempre está siendo adaptado para realizar tareas específicas 
diferentes. De allí que los estudiantes de ingeniería como para de su desarrollo curricular no deben 
pasar por alto los conocimientos referidos a este importante dispositivo. Un micro procesador es un 
componente de integración en gran escala, controlado por programa, capaz de ejecutar operaciones 
aritméticas y lógicas sobre ciertos datos. La forma de empleo de un microprocesador es la de llevar a 
cabo un sistema donde las funciones lógicas no son realizadas mediante interconexión de una serie de 
circuitos, sino mediante una serie de instrucciones, que conforman el programa, almacenadas en una 
memoria de semiconductor. La flexibilidad del sistema así constituido, frente a los circuitos de lógica 
cableada, es enorme, por cuanto cambiando el programa se modifica la función. Este cambio puede 
hacerse en forma parcial, para adaptarse a nuevas situaciones, o en forma total para realizar nuevas 
operaciones. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Microcontroladores 
Un microcontrolador es un circuito integrado que contiene todos los componentes de un computador. 
Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño, 
suele ir incorporado en el propio dispositivo al que gobierna. Esta última característica es la que le 
confiere la denominación de «controlador incrustado» (embedded controller). Se dice que es “la 
solución en un chip” porque su reducido tamaño minimiza el número de componentes y el costo. El 
microcontrolador es un computador dedicado. En su memoria sólo reside un programa destinado a 
gobernar una aplicación determinada; sus líneas de entrada/salida soportan la conexión de sensores y 
actuadores del dispositivo a controlar. Una vez programado y configurado el microcontrolador 
solamente sirve para gobernar la tarea asignada. 
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte 
de los elementos que configuran un controlador. 
Microprocesador 
El microprocesador en cambio es un circuito integrado que contiene la Unidad Central de Proceso (CPU), 
también llamada procesador de un computador. Al microprocesador se le conecta la Memoria y 
Módulos de E/S para configurar un computador implementado por varios circuitos integrados. 
Un microprocesador es un sistema abierto (configuración variable) con el que puede construirse un 
computador con las características que se desee, acoplándole los módulos necesarios. Un 
microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones 
limitadas que no se pueden modificar. 
Decidirse por construir el sistema con el microprocesador, o utilizar directamente el microcontrolador 
dependerá de la economía. Si el microcontrolador está limitado por su propia CPU, es necesario elegir 
un microprocesador potente y añadir los buffers, drivers, decodificadores, memorias, etc. Generalmente, 
salvo que la aplicación exija grandes prestaciones, el microcontrolador será una solución válida, con la 
ventaja de que reduce el espacio y el hardware. (a) Microcontroladores, (b) Microprocesador 
 
Un microcontrolador dispone normalmente de los siguientes componentes: 
• Procesador o CPU (Unidad Central de Proceso). 
• Memoria RAM para contener los datos. 
• Memoria para el programa tipo ROM/EPROM/EEPROM/Flash. 
• Líneas de E/S para comunicarse con el exterior. 
• Diversos módulos para el control de periféricos (temporizadores, puertos serie y paralelo, CAD: 
Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.). 
• Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. 
Los productos que para su regulación incorporan un microcontrolador disponen de las siguientes 
ventajas: 
• Aumento de prestaciones: un mayor control sobre un determinado elemento representa una mejora 
considerable en el mismo. 
• Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado número de elementos 
disminuye el riesgo de averías y se precisan menos ajustes. 
• Reducción del tamaño en el producto acabado: La integración del microcontrolador en un circuito 
integrado disminuye el volumen, la mano de obra y los stocks. 
• Mayor flexibilidad: las características de control están programadas por lo que su modificación sólo 
necesita cambios en el programa de instrucciones. 
Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo al que gobierna. 
En este caso el controlador recibe el nombre de controlador empotrado (embedded controller). 
 
Estructura 
La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se 
almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema 
de buses único (direcciones, datos y control) mientras que la arquitectura Harvard dispone de dos 
memorias independientes, una que contiene sólo instrucciones y otra sólo datos. Ambas disponen de 
sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o 
escritura) simultáneamente en ambas memorias. 
 
 
Los microcontroladores PIC responden a la arquitectura Harvard. 
 
El procesador 
Es el elemento más importante del microcontrolador y determina sus principales características, tanto a 
nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el código 
OP de la instrucción en curso, su decodificación y la ejecución de la operación que implica la instrucción, 
así como la búsqueda de los operandos y el almacenamiento del resultado. 
Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. 
• CISC: Un gran número de procesadores usados en los microcontroladores están basados en la filosofía 
CISC (Computadores de Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones 
máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos 
ciclos para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al programador 
instrucciones complejas que actúan como macros. 
• RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores están 
decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos 
procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, 
generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el 
hardware y el software del procesador. 
•SISC: Enlos microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, 
además de ser reducido, es "específico", o sea, las instrucciones se adaptan a las necesidades de la 
aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de 
Instrucciones Específico). 
 
Memoria 
En los microcontroladores la memoria de instrucciones y datos está integrada en el propio circuito 
integrado. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones 
que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las 
variables y los datos. 
Hay dos peculiaridades que diferencian a los microcontroladores de los PC's: 
1. No existen sistemas de almacenamiento masivo como disco duro o disquetes. 
2. Como el microcontrolador sólo se destina a una tarea en la memoria de programa, sólo hay que 
almacenar un único programa de trabajo. 
La memoria de datos (RAM) en estos dispositivos es de poca capacidad pues sólo debe contener las 
variables y los cambios de información que se produzcan en el transcurso del programa. Por otra parte, 
como sólo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se 
ejecuta directamente desde la memoria de programa (ROM). 
El usuario de PC está habituados a manejar Megabytes de memoria, pero los diseñadores con 
microcontroladores trabajan con capacidades de memoria de programa de 512 bytes, 1K, 2K (hasta unos 
64K) y de RAM de 20 bytes, 68 bytes, 512 bytes (hasta unos 4K). 
Según el tipo de memoria de programa que dispongan los microcontroladores, la aplicación y utilización 
de los mismos es diferente. Se describen las cinco versiones de memoria no volátil que se pueden 
encontrar en los microcontroladores del mercado: 
1º. ROM con máscara 
Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la fabricación del chip. 
Máscara viene de la forma cómo se fabrican los circuitos integrados. Estos se fabrican en obleas que 
contienen varias decenas de chips. Estas obleas se obtienen a partir de procesos fotoquímicos, donde se 
impregnan capas de silicio y oxido de silicio, y según convenga, se erosionan al exponerlos a la luz. Como 
no todos los puntos han de ser erosionados, se sitúa entre la luz y la oblea una máscara con agujeros, de 
manera que donde deba incidir la luz, esta pasará. Con varios procesos similares pero más complicados 
se consigue fabricar los transistores y diodos que componen un circuito integrado. 
El elevado coste del diseño de la máscara sólo hace aconsejable el empleo de los microcontroladores 
con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. 
 
2ª. OTP 
El microcontrolador contiene una memoria no volátil de sólo lectura "programable una sola vez" por el 
usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip 
mediante un sencillo grabador controlado por un programa desde un PC. La versión OTP es 
recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la construcción de 
prototipos y series muy pequeñas. 
Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptación mediante fusibles para 
proteger el código contenido. 
3ª EPROM 
Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) 
pueden borrarse y grabarse muchas veces. La grabación se realiza, como en el caso de los OTP, con un 
grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una 
ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios 
minutos. Las cápsulas son de material cerámico y son más caros que los microcontroladores con 
memoria OTP que están hechos con material plástico. Hoy día se utilizan poco, siendo sustituidas por 
memorias EEPROM o Flash. 
4ª EEPROM 
Se trata de memorias de sólo lectura, programables y borrables eléctricamente EEPROM (Electrical 
Erasable Programmable Read OnIy Memory). Tanto la programación como el borrado, se realizan 
eléctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cómoda y 
rápida la operación de grabado y la de borrado. No disponen de ventana de cristal en la superficie. 
Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse 
y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan "grabadores en 
circuito" que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el 
programa de trabajo. 
El número de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es 
recomendable una reprogramación continua. Hoy día están siendo sustituidas por memorias de tipo 
Flash. 
Se va extendiendo en los fabricantes la tendencia de incluir una pequeña zona de memoria EEPROM en 
los circuitos programables para guardar y modificar cómodamente una serie de parámetros que 
adecuan el dispositivo a las condiciones del entorno. 
Este tipo de memoria es relativamente lenta. 
 
5ª FLASH 
Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar. Funciona como 
una ROM y una RAM pero consume menos y es más pequeña. A diferencia de la ROM, la memoria 
FLASH es programable en el circuito. 
Es más rápida y de mayor densidad que la EEPROM. 
La alternativa FLASH está recomendada frente a la EEPROM cuando se precisa gran cantidad de 
memoria de programa no volátil. Es más veloz y tolera más ciclos de escritura/borrado. Son idóneas para 
la enseñanza y la Ingeniería de diseño. 
Las memorias EEPROM y FLASH son muy útiles al permitir que los microcontroladores que las 
incorporan puedan ser reprogramados "en circuito", es decir, sin tener que sacar el circuito integrado de 
la tarjeta. Así, un dispositivo con este tipo de memoria incorporado al control del motor de un automóvil 
permite que pueda modificarse el programa durante la rutina de mantenimiento periódico, 
compensando los desgastes y otros factores tales como la compresión, la instalación de nuevas piezas, 
etc. La reprogramación del microcontrolador puede convertirse en una labor rutinaria dentro de la 
puesta a punto. 
Puertos de Entrada y Salida 
La principal utilidad de las patillas que posee la cápsula que contiene un microcontrolador es soportar 
las líneas de E/S que comunican al computador interno con los periféricos exteriores y según los 
controladores de periféricos que posea cada modelo de microcontrolador, se destinan a proporcionar el 
soporte a las señales de entrada, salida y control. 
Todos los microcontroladores destinan algunas de sus patillas a soportar líneas de E/S de tipo digital, 
esto es, todo o nada. Por lo general, estas líneas se agrupan de ocho en ocho formando Puertos. Las 
líneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1 ó un 0 en 
el bit correspondiente de un registro destinado a su configuración. 
Reloj principal 
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta 
frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las operaciones del 
sistema. Esta señal del reloj es el motor del sistema y la que hace que el programa y los contadores 
avancen. 
Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan unos 
pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos 
componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador 
cerámico o una red R-C. 
Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero 
lleva aparejado un incremento del consumo de energía y de calor generado. 
 
Recursos especialesCada fabricante oferta numerosas versiones de una arquitectura básica de microcontrolador. En algunas 
amplía las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las 
prestaciones al mínimo para aplicaciones muy simples, etc. La labor del diseñador es encontrar el 
modelo mínimo que satisfaga todos los requerimientos de su aplicación. De esta forma, minimizará el 
coste, el hardware y el software. 
Los principales recursos específicos que incorporan los microcontroladores son: 
• Temporizadores o "Timers". 
• Perro guardián o "Watchdog". 
• Protección ante fallo de alimentación o "Brownout". 
• Estado de reposo o de bajo consumo. 
• Conversor A/D. 
• Conversor D/A. 
• Comparador analógico. 
• Modulador de anchura de impulsos o PWM. 
• Puertos de comunicación. 
Temporizadores o "Timers" 
Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de 
acontecimientos que suceden en el exterior (contadores). 
Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor se va 
incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta que se 
desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar 
acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patillas del 
microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos 
impulsos. 
Perro guardián o "Watchdog" 
Cuando un ordenador personal se bloquea por un fallo del software u otra causa, se pulsa el botón del 
reset y se reinicializa el sistema. 
En la mayoría de los casos y a diferencia de un ordenador personal, un microcontrolador funciona sin el 
control de un supervisor y de forma continuada las 24 horas del día y 365 días al año. El Perro guardián 
consiste en un temporizador que, cuando se desborda y pasa por 0, provoca un reset automáticamente 
en el sistema. 
 debe diseñar el programa de trabajo que controla la tarea de forma que refresque o inicialice al Perro 
guardián antes de que provoque el reset. Si falla el programa o se bloquea, el programa no refrescará al 
Perro guardián y, al completar su temporización, provocará el reset del sistema. 
Protección ante fallo de alimentación o "Brownout" 
Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentación (VDD) es 
inferior a un voltaje mínimo ("brownout"). Mientras el voltaje de alimentación sea inferior al de 
brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando 
sobrepasa dicho valor. Esto es muy útil para evitar datos erróneos por transiciones y ruidos en la línea 
de alimentación. 
Estado de reposo ó de bajo consumo 
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer 
nada, a que se produzca algún acontecimiento externo que le ponga de nuevo en funcionamiento. Para 
ahorrar energía, (factor clave en los aparatos portátiles), los microcontroladores disponen de una 
instrucción especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual 
los requerimientos de potencia son mínimos. En dicho estado se detiene el reloj principal y se 
"congelan" sus circuitos asociados, quedando sumido en un profundo "sueño" el microcontrolador. Al 
activarse una interrupción ocasionada por el acontecimiento esperado, el microcontrolador se despierta 
y reanuda su trabajo. Para hacernos una idea, esta función es parecida a la opción de Suspender en el 
menú para apagar el equipo (en aquellos PCs con administración avanzada de energía). 
Conversor A/D (CAD) 
Los microcontroladores que incorporan un Conversor A/D (Analógico/Digital) pueden procesar señales 
analógicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a 
la entrada del CAD diversas señales analógicas desde las patillas del circuito integrado. 
Conversor D/A (CDA) 
Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente 
señal analógica que saca al exterior por una de las patillas de la cápsula. Existen muchos dispositivos de 
salida que trabajan con señales analógicas. 
 
Comparador analógico 
Algunos modelos de microcontroladores disponen internamente de un 
Amplificador Operacional que actúa como comparador entre una señal fija de referencia y otra variable 
que se aplica por una de las patillas de la cápsula. La salida del comparador proporciona un nivel lógico 1 
ó 0 según una señal sea mayor o menor que la otra. 
También hay modelos de microcontroladores con un módulo de tensión de referencia que proporciona 
diversas tensiones de referencia que se pueden aplicar en los comparadores. 
Modulador de anchura de impulsos o PWM 
Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al exterior a 
través de las patillas del encapsulado. Resulta util para sistemas de control de potencia, como por 
ejemplo motores. 
Puertos de comunicación 
Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos 
externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con 
otros elementos bajo otras normas y protocolos. Algunos modelos disponen de recursos que permiten 
directamente esta tarea, entre los que destacan: 
• UART, adaptador de comunicación serie asíncrona. 
• USART, adaptador de comunicación serie síncrona y asíncrona 
• Puerto paralelo esclavo para poder conectarse con los buses de otros microprocesadores. 
• USB (Universal Serial Bus), el conocido bus serie para los PC. 
• Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips. 
• Interface SPI, un puerto serie síncrono. 
• CAN (Controller Area Network), para permitir la adaptación con redes de conexionado multiplexado 
desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automóviles. En EE.UU. 
se usa el J185O. 
• TCP/IP, ya existen microcontroladores con un adaptador de comunicación para este protocolo. 
 el I^2C en televisores, como el Bus CAN en automóviles, fueron diseñados para simplificar la circuitería 
que supone un bus paralelo de 8 líneas dentro de un televisor, así como para librar de la carga que 
supone una cantidad ingente de cables en un vehículo. 
 
CONDICIONES DE PROGRAMACION 
Las herramientas de desarrollo están formadas por un conjunto de programas e interfaces que permiten 
realizar los proyectos de la forma más eficiente posible. 
Las principales herramientas de ayuda al desarrollo de sistemas basados en microcontroladores se 
describen a continuación 
Ensamblador. La programación en lenguaje ensamblador puede resultar un tanto ardua para el 
principiante, pero permite desarrollar programas muy eficientes, ya que otorga al programador el 
dominio absoluto del sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma 
gratuita y en cualquier caso siempre se puede encontrar una versión gratuita para los 
microcontroladores más populares. 
Compilador. La programación en un lenguaje de alto nivel (como C o Basic) permite disminuir el tiempo 
de desarrollo de un producto y si además está familiarizado con C o Basic es una buena opción. No 
obstante, cuando el compilador convierta el código del programa a un lenguaje ensamblado, cada línea 
de código del programa en lenguaje de alto nivel habrá generado bastantes más líneas de código en 
lenguaje ensamblador, normalmente en una relación de uno a tres. Esto significa que para utilizar un 
lenguaje de alto nivel necesitaremos un microcontrolador con una capacidad de memoria relativamente 
grande. 
Si el programa que estamos desarrollando necesita utilizar números con decimales, o con notación 
científica o se utilizan operaciones complejas, como pueden ser las trigonométricas, es casi obligado 
utilizarun lenguaje de alto nivel. Pero si lo que se va a hacer es manipular bits en registros, entradas, 
salidas y cálculos sencillos, el lenguaje ensamblado es la mejor opción. 
Las versiones más potentes de compiladores suelen ser muy caras, aunque para los microcontroladores 
más populares pueden encontrarse versiones demo limitadas e incluso compiladores gratuitos. 
Como compilador gratuito puede utilizarse el compilador C GNU, que es un compilador C de código 
abierto tan bueno como los compiladores C comerciales pero que sin embargo tiene un proceso de 
instalación que no es sencillo. Además hay que comprobar que arquitecturas de microcontrolador 
soporta. Algunas de las cuales son MSP430 de TI, AVR de Atmel y HC11 de Motorola, (ver www.gnu.org 
y www.fsf.org). También puede conseguirse un compilador C GNU en binario ya construido. Por ejemplo 
para la arquitectura ARM puede conseguirse un compilador C GNU binario para win32 desde 
www.gnuarm.com, que trabaja con línea de comandos e incluye un depurador de código. Para obtener 
un entorno de desarrollo (IDE) para windows que pueda utilizarse con el conjunto de herramientas GNU 
puede utilizarse la aplicación VIDE, que puede conseguirse en www.objectcentral.com/vide.htm. 
Simulador. Se trata de software que es capaz de ejecutar en un PC programas realizados para el 
microcontrolador. Los simuladores permiten tener un control absoluto sobre la ejecución de un 
programa, siendo ideales para la depuración de los mismos. Su gran inconveniente es que es difícil 
simular la entrada y salida de datos del microcontrolador. Tampoco cuentan con los posibles ruidos en 
las entradas, pero, al menos, permiten el paso físico de la implementación de un modo más seguro y 
menos costoso, puesto que ahorraremos en grabaciones de chips para la prueba in-situ. 
Placas de evaluación. Se trata de pequeños sistemas con un microcontrolador ya montado y que suelen 
conectarse a un PC desde el que se cargan los programas que se ejecutan en el microcontrolador. Las 
placas suelen incluir visualizadores LCD, teclados, LEDs, fácil acceso a los pines de E/S, etc. Pueden 
incluir un programa de control o sistema operativo que recibe el nombre de programa monitor. El 
programa monitor de algunas placas de evaluación, aparte de permitir cargar programas y datos en la 
memoria del microcontrolador, puede permitir en cualquier momento realizar ejecución paso a paso, 
monitorizar el estado del microcontrolador o modificar los valores almacenados los registros o en la 
memoria. 
Emuladores en circuito. Se trata de un instrumento que se coloca entre el PC anfitrión y el zócalo de la 
tarjeta de circuito impreso donde se alojará el microcontrolador definitivo. El programa es ejecutado 
desde el PC, pero para la placa de la aplicación es como si lo hiciese el mismo microcontrolador que 
luego irá en el zócalo. Presenta en pantalla toda la información tal y como luego sucederá cuando se 
coloque la cápsula. 
Programador. Es un dispositivo que conectado a un PC permite grabar en el microcontrolador el 
programa desarrollado. Algunos puede fabricarlos uno mismo (ver Programador PIC y EEPROM JDM y 
Programador JDMD) y resultan muy económicos. También existe software gratuito para programar no 
ya solo microcontroladores sino también otros dispositivos, como memorias. (ver Programación de PIC 
con ic-prog). Actualmente se tiende a realizar la programación en la propia placa de utilización mediante 
ISP, In System 
Programmation o ICSP, In Circuit Serial Programation. De esta manera se puede programar al 
microcontrolador una vez esté montado en la placa del circuito utilizando una conexión de dos, tres o 
cuatro terminales. Para utilizar esta técnica se utiliza un programador que suele ser muy sencillo y que 
en algunos casos puede construir uno mismo. 
Otra posibilidad es utilizar un "cargador de arranque", muy util en la etapa de desarrollo de un programa. 
Un cargador de arranque es un pequeño programa en el microcontrolador que está montado en la placa 
del circuito que se está desarrollando y que puede comunicarse con las herramientas de desarrollo (que 
se van a utilizar para escribir el código del programa de la aplicación) a través de un enlace serie, como 
puede ser RS232, USB, I2C o un bus CAN. 
El programa cargador de arranque debe interpretar comandos para leer, grabar y borrar la parte de 
memoria reservada para el programa de la aplicación. Cuando se desea verificar el programa que se está 
desarrollando se inicia la comunicación con el programa cargador de arranque, que carga el código de 
programa en la memoria de programa del microcontrolador. 
Después el programa cargador de arranque transfiere el control al programa cargado y entonces se 
puede ejecutar y verificar el programa cargado. Esta operación de carga y prueba puede realizarse 
tantas veces como sea necesario. 
Los requerimientos que tiene que cumplir el microcontrolador a utilizar son: 
• Suficiente memoria de programa para alojar tanto el cargador de arranque como el programa en 
desarrollo. 
• Que el microcontrolador permita que pueda modificarse la memoria de programa por si mismo. 
• Un puerto serie para la comunicación. 
Por ejemplo, el microcontrolador LPC210x de la casa Philips incluye un cargador de arranque serie 
integrado que está ubicado en los 8 K primeros de su memoria Flash. Estándo el terminal P0.14 a masa y 
generándo un reset el LPC210x ejecuta el programa cargador de arranque. Utilizándo un programa para 
PC gratuito de la casa Philips y un cable serie conectado entre el PC y la UART del microcontrolador 
LPC210x (a través de un conversor TTL/RS232 como el c.i. MAX232) se puede realizar la programación 
del microcontrolador. 
También resulta interesante el interface JTAG (que por ejemplo posee el microcontrolador LPC210x), 
que puede utilizarse para programar el dispositivo y para depurar un programa durante su ejecución en 
el microcontrolador. Para utilizar el interface JTAG se necesita un módulo interfaz de depuración JTAG 
que se conecta con entre el sistema de desarrollo del microcontrolador y el PC que lo aloja. En el 
mercado existen distintos módulos interfaces JTAG comerciales pero también se pueden encontrar otros 
en Internet. 
Paquetes IDE 
Actualmente existen paquetes de software denominados "Entornos de Desarrollo Integrado", IDE, que 
suelen funcionar bajo Windows y que incluyen editores de texto para el ensamblador o el compilador, 
permiten la simulación del programa y también pueden integrar el control de emuladores y 
programadores de dispositivos. Ejemplos de estos entornos de desarrollo son 
MPLAB de Microchip (ver MPLAB-IDE v6.60) que permite programar en lenguaje ensamblado y PCWH de 
la casa CCS que incluye un compilador C para los microcontroladores PIC de Microchip. MPLAB es 
gratuito y muy bueno, incluye un editor, un ensamblador y un simulador y también puede trabajar con 
compiladores y emuladores de otros fabricantes. 
Las herramientas descritas anteriormente trabajan intimamente, si graficamos la forma como se 
relacionan podriamos expresar la idea a través del siguiente diagrama: 
 
 
Una vez identificado el problema planteamos la solución a través de un algoritmo de allí en un diagrama 
de flujo, el diagrama de flujo se puede codificar en cualquier lenguaje de programación de allí que 
presentamos dos caminos o en ensamblador o en C, si elejimos el C es necesario compilar el código para 
obtener el equivalente en ASM. Una vez en ASM procedemos a ensamblar y simular. Si todo esta sin 
problemas procedemos a grabar el programa. El MPLAB genera un archivo HEX que puede ser leído por 
el NOPPP o el ICD que es el que a su vez graba el programa dentro del microcontrolador. Con el ICD 
verificamos el correcto funcionamiento del programa si encontramos algún problema procedemos a 
depurar el error. 
La Arquitectura Harvard y sus Ventajas 
La arquitectura conocida como Harvard,consiste simplemente en un esquema en el que el CPU está 
conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene 
solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo 
almacena los datos y es llamada Memoria de Datos (ver figura 4). Ambos buses son totalmente 
independientes y pueden ser de distintos anchos. 
Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set 
de instrucciones y el bus de la memoria de programa pueden diseñarse de manera tal que todas las 
instrucciones ocupen una sola posición de memoria. Además, como los buses son independientes, el 
CPU puede estar accediendo a los datos para completar la ejecución de una instrucción, y al mismo 
tiempo estar leyendo la próxima instrucción a ejecutar. Se puede observar claramente que las 
principales ventajas de esta arquitectura son: 
• Que el tamaño de las instrucciones no está relacionado con el de los datos, y por lo tanto puede ser 
optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando 
así mayor velocidad y menor longitud de programa, 
• Que el tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una 
mayor velocidad de operación. 
Una pequeña desventaja de los procesadores con arquitectura Harvard, es que deben poseer 
instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en 
los programas, ya que estas tablas se encontrarán físicamente en la memoria de programa (por ejemplo 
en la EPROM de un microprocesador). 
El Camino de los Datos 
La figura (a) representa un diagrama simplificado de la arquitectura interna del camino de los datos en el 
CPU de los microcontroladores PIC. Este diagrama puede no representar con exactitud el circuito 
interno de estos microcontroladores, pero es exacto y claro desde la óptica del programador. 
La figura (b) representa el mismo diagrama para un microprocesador ficticio de arquitectura tradicional. 
Se puede observar que la principal diferencia entre ambos radica en la ubicación del registro de trabajo, 
que para los PIC’s se denomina W (Working Register), y para los tradicionales es el A (Acumulador). 
 
(El camino de los datos para las distintas arquitecturas.) 
Se puede decir que el uso de una u otra tecnología depende del fin que se espera, pues debido a sus 
características propias, los microcontroladores y los microprocesadores pueden adquirir variados y 
diferentes espacios de implementación, por ejemplo, los microprocesadores se han desarrollado 
fundamentalmente orientados al mercado de los ordenadores personales y las estaciones de trabajo, 
pues allí se requiere una elevada potencia de cálculo, el manejo de gran cantidad de memoria y una 
gran velocidad de procesamiento. Mientras que los microcontroladores están concebidos 
fundamentalmente para ser utilizados en aplicaciones puntuales, es decir, aplicaciones donde el 
microcontrolador debe realizar un pequeño número de tareas, al menos costo posible. En estas 
aplicaciones el microcontrolador ejecuta un programa almacenado permanentemente en su memoria, 
el cual trabaja con algunos datos almacenados temporalmente e interactúa con el exterior a través de 
las líneas de entrada y salida de que dispone. 
 
 
 
A)Microprocesadoresn vs B) Microcontroladores 
CPU 
A)El microcontrolador es igual de bruto que un micro, por lo cual solamente realiza sus funciones con lo 
que tiene (datos) y su algoritmo o programa establecida. 
B) una de sus funciones principales, la cual se encarga de dirigir sus operaciones. 
Memorias RAM y ROM 
A)Son dispositivos externos que lo complementan para su óptimo funcionamiento. 
B)Las incluye en un solo circuito integrado. 
Velocidad de Operación 
A) Rápida 
B)Lenta en comparación con la de un microprocesador 
Tamaño 
A)La configuración mínima básica de un Microprocesador está constituida por un Micro de 40 Pines, Una 
memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 Pines, 
lo cual lo convierte en un circuito bastante engorroso. 
B)El Microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo que implica una 
gran ventaja en varios factores, como por ejemplo, la disminución en el tamaño del circuito impreso por 
la reducción de los circuitos externos. 
Costos 
A)Para el Microprocesador, el costo es muy alto en la actualidad. 
B)El costo para un sistema basado en Microcontrolador es mucho menor. 
Interferencias 
A)Son más susceptibles a la interferencia electromagnética debido a su tamaño y a su cableado externo 
que lo hace más propenso al ruido. 
B) alto nivel de integración reduce los niveles de interferencia electromagnética 
Tiempo de desarrollo 
A)el tiempo de desarrollo de un microprocesador es lento. 
B)Por el contrario, el de un microcontrolador es rápido. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Conclusión 
Basados en los diferentes conceptos que se vieron en este trabajo podemos decir que un 
microcontrolador es un circuito integrado que contiene todos los componentes de un computador y se 
emplea para el funcionamiento de una tarea determinada y, debido a su reducido tamaño, suele ir 
incorporado en el propio dispositivo al que gobierna. También podemos decir que dentro de los 
componentes que integra un microcontrolador se encuentra el procesador, la memoria para programa y 
datos, periféricos de entrada / salida, conversores de AD y DA, módulos especializados en la transmisión 
y recepción de datos). Aunque inicialmente todos los microcontroladores adoptaron la arquitectura 
clásica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de 
von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e 
instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único 
(direcciones, datos y control) mientras que la arquitectura Harvard dispone de dos memorias 
independientes, una que contiene sólo instrucciones y otra sólo datos. Ambas disponen de sus 
respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) 
simultáneamente en ambas memoria. Podemos decir también que las instrucciones pueden variar de 
acuerdo a la arquitectura y su funcionalidad de los procesadores actuales de los cuales se mencionaron: 
CISC (Computadores de Juegos de Instrucciones Complejas), RISC (Computadores de Juegos de 
Instrucciones Reducidas), SISC (Computadores de Juegos de Instrucciones Específicas). También se 
mencionó algunas de las diferentes áreas de aplicación de los microcontroladores entre las cuales se 
encuentran: La industria automotriz, la industria de aparatos electrodomésticos, la industria domótica, 
la industria informática, el área de instrumentación y control, el área de la electromedicina, la industria 
robótica, los sistemas de comunicaciones, la industria en general, etc. Igualmente en el aspecto de la 
programación se pudo ver que estos dispositivos se pueden programar con lenguaje de bajo nivel 
(Lenguaje ensamblador) y lenguaje de alto nivel (C, Basic, Por esquemas o diagramas de flujos, etc). Y 
como se pudo leer las ventajas del microcontrolador son varias podemos mencionar alguna tales como 
que incluye todo en un solo circuito integrado, el costo para un sistema basado en Microcontrolador es 
mucho menor, el alto nivel de integración reduce los niveles de interferencia electromagnética, el 
tiempo de desarrollo es rápido, bajo consumo, el diseño de la placa es sencillo al tener mayor escala de 
integración, las herramientas de desarrollo son muy asequibles y hay fácil disponibilidad en el mercado. 
Dentro de las desventajas podemos mencionar la velocidad de operación es lenta en comparación con lade un microprocesador.

Continuar navegando