Está en la página 1de 39

Ingeniera de microcontroladores

En la actualidad los microcontroladores se encuentran por doquier. En cada


una de nuestras casas podemos encontrar entre 10 y 50 microcontroladores y
todos ellos son pequeas computadoras totalmente funcionales ubicadas en el
interior de aparatos como los hornos de microondas, maquinas lavadoras,
televisores, reproductores de DVD, estreos, reproductores porttiles de
msica, consolas de videojuegos y automviles entre otros. Tal es la flexibilidad
de estos componentes y la cantidad de informacin disponible para
aprovecharlos que podramos continuar la lista anterior sin parar.

El mundo entero les ha dado una infinidad de aplicaciones, restringidas


nicamente por lo que an no hemos imaginado.

Los microcontroladores tienen una particularidad que los hace muy especiales
entre los componentes de un sistema electrnico y es el hecho de que se
puede aprender muchsimo de microcontroladores sin tener conocimientos de
electrnica, puedes ser un experto con unos conocimientos en principios
bsicos de la electrnica que se pueden aprender en doce horas y sumados a
comprender un buen lenguaje de programacin que puede ser grafico
(mediante diagramas de flujo) o utilizando cdigo escrito (como el basic o el
"c") vas a poder construir los circuitos ms sorprendentes y desarrollar
habilidades para la robtica, automatizacin y mandos a distancia.

En resumen el microcontrolador es la forma ms sencilla de hacer ingeniera;


resolver un problema ingeniando un programa que seguir un microcontrolador.
A las anteriores ventajas de los microcontroladores se suman la fcil
adquisicin en el mercado y la gran cantidad de software que existe para
programar tanto freeware como comercial.

Qu es un microcontrolador?

Un microcontrolador (abreviado C, UC o MCU)

es

un

circuito

integrado programable, capaz de ejecutar las rdenes grabadas en su


memoria.

Est compuesto de varios bloques funcionales, los cuales cumplen una tarea
especfica. Un microcontrolador incluye en su interior las tres principales
unidades

funcionales

de

una computadora: unidad

central

de

procesamiento, memoria y perifricos de entrada/salida.

Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan


a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de
baja potencia (mW o microvatios). Por lo general, tendr la capacidad de
mantenerse a la espera de un evento como pulsar un botn o de otra
interrupcin; as, el consumo de energa durante el estado de reposo (reloj de
la CPU y los perifricos de la mayora) puede ser slo de nanovatios, lo que
hace que muchos de ellos sean muy adecuados para aplicaciones con batera
de larga duracin. Otros microcontroladores pueden servir para roles de
rendimiento crtico, donde sea necesario actuar ms como un procesador
digital de seal (DSP), con velocidades de reloj y consumo de energa ms
altos.

Cuando es fabricado el microcontrolador, no contiene datos en la memoria


ROM. Para que pueda controlar algn proceso es necesario generar o crear y
luego grabar en la EEPROM o equivalente del microcontrolador algn
programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje
para microcontroladores; sin embargo, para que el programa pueda ser

grabado en la memoria del microcontrolador, debe ser codificado en sistema


numrico hexadecimal que es finalmente el sistema que hace trabajar al
microcontrolador cuando ste es alimentado con el voltaje adecuado y
asociado a dispositivos analgicos y discretos para su funcionamiento.

Historia

El primer microprocesador fue el Intel 4004 de 4 bits, lanzado en 1971, seguido


por el Intel 8008 y otros ms capaces. Sin embargo, ambos procesadores
requieren circuitos adicionales para implementar un sistema de trabajo,
elevando el costo del sistema total.

El Instituto Smithsoniano dice que los ingenieros de Texas Instruments Gary


Boone y Michael Cochran lograron crear el primer microcontrolador, TMS 1000,
en 1971; fue comercializado en 1974. Combina memoria ROM, memoria
RAM, microprocesador y reloj en un chip y estaba destinada a los sistemas
embebidos.

Debido en parte a la existencia del TMS 1000,3 Intel desarroll un sistema de


ordenador en un chip optimizado para aplicaciones de control, el Intel 8048,
que comenz a comercializarse en 1977.3 Combina memoria RAM y ROM en
el mismo chip y puede encontrarse en ms de mil millones de teclados
de compatible IBM PC, y otras numerosas aplicaciones. El en ese momento
presidente de Intel, Luke J. Valenter, declar que el microcontrolador es uno de
los productos ms exitosos en la historia de la compaa, y ampli el
presupuesto de la divisin en ms del 25%.

La mayora de los microcontroladores en aquel momento tenan dos variantes.


Unos tenan una memoria EPROM reprogramable, significativamente ms
caros que la variantePROM que era slo una vez programable. Para borrar la
EPROM necesita exponer a la luz ultravioleta la tapa de cuarzo transparente.
Los chips con todo opaco representaban un coste menor.

En

1993,

el

lanzamiento

de

la EEPROM en

los

microcontroladores

(comenzando con el Microchip PIC16x84)4 permite borrarla elctrica y


rpidamente sin necesidad de un paquete costoso como se requiere
en EPROM, lo que permite tanto la creacin rpida de prototipos y
la programacin en el sistema. El mismo ao, Atmel lanza el primer
microcontrolador que utiliza memoria flash.5 Otras compaas rpidamente
siguieron el ejemplo, con los dos tipos de memoria.

El costo se ha desplomado en el tiempo, con el ms barato microcontrolador de


8 bits disponible por menos de 0,25 dlares para miles de unidades en 2009, y
algunos microcontroladores de 32 bits a 1 dlar por cantidades similares. En la
actualidad los microcontroladores son baratos y fcilmente disponibles para los
aficionados, con grandes comunidades en lnea para ciertos procesadores.

En el futuro, la MRAM podra ser utilizada en microcontroladores, ya que tiene


resistencia infinita y el coste de su oblea semiconductora es relativamente bajo.

Caractersticas

Esquema de un microcontrolador. En esta figura, vemos al microcontrolador


metido dentro de un encapsulado de circuito integrado, con su procesador

(CPU), buses, memoria, perifricos y puertos deentrada/salida. Fuera del


encapsulado se ubican otros circuitos para completar perifricos internos y
dispositivos que pueden conectarse a los pines de entrada/salida. Tambin se
conectarn a los pines del encapsulado la alimentacin, masa, circuito de
completamiento del oscilador y otros circuitos necesarios para que el
microcontrolador pueda trabajar.

Los microcontroladores estn diseados para reducir el costo econmico y el


consumo de energa de un sistema en particular. Por eso el tamao de
la unidad central de procesamiento, la cantidad de memoria y los perifricos
incluidos dependern de la aplicacin. El control de un electrodomstico
sencillo como una batidora utilizar un procesador muy pequeo (4 u 8 bits)
porque sustituir a un autmata finito.
En cambio, un reproductor de msica y/o vdeo digital (MP3 o MP4) requerir
de un procesador de 32 bits o de 64 bits y de uno o ms cdecs de seal
digital (audio y/o vdeo). El control de un sistema de frenos ABS (Antilock Brake
System) se basa normalmente en un microcontrolador de 16 bits, al igual que el
sistema de control electrnico del motor en un automvil.

Los microcontroladores representan la inmensa mayora de los chips de


computadoras vendidos, sobre un 50% son controladores "simples" y el
restante corresponde a DSP ms especializados. Mientras se pueden tener
uno o dos microprocesadores de propsito general en casa (Ud. est usando
uno

para

esto),

usted

tiene

distribuidos

seguramente

entre

los

electrodomsticos de su hogar una o dos docenas de microcontroladores.

Pueden

encontrarse

en

casi

cualquier

dispositivo

como automviles,lavadoras, hornos microondas, telfonos, etc.

electrnico

Un microcontrolador difiere de una unidad central de procesamiento normal,


debido a que es ms fcil convertirla en una computadora en funcionamiento,
con un mnimo de circuitos integrados externos de apoyo. La idea es que el
circuito integrado se coloque en el dispositivo, enganchado a la fuente de
energa y de informacin que necesite, y eso es todo. Un microprocesador
tradicional no le permitir hacer esto, ya que espera que todas estas tareas
sean manejadas por otros chips. Hay que agregarle los mdulos de entrada y
salida (puertos) y la memoria para almacenamiento de informacin.

Un microcontrolador tpico tendr un generador de reloj integrado y una


pequea

cantidad

de memoria

de

acceso

aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo funcionar


todo lo que se necesita son unos pocos programas de control y un cristal de
sincronizacin. Los microcontroladores disponen generalmente tambin de una
gran variedad de dispositivos de entrada/salida, como convertidor analgico
digital, temporizadores, UARTs y buses de interfaz serie especializados,
como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser
controlados por instrucciones de procesadores especializados. Los modernos
microcontroladores frecuentemente incluyen un lenguaje de programacin
integrado, como el lenguaje de programacin BASIC que se utiliza bastante
con este propsito.

Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su


uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad,
como

los dispositivos

de

entrada/salida o

la memoria que

microcontrolador, se ha de prescindir de cualquier otra circuitera.

Arquitecturas de computadora

incluye

el

Bsicamente existen dos arquitecturas de computadoras, y por supuesto, estn


presentes en el mundo de los microcontroladores: Von Neumann y Harvard.
Ambas se diferencian en la forma de conexin de la memoria al procesador y
en los buses que cada una necesita.

Arquitectura Von Neumann

La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento


tanto para las instrucciones como para los datos, siendo la que se utiliza en
un ordenador personalporque permite ahorrar una buena cantidad de lneas de
E/S, que son bastante costosas, sobre todo para aquellos sistemas donde el
procesador se monta en algn tipo dezcalo alojado en una placa madre.
Tambin esta organizacin les ahorra a los diseadores de placas madre una
buena cantidad de problemas y reduce el costo de este tipo de sistemas.

En un ordenador personal, cuando se carga un programa en memoria, a ste


se le asigna un espacio de direcciones de la memoria que se divide en
segmentos, de los cuales tpicamente tenderemos los siguientes: cdigo
(programa), datos y pila. Es por ello que podemos hablar de la memoria como
un todo, aunque existan distintos dispositivos fsicos en el sistema (disco
duro, memoria RAM, memoria flash, unidad de disco ptico...).

En el caso de los microcontroladores, existen dos tipos de memoria bien


definidas: memoria de datos (tpicamente algn tipo de SRAM) y memoria de
programas (ROM, PROM, EEPROM, flash u de otro tipo no voltil). En este
caso la organizacin es distinta a las del ordenador personal, porque hay
circuitos distintos para cada memoria y normalmente no se utilizan los registros

de segmentos, sino que la memoria est segregada y el acceso a cada tipo de


memoria depende de las instrucciones del procesador.

A pesar de que en los sistemas integrados con arquitectura Von Neumann la


memoria est segregada, y existan diferencias con respecto a la definicin
tradicional de esta arquitectura; los buses para acceder a ambos tipos de
memoria son los mismos, del procesador solamente salen el bus de datos, el
de direcciones, y el de control. Como conclusin, la arquitectura no ha sido
alterada, porque la forma en que se conecta la memoria al procesador sigue el
mismo principio definido en la arquitectura bsica.

Algunas familias de microcontroladores como la Intel 8051 y la Z80


implementan este tipo de arquitectura, fundamentalmente porque era la
utilizada cuando aparecieron los primeros microcontroladores.

Arquitectura Harvard

La otra variante es la arquitectura Harvard, y por excelencia la utilizada en


supercomputadoras, en los microcontroladores, y sistemas integrados en
general. En este caso, adems de la memoria, el procesador tiene los buses
segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de
direcciones y uno de control.

La ventaja fundamental de esta arquitectura es que permite adecuar el tamao


de los buses a las caractersticas de cada tipo de memoria; adems, el
procesador puede acceder a cada una de ellas de forma simultnea, lo que se
traduce en un aumento significativo de la velocidad de procesamiento.

Tpicamente los sistemas con esta arquitectura pueden ser dos veces ms
rpidos que sistemas similares con arquitectura Von Neumann.

La desventaja est en que consume muchas lneas de E/S del procesador; por
lo que en sistemas donde el procesador est ubicado en su propio
encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los
microcontroladores y otros sistemas integrados, donde usualmente la memoria
de datos y programas comparten el mismo encapsulado que el procesador,
este inconveniente deja de ser un problema serio y es por ello que
encontramos la arquitectura Harvard en la mayora de los microcontroladores.

Por eso es importante recordar que un microcontrolador se puede configurar de


diferentes maneras, siempre y cuando se respete el tamao de memoria que
este requiera para su correcto funcionamiento.

En resumen
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura
clsica 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 travs de un sistema de buses nico
(direcciones, datos y control).

La arquitectura Harvard dispone de dos memorias independientes una, que


contiene slo instrucciones y otra, slo datos. Ambas disponen de sus
respectivos sistemas de buses de acceso y es posible realizar operaciones de
acceso (lectura o escritura) simultneamente en ambas memorias.
Recursos comunes a todos los microcontroladores.
Al estar todos los microcontroladores integrados en un chip, su estructura
fundamental y sus caractersticas bsicas son muy parecidas. Todos deben
disponer de los bloques esenciales Procesador, memoria de datos y de
instrucciones, lneas de E/S, oscilador de reloj y mdulos controladores de
perifricos. Sin embargo, cada fabricante intenta enfatizar los recursos ms
idneos para las aplicaciones a las que se destinan preferentemente.
En este apartado se hace un recorrido de todos los recursos que se hallan en
todos los microcontroladores describiendo las diversas alternativas y opciones
que pueden encontrarse segn el modelo seleccionado.

Procesador en detalle

En los aos 1970, la electrnica digital no estaba suficientemente desarrollada,


pero dentro de la electrnica ya era una especialidad consagrada. En aquel
entonces las computadoras se diseaban para que realizaran algunas
operaciones muy simples, y si se quera que estas mquinas pudiesen hacer
cosas diferentes, era necesario realizar cambios bastante significativos al
hardware.

A principios de la dcada de 1970, una empresa japonesa le encarg a una


joven compaa norteamericana que desarrollara un conjunto de circuitos para
producir una calculadora de bajo costo. Intel se dedic de lleno a la tarea y

entre los circuitos encargados desarroll uno muy especial, algo no creado
hasta la fecha: el primer microprocesador integrado.

El Intel 4004 sali al mercado en 1971, es una mquina digital sincrnica


compleja, como cualquier otro circuito lgico secuencial sincrnico. Sin
embargo, la ventaja de este componente est en que aloja internamente un
conjunto de circuitos digitales que pueden hacer operaciones corrientes para el
clculo y procesamiento de datos, pero desde una ptica diferente: sus
entradas son una serie de cdigos bien definidos, que permiten hacer
operaciones de carcter especfico cuyo resultado est determinado por el tipo
de operacin y los operandos involucrados.

Visto as, no hay nada de especial en un microprocesador; la maravilla est en


que la combinacin adecuada de los cdigos de entrada, su ejecucin
secuencial, el poder saltar hacia atrs o adelante en la secuencia de cdigos
sobre la base de decisiones lgicas u rdenes especficas, permite que la
mquina realice un montn de operaciones complejas, no contempladas en los
simples cdigos bsicos.

Hoy estamos acostumbrados a los sistemas con microprocesadores, pero en


el lejano 1971 esta era una forma de pensar un poco diferente y hasta
escandalosa, a tal punto que Busicom, la empresa que encarg los chips a
Intel, no se mostr interesada en el invento, por lo que Intel lo comercializ
para otros que mostraron inters; el resto es historia: una revolucin sin
precedentes en el avance tecnolgico de la humanidad.
Es lgico pensar que el invento del microprocesador integrado no fue una
revelacin divina para sus creadores, sino que se sustent en los avances,
existentes hasta el momento, en el campo de la electrnica digital y las teoras
sobre computacin. Pero sin lugar a dudas fue la gota que colm la copa de la

revolucin

cientfico-tcnica,

porque

permiti

desarrollar

aplicaciones

impensadas o acelerar algunas ya encaminadas.

Ahora comenzaremos a ver cmo es que est hecho un procesador, no ser


una explicacin demasiado detallada porque desde su invencin ste ha tenido
importantes revoluciones propias, pero hay aspectos bsicos que no han
cambiado y que constituyen la base de cualquier microprocesador.

Cmo est hecho un microprocesador?

Registros

Son un espacio de memoria muy reducido pero necesario para cualquier


microprocesador, de aqu se toman los datos para varias operaciones que debe
realizar el resto de los circuitos del procesador. Los registros sirven para
almacenar los resultados de la ejecucin de instrucciones, cargar datos desde
la memoria externa o almacenarlos en ella.

Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De


hecho una parte de los registros, la destinada a los datos, es la que determina
uno de los parmetros ms importantes de cualquier microprocesador. Cuando
escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits, nos estamos
refiriendo a procesadores que realizan sus operaciones con registros de datos
de ese tamao, y por supuesto, esto determina muchas de las potencialidades
de estas mquinas.

Mientras mayor sea el nmero de bits de los registros de datos del procesador,
mayores sern sus prestaciones, en cuanto a poder de cmputo y velocidad de
ejecucin, ya que este parmetro determina la potencia que se puede
incorporar al resto de los componentes del sistema, por ejemplo, no tiene
sentido tener una ALU de 16 bits en un procesador de 8 bits.

Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits
en un solo ciclo de mquina, mientras que uno de 8 bits deber ejecutar varias
instrucciones antes de tener el resultado, aun cuando ambos procesadores
tengan la misma velocidad de ejecucin para sus instrucciones. El procesador
de 16 bits ser ms rpido porque puede hacer el mismo tipo de tareas que
uno de 8 bits, en menos tiempo.

Unidad de control

Esta unidad es de las ms importantes en el procesador, en ella recae la lgica


necesaria para la decodificacin y ejecucin de las instrucciones, el control de
los registros, la ALU, los buses y cuanta cosa ms se quiera meter en el
procesador.

La unidad de control es uno de los elementos fundamentales que determinan


las prestaciones del procesador, ya que su tipo y estructura determina
parmetros tales como el tipo de conjunto de instrucciones, velocidad de
ejecucin, tiempo del ciclo de mquina, tipo de buses que puede tener el
sistema, manejo de interrupciones y un buen nmero de cosas ms que en
cualquier procesador van a parar a este bloque.

Por supuesto, las unidades de control son el elemento ms complejo de un


procesador y normalmente estn divididas en unidades ms pequeas
trabajando de conjunto. La unidad de control agrupa componentes tales como
la unidad de decodificacin, unidad de ejecucin, controladores de memoria
cache, controladores de buses, controlador de interrupciones, pipelines, entre
otros elementos, dependiendo siempre del tipo de procesador.

Unidad aritmtico-lgica

Como los procesadores son circuitos que hacen bsicamente operaciones


lgicas y matemticas, se le dedica a este proceso una unidad completa, con
cierta independencia. Aqu es donde se realizan las sumas, restas, y
operaciones lgicas tpicas del lgebra de Boole.

Actualmente este tipo de unidades ha evolucionado mucho y los procesadores


ms modernos tienen varias ALU, especializadas en la realizacin de
operaciones complejas como las operaciones en coma flotante. De hecho en
muchos casos le han cambiado su nombre por el de coprocesador
matemtico, aunque este es un trmino que surgi para dar nombre a un tipo
especial de procesador que se conecta directamente al procesador ms
tradicional.

Su impacto en las prestaciones del procesador es tambin importante porque,


dependiendo de su potencia, tareas ms o menos complejas, pueden hacerse
en tiempos muy cortos, como por ejemplo, los clculos en coma flotante.

Buses

Son el medio de comunicacin que utilizan los diferentes componentes del


procesador para intercambiar informacin entre s, eventualmente los buses o
una parte de ellos estarn reflejados en los pines del encapsulado del
procesador.
En el caso de los microcontroladores, no es comn que los buses estn
reflejados en el encapsulado del circuito, ya que estos se destinan bsicamente
a las E/S de propsito general y perifricos del sistema.

Existen tres tipos de buses:

Direccin: Se utiliza para seleccionar al dispositivo con el cual se quiere


trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o
escribir.

Datos: Se utiliza para mover los datos entre los dispositivos de hardware
(entrada y salida).

Control: Se utiliza para gestionar los distintos procesos de escritura lectura y


controlar la operacin de los dispositivos del sistema.

Conjunto de instrucciones

Aunque no aparezca entre los mencionados, no podamos dejar al conjunto o


repertorio de instrucciones fuera de la explicacin, porque este elemento
determina lo que puede hacer el procesador.

Define las operaciones bsicas que puede realizar el procesador, que


conjugadas y organizadas forman lo que conocemos como software.
El conjunto de instrucciones vienen siendo como las letras del alfabeto, el
elemento bsico del lenguaje, que organizadas adecuadamente permiten
escribir palabras, oraciones y cuanto programa se le ocurra.

Existen dos tipos bsicos de repertorios de instrucciones, que


determinan la arquitectura del procesador: CISC y RISC.

CISC, del ingls Complex instruction set computing, Computadora de Conjunto


de Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de
instrucciones que se caracteriza por ser muy amplio y que permiten realizar
operaciones complejas entre operandos situados en la memoria o en los
registros internos. Este tipo de repertorio dificulta el paralelismo entre
instrucciones, por lo que en la actualidad, la mayora de los sistemas CISC de
alto rendimiento convierten las instrucciones complejas en varias instrucciones
simples del tipo RISC, llamadas generalmente microinstrucciones.

Dentro de los microcontroladores CISC podemos encontrar a la popular


familia Intel 8051 y la Z80, aunque actualmente existen versiones CISC-RISC
de estos microcontroladores, que pretenden aprovechar las ventajas de los
procesadores RISC a la vez que se mantiene la compatibilidad hacia atrs con
las instrucciones de tipo CISC.

RISC, del ingls Reduced Instruction Set Computer, Computadora con


Conjunto de Instrucciones Reducido. Se centra en la obtencin de
procesadores con las siguientes caractersticas fundamentales:

Instrucciones de tamao fijo.

Pocas instrucciones.

Slo las instrucciones de carga y almacenamiento acceden a la memoria


de datos.

Nmero relativamente elevado de registros de propsito general.

Una de las caractersticas ms destacables de este tipo de procesadores es


que posibilitan el paralelismo en la ejecucin, y reducen los accesos a
memoria. Es por eso que los procesadores ms modernos, tradicionalmente
basados en arquitecturas CISC, implementan mecanismos de traduccin de
instrucciones CISC a RISC, para aprovechar las ventajas de este tipo de
procesadores. Los procesadores de los microcontroladores PIC son de tipo
RISC.

Memoria

Anteriormente se ha visto que la memoria en los microcontroladores debe estar


ubicada dentro del mismo encapsulado, esto es as la mayora de las veces,
porque la idea fundamental es mantener el grueso de los circuitos del sistema
dentro de un solo integrado.

En los microcontroladores la memoria no es abundante, aqu no encontrar


Gigabytes de memoria como en las computadoras personales. Tpicamente la
memoria de programas no exceder de 16 K-localizaciones de memoria no
voltil (flash o eprom) para contener los programas.

La memoria RAM est destinada al almacenamiento de informacin temporal


que ser utilizada por el procesador para realizar clculos u otro tipo de
operaciones lgicas. En el espacio de direcciones de memoria RAM se ubican
adems los registros de trabajo del procesador y los de configuracin y trabajo
de los distintos perifricos del microcontrolador. Es por ello que en la mayora
de los casos, aunque se tenga un espacio de direcciones de un tamao
determinado, la cantidad de memoria RAM de que dispone el programador
para almacenar sus datos es menor que la que puede direccionar el
procesador.

El tipo de memoria utilizada en las memorias RAM de los microcontroladores


es SRAM, lo que evita tener que implementar sistemas de refrescamiento como
en el caso de las computadoras personales, que utilizan gran cantidad de
memoria, tpicamente alguna tecnologa DRAM. A pesar de que la memoria
SRAM es ms costosa que la DRAM, es el tipo adecuado para los
microcontroladores porque stos poseen pequeas cantidades de memoria
RAM.

En el caso de la memoria de programas se utilizan diferentes tecnologas, y el


uso de una u otra depende de las caractersticas de la aplicacin a desarrollar.
A continuacin se describen las cinco tecnologas existentes, que mayor
utilizacin tienen o han tenido:

Mscara ROM. En este caso no se graba el programa en memoria sino que


el microcontrolador se fabrica con el programa, es un proceso similar al de
produccin de los CD comerciales mediante masterizacin. El costo inicial de
producir un circuito de este tipo es alto, porque el diseo y produccin de la
mscara es un proceso costoso, sin embargo, cuando se necesitan varios
miles o incluso cientos de miles de microcontroladores para una aplicacin
determinada, como por ejemplo, algn electrodomstico, el costo inicial de
produccin de la mscara y el de fabricacin del circuito se distribuye entre
todos los circuitos de la serie, y el costo final de sta es bastante menor que el
de sus semejantes con otro tipo de memoria.

Memoria PROM (Programmable Read-Only Memory) tambin conocida como


OTP (One Time Programmable). Este tipo de memoria tambin es conocida
como PROM o simplemente ROM.

Los microcontroladores con memoria OTP se pueden programar una sola


vez, con algn tipo de programador. Se utilizan en sistemas donde el programa
no requiera futuras actualizaciones y para series relativamente pequeas,
donde la variante de mscara sea muy costosa, tambin para sistemas que
requieren serializacin de datos, almacenados como constantes en la memoria
de programas.
Memoria

EPROM (Erasable

Programmable

Read

Only

Memory).

Los

microcontroladores con este tipo de memoria son muy fciles de identificar


porque su encapsulado es de cermica y llevan encima una ventanita de vidrio
desde la cual puede verse la oblea de silicio del microcontrolador.

Se fabrican as porque la memoria EPROM es reprogramable, pero antes debe


borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el
proceso de grabacin es similar al empleado para las memorias OTP.

Al aparecer tecnologas menos costosas y ms flexibles, como las memorias


EEPROM y FLASH, este tipo de memoria han cado en desuso, se utilizaban
en sistemas que requieren actualizaciones del programa y para los procesos de
desarrollo y puesta a punto.

EEPROM (Electrical Erasable Programmable Read Only Memory). Fueron el


sustituto natural de las memorias EPROM, la diferencia fundamental es que
pueden ser borradas elctricamente, por lo que la ventanilla de cristal de
cuarzo y los encapsulados cermicos no son necesarios.

Al disminuir los costos de los encapsulados, los microcontroladores con este


tipo de memoria se hicieron ms baratos y cmodos para trabajar que sus
equivalentes con memoria EPROM.

Otra caracterstica destacable de este tipo de microcontrolador es que fue en


ellos donde comenzaron a utilizarse los sistemas de programacin en el
sistema que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja
para hacer actualizaciones al programa.

Memoria flash. En el campo de las memorias reprogramables para


microcontroladores, son el ltimo avance tecnolgico en uso a gran escala, y
han sustituido a los microcontroladores con memoria EEPROM.

A las ventajas de las memorias flash se le adicionan su gran densidad respecto


a sus predecesoras lo que permite incrementar la cantidad de memoria de
programas a un costo muy bajo. Pueden adems ser programadas con las
mismas tensiones de alimentacin del microcontrolador, el acceso en lectura y
la velocidad de programacin es superior, disminucin de los costos de
produccin, entre otras.

Lo ms habitual es encontrar que la memoria de programas y datos est


ubicada toda dentro del microcontrolador, de hecho, actualmente son pocos los
microcontroladores que permiten conectar memoria de programas en el exterior
del encapsulado. Las razones para estas limitaciones estn dadas porque el
objetivo fundamental es obtener la mayor integracin posible y conectar
memorias externas consume lneas de E/S que son uno de los recursos ms
preciados de los microcontroladores.

pesar

de

lo

anterior

existen

familias

como

la Intel

8051 cuyos

microcontroladores tienen la capacidad de ser expandidos en una variada


gama de configuraciones para el uso de memoria de programas externa. En el
caso de los PIC, estas posibilidades estn limitadas slo a algunos
microcontroladores de la gama alta, la Figura 5 muestra algunas de las
configuraciones para memoria de programa que podemos encontrar en los
microcontroladores. La configuracin (a) es la tpica y podemos encontrarla
casi en el 100% de los microcontroladores. La configuracin (b) es poco
frecuente y generalmente se logra configurando al microcontrolador para
sacrificar la memoria de programas interna, sin embargo el Intel 8031 es un
microcontrolador sin memoria de programas interna. La configuracin (c) es la
que se encuentra habitualmente en los microcontroladores que tienen
posibilidades de expandir su memoria de programas como algunos PIC de
gama alta.

Cuando se requiere aumentar la cantidad de memoria de datos, lo ms


frecuente es colocar dispositivos de memoria externa en forma de perifricos,
de esta forma se pueden utilizar memorias RAM, FLASH o incluso discos duros
como los de los ordenadores personales, mientras que para los clculos y
dems operaciones que requieran almacenamiento temporal de datos se utiliza
la memoria RAM interna del microcontrolador. Esta forma de expandir la
memoria de datos est determinada, en la mayora de los casos, por el tipo de
repertorio de instrucciones del procesador y porque permite un elevado nmero
de configuraciones distintas, adems del consiguiente ahorro de lneas de E/S
que se logra con el uso de memorias con buses de comunicacin serie.

Interrupciones

Las interrupciones son esencialmente llamadas a subrutina generadas por los


dispositivos fsicos, al contrario de las subrutinas normales de un programa en
ejecucin. Como el salto de subrutina no es parte del hilo o secuencia de
ejecucin programada, el controlador guarda el estado del procesador en
la pila de memoria y entra a ejecutar un cdigo especial llamado "manejador de
interrupciones" que atiende al perifrico especfico que gener la interrupcin.

Al terminar la rutina, una instruccin especial le indica al procesador el fin de la


atencin de la interrupcin. En ese momento el controlador restablece el estado
anterior, y el programa que se estaba ejecutando antes de la interrupcin sigue
como si nada hubiese pasado. Las rutinas de atencin de interrupciones deben
ser lo ms breves posibles para que el rendimiento del sistema sea
satisfactorio, porque normalmente cuando una interrupcin es atendida, todas
las dems interrupciones estn en espera.

Imagine que est esperando la visita de un amigo, al que llamaremos Juan.


Usted y Juan han acordado que cuando l llegue a su casa esperar
pacientemente a que le abra la puerta. Juan no debe tocar a la puerta porque
alguien en la casa duerme y no quiere que le despierten.

Ahora usted ha decidido leer un libro mientras espera a que Juan llegue a la
casa, y para comprobar si ha llegado, cada cierto tiempo detiene la lectura,
marca la pgina donde se qued, se levanta y va hasta la puerta, abre y
comprueba si Juan ha llegado, si ste todava no est en la puerta, esperar
unos minutos, cerrar la puerta y regresar a su lectura durante algn tiempo.

Como ver este es un mtodo poco eficiente para esperar a Juan porque
requiere que deje la lectura cada cierto tiempo y vaya hasta la puerta a
comprobar si l ha llegado, adems debe esperar un rato si todava no llega. Y
por si fuera poco, imagine que Juan no llega nunca porque se le present un
problema, tuvo que cancelar la cita y no pudo avisarle a tiempo, o peor, que
Juan ha llegado a la puerta un instante despus que usted la cerraba. Juan,
respetando lo acordado, espera un tiempo, pero se cansa de esperar a que le
abran y decide marcharse porque cree que ya usted no est en la casa o no
puede atenderlo. A este mtodo de atender la llegada de Juan lo llamaremos
encuesta.

Veamos ahora otro mtodo. En esta ocasin simplemente se recuesta en el


sof de la sala y comienza a leer su libro, cuando Juan llegue debe tocar el
timbre de la puerta y esperar unos momentos a que le atiendan. Cuando usted
oye sonar el timbre, interrumpe la lectura, marca la pgina donde se qued y va
hasta la puerta para atender a la persona que toca el timbre. Una vez que Juan
o la persona que ha tocado el timbre, se marcha, usted regresa a su asiento y
retoma la lectura justo donde la dej. Este ltimo es un mtodo ms eficiente
que el anterior porque le deja ms tiempo para leer y elimina algunos

inconvenientes como el de que Juan nunca llegue o se marche antes de que


usted abra la puerta. Es, en principio, un mtodo simple pero muy eficaz y
eficiente, lo llamaremos atencin por interrupcin.

El primero de ellos, la encuesta, es un mtodo eficaz, pero poco eficiente


porque requiere realizar lecturas constantes y muchas veces innecesarias del
estado del proceso que queremos atender. Sin embargo, es muy utilizado en la
programacin de microcontroladores porque resulta fcil de aprender, la
implementacin de cdigo con este mtodo es menos compleja y no requiere
de hardware especial para llevarla adelante. Por otra parte, la encuesta, tiene
muchas deficiencias que con frecuencia obligan al diseador a moverse hacia
otros horizontes

El mundo est lleno de situaciones; de las cuales no podemos determinar ni


cuando, ni como ni por qu se producen, en la mayora de los casos lo nico
que podemos hacer es enterarnos de que determinada situacin, asociada a un
proceso, ha ocurrido. Para ello seleccionamos alguna condicin o grupo de
condiciones que nos indican que el proceso que nos interesa debe ser
atendido, a este fenmeno, en el cual se dan las condiciones que nos interesa
conocer, lo llamaremos evento. En el segundo ejemplo vemos que para atender
a Juan, ste debe tocar el timbre, por tanto, la llegada de Juan es el proceso
que debemos atender y el sonido del timbre es el evento que nos indica que
Juan ha llegado.

El mtodo de atencin a procesos por interrupcin, visto desde la ptica del


ejemplo que utilic para mostrarlo, es ms simple que el de la encuesta, pero
no es cierto, el mtodo se complica porque requiere que el microprocesador
incorpore circuitos adicionales para registrar los eventos que le indican que
debe atender al proceso asociado y comprender estos circuitos y su dinmica
no es una tarea sencilla.

Los circuitos para la atencin a las interrupciones y todas las tareas que debe
realizar el procesador para atender al proceso que lo interrumpe son bastante
complejos y requieren una visin diferente de la que estamos acostumbrados a
tener de nuestro mundo.

Los seres humanos no estamos conscientes de las interrupciones, en nuestro


organismo existen mecanismos que nos interrumpen constantemente, para ello
tenemos a nuestro sistema sensorial, pero no somos conscientes del proceso
de interrupcin, aunque s de la atencin a las interrupciones. Eso es porque
incorporamos mecanismos que nos sacan rpidamente de la tarea que
estemos haciendo para atender una situacin que no puede o no debe esperar
mucho tiempo. Bien, esa misma es la idea que se incorpora en los
microprocesadores para atender procesos que no pueden esperar o que no
sabemos cundo deben ser atendidos porque ello depende de determinadas
condiciones.

La cosa se complica en la secuencia de acciones a realizar desde el momento


en que se desencadena el proceso de interrupcin, hasta que se ejecuta el
programa que lo atiende, y en la secuencia de acciones posteriores a la
atencin. Piense en cuantas cosas debe hacer su organismo ante una
interrupcin, utilicemos el segundo ejemplo para atender la llegada de Juan.

Piense en cuantas cosas su cerebro hace a espaldas de su conciencia, desde


el momento en que suena el timbre hasta que usted se encuentra listo
(consciente de que es probable que Juan ha llegado) para abrir la puerta, y
todo lo que su cerebro debe trabajar para retomar la lectura despus que Juan
se ha marchado. Todo eso, excepto abrir la puerta y atender a Juan, lo
hacemos de forma inconsciente porque para ello tenemos sistemas

dedicados en nuestro organismo, pero en el mundo de los microcontroladores


debemos conocer todos esos detalles para poder utilizar los mecanismos de
interrupcin.
Los procesos de atencin a interrupciones tienen la ventaja de que se
implementan por hardware ubicado en el procesador, as que es un mtodo
rpido de hacer que el procesador se dedique a ejecutar un programa especial
para atender eventos que no pueden esperar por mecanismos lentos como el
de encuesta.

En trminos generales, un proceso de interrupcin y su atencin por parte del


procesador, tiene la siguiente secuencia de acciones:

En el mundo real se produce el evento para el cual queremos que el


procesador ejecute un programa especial, este proceso tiene la caracterstica
de que no puede esperar mucho tiempo antes de ser atendido o no sabemos
en que momento debe ser atendido.

El circuito encargado de detectar la ocurrencia del evento se activa, y como


consecuencia, activa la entrada de interrupcin del procesador.

La unidad de control detecta que se ha producido una interrupcin y levanta


una bandera para registrar esta situacin; de esta forma si las condiciones que
provocaron el evento desaparecen y el circuito encargado de detectarlo
desactiva la entrada de interrupcin del procesador, sta se producir de
cualquier modo, porque ha sido registrada.

La unidad de ejecucin termina con la instruccin en curso y justo antes de


comenzar a ejecutar la siguiente comprueba que se ha registrado una
interrupcin.

Se desencadena un proceso que permite guardar el estado actual del


programa en ejecucin y saltar a una direccin especial de memoria de
programas, donde est la primera instruccin de la subrutina de atencin a
interrupcin.

Se ejecuta el cdigo de atencin a interrupcin, esta es la parte consciente de


todo el proceso porque es donde se realizan las acciones propias de la
atencin a la interrupcin y el programador juega su papel.

Cuando en la subrutina de atencin a interrupcin se ejecuta la instruccin de


retorno, se desencadena el proceso de restauracin del procesador al estado
en que estaba antes de la atencin a la interrupcin.

Como podemos observar, el mecanismo de interrupcin es bastante


complicado, sin embargo tiene dos ventajas que obligan a su implementacin:

La velocidad y su capacidad de ser asncrono. Ambas de conjunto permiten


que aprovechemos al mximo las capacidades de trabajo de nuestro
procesador.

Los mecanismos de interrupcin no solo se utilizan para atender eventos


ligados a procesos que requieren atencin inmediata sino que se utilizan
adems para atender eventos de procesos asncronos.

Las interrupciones son tan eficaces que permiten que el procesador acte
como si estuviese haciendo varias cosas a la vez cuando en realidad se dedica
a la misma rutina de siempre, ejecutar instrucciones una detrs de la otra.

Perifricos

Cuando observamos la organizacin bsica de un microcontrolador, sealamos


que dentro de este se ubican un conjunto de perifricos. A continuacin
describiremos algunos de

los

perifricos

que

con

mayor

frecuencia

encontraremos en los microcontroladores.

Entradas y salidas de propsito general

Tambin conocidos como puertos de E/S, generalmente agrupadas en puertos


de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el
interior del microcontrolador, el destino habitual es el trabajo con dispositivos
simples como rels, LED, o cualquier otra cosa que se le ocurra al
programador.

Algunos puertos de E/S tienen caractersticas especiales que le permiten


manejar salidas con determinados requerimientos de corriente, o incorporan
mecanismos especiales de interrupcin para el procesador.

Tpicamente cualquier pin de E/S puede ser considerada E/S de propsito


general, pero como los microcontroladores no pueden tener infinitos pines, ni
siquiera todos los pines que queramos, las E/S de propsito general comparten
los pines con otros perifricos. Para usar un pin con cualquiera de las
caractersticas a l asignadas debemos configurarlo mediante los registros
destinados a ellos.

Temporizadores y contadores

Son circuitos sincrnicos para el conteo de los pulsos que llegan a su poder
para conseguir la entrada de reloj. Si la fuente de un gran conteo es el
oscilador interno del microcontrolador es comn que no tengan un pin
asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando
la fuente de conteo es externa, entonces tienen asociado un pin configurado
como entrada, este es el modo contador.

Los temporizadores son uno de los perifricos ms habituales en los


microcontroladores y se utilizan para muchas tareas, como por ejemplo, la
medicin de frecuencia, implementacin de relojes, para el trabajo de conjunto
con otros perifricos que requieren una base estable de tiempo entre otras
funcionalidades. Es frecuente que un microcontrolador tpico incorpore ms de
un temporizador/contador e incluso algunos tienen arreglos de contadores.
Como

veremos

ms

adelante

este

perifrico

es

un

elemento

casi

imprescindible y es habitual que tengan asociada alguna interrupcin. Los


tamaos tpicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar
dispositivos que solo tienen temporizadores de un tamao o con ms
frecuencia con ambos tipos de registro de conteo.

Conversor analgico/digital

Como es muy frecuente el trabajo con seales analgicas, stas deben ser
convertidas a digital y por ello muchos microcontroladores incorporan
un conversor analgico-digital, el cual se utiliza para tomar datos de varias
entradas diferentes que se seleccionan mediante un multiplexor.

Las resoluciones ms frecuentes son 8 y 10 bits, que son suficientes para


aplicaciones sencillas. Para aplicaciones en control e instrumentacin estn
disponibles resoluciones de 12bit, 16bit y 24bit.6 Tambin es posible conectar
un convertidor externo, en caso de necesidad

Puertos de comunicacin

Puerto serie

Este perifrico est presente en casi cualquier microcontrolador, normalmente


en

forma

de UART (Universal

Asynchronous

Receiver

Transmitter)

o USART (Universal

Synchronous

Asynchronous

Receiver

Transmitter)

dependiendo de si permiten o no el modo sincrnico de comunicacin.

El destino comn de este perifrico es la comunicacin con otro


microcontrolador o con una PC y en la mayora de los casos hay que agregar
circuitos externos para completar la interfaz de comunicacin. La forma ms
comn de completar el puerto serie es para comunicarlo con una PC mediante
la interfaz EIA-232 (ms conocida como RS-232), es por ello que muchas
personas se refieren a la UART o USART como puerto serie RS-232, pero esto
constituye un error, puesto que este perifrico se puede utilizar para
interconectar dispositivos mediante otros estndares de comunicacin. En
aplicaciones industriales se utiliza preferiblemente RS-485 por su superior
alcance en distancia, velocidad y resistencia al ruido.

SPI

Este tipo de perifrico se utiliza para comunicar al microcontrolador con otros


microcontroladores o con perifricos externos conectados a l, por medio de
una interfaz muy sencilla. Hay solo un nodo controlador que permite iniciar
cualquier transaccin, lo cual es una desventaja en sistemas complejos, pero
su sencillez permite el aislamiento galvnico de forma directa por medio
de optoacopladores.

I2C

Cumple las mismas funciones que el SPI, pero requiere menos seales de
comunicacin y cualquier nodo puede iniciar una transaccin. Es muy utilizado
para conectar las tarjetas grficas de las computadoras personales con los
monitores, para que estos ltimos informen de sus prestaciones y permitir la
autoconfiguracin del sistema de vdeo.

USB

Los microcontroladores son los que han permitido la existencia de este sistema
de comunicacin. Es un sistema que trabaja por polling (monitorizacin) de un
conjunto de perifricos inteligentes por parte de un amo, que es normalmente
un

computador

personal.

Cada

modo

inteligente

est

gobernado

inevitablemente por un microcontrolador.

Ethernet

Es el sistema ms extendido en el mundo para redes de rea local cableadas.


Los microcontroladores ms poderosos de 32 bits se usan para implementar
perifricos lo suficientemente poderosos como para que puedan ser accesados
directamente por la red. Muchos de los enrutadores caseros de pequeas
empresas estn construidos sobre la base de un microcontrolador que hace del
cerebro del sistema.

Can

Este protocolo es del tipo CSMA/CD con tolerancia a elevados voltajes de


modo comn y orientado al tiempo real. Este protocolo es el estndar ms
importante en la industria automotriz (OBD). Tambin se usa como capa fsica
del "field bus" para el control industrial.

Otros puertos de comunicacin

Hay una enorme cantidad de otros buses disponibles para la industria


automotriz (linbus) o de medios audiovisuales como el i2s, IEEE 1394. El
usuario se los encontrar cuando trabaje en algn rea especializada.

Comparadores

Son circuitos analgicos basados en amplificadores operacionales que tienen


la caracterstica de comparar dos seales analgicas y dar como salida los
niveles lgicos 0 o 1 en dependencia del resultado de la comparacin. Es un
perifrico muy til para detectar cambios en seales de entrada de las que
solamente nos interesa conocer cuando est en un rango determinado de
voltaje.

Modulador de ancho de pulsos

Los PWM (Pulse Width Modulator) son perifricos muy tiles sobre todo para el
control de motores, sin embargo hay un grupo de aplicaciones que pueden
realizarse con este perifrico, dentro de las cuales podemos citar: inversin

DC/AC para UPS, conversin digital analgica D/A, control regulado de luz
(dimming) entre otras.

Memoria de datos no voltil

Muchos microcontroladores han incorporado estos tipos de memoria como un


perifrico ms, para el almacenamiento de datos de configuracin o de los
procesos que se controlan. Esta memoria es independiente de la memoria de
datos tipo RAM o la memoria de programas, en la que se almacena el cdigo
del programa a ejecutar por el procesador del microcontrolador.

Muchos de los microcontroladores PIC incluyen este tipo de memoria,


tpicamente en forma de memoria EEPROM, incluso algunos de ellos permiten
utilizar parte de la memoria de programas como memoria de datos no voltil,
por lo que el procesador tiene la capacidad de escribir en la memoria de
programas como si sta fuese un perifrico ms.

Familias de microcontroladores

Los microcontroladores ms comunes en uso son:

Empresa
Atmel

8 bits
AVR

16 bits

(mega

32 bits

SAM7

tiny), 89Sxxxx

(ARM7TDMI),

familia similar 8051

SAM3

(ARM

Cortex-M3), S
AM9
(ARM926), AV
R32
Freescale

68HC05, 68HC08, 6

68HC12, 68HCS12, 68

683xx, PowerP

(antes Mot

8HC11, HCS08

HCSX12, 68HC16

C, ColdFire

MCS96, MXS296

orola)
Holtek
Intel

HT8
MCS-48 (familia
8048)
MCS51 (familia
8051)
8xC251

National

COP8

Semicond
uctor
Microchip

Familia

10f2xx PIC24F,

Familia

12Cxx dsPIC30FXX,

Familia

12Fxx, dsPIC33F con motor

16Cxx

PIC24H

y PIC32

16Fxx dsp integrado

18Cxx y 18Fxx
NXP

80C51

XA

Cortex-M3,

Semicond

Cortex-M0,

uctors

ARM7, ARM9

(antes Phil
ips)

Renesas

78K, H8

H8S, 78K0R, R8C, R32 RX, V850, Sup

(antes

C/M32C/M16C

erH, SH-

Hitachi,

Mobile, H8SX

Mitsubishi
y NEC)
STMicroel

ST 62, ST 7

STM32

ectronics

(ARM7)
TMS370

Texas

MSP430

C2000,

Instruments

Cortex-M3
(ARM),
TMS570
(ARM)

Zilog

Z8, Z86E02

Observacin: Algunas arquitecturas de microcontrolador estn disponibles por


tal cantidad de vendedores y en tantas variedades, que podran tener, con total
correccin, su propia categora. Entre ellos encontramos, principalmente, las
variantes de Intel 8051 y Z80.

Qu microcontrolador emplear?
A la hora de escoger el microcontrolador a emplear en un diseo concreto hay
que

tener

en

cuenta

multitud

de

la documentacin y herramientas de desarrollo disponibles

factores,
y

como

su precio,

la

cantidad de fabricantes que lo producen y por supuesto las caractersticas del


microcontrolador (tipo de memoria de programa, nmero de temporizadores,
interrupciones, etc.):

Costes. Como es lgico, los fabricantes de microcontroladores compiten


duramente para vender sus productos. Y no les va demasiado mal ya que sin
hacer demasiado ruido venden 10 veces ms microcontroladores que
microprocesadores.
Para que nos hagamos una idea, para el fabricante que usa el microcontrolador
en su producto una diferencia de precio en el microcontrolador de algunas
pesetas es importante (el consumidor deber pagar adems el coste del
empaquetado, el de los otros componentes, el diseo del hardware y el
desarrollo del software). Si el fabricante desea reducir costes debe tener en
cuenta las herramientas de apoyo con que va a contar: emuladores,
simuladores, ensambladores, compiladores, etc. Es habitual que muchos de
ellos siempre se decanten por microcontroladores pertenecientes a una
nica familia.
Antes de seleccionar un microcontrolador es imprescindible analizar los
requisitos de la aplicacin:
Procesamiento de datos: puede ser necesario que el microcontrolador
realice clculos crticos en un tiempo limitado. En ese caso debemos
asegurarnos de seleccionar un dispositivo suficientemente rpido para ello. Por
otro lado, habr que tener en cuenta la precisin de los datos a manejar: si no
es suficiente con un microcontrolador de 8 bits, puede ser necesario acudir a
microcontroladores de 16 32 bits, o incluso a hardware de coma flotante. Una
alternativa ms barata y quiz suficiente es usar libreras para manejar los
datos de alta precisin. Entrada Salida: para determinar las necesidades de Entrada/Salida del
sistema es conveniente dibujar un diagrama de bloques del mismo, de tal forma
que sea sencillo identificar la cantidad y tipo de seales a controlar. Una vez
realizado este anlisis puede ser necesario aadir perifricos hardware
externos o cambiar a otro microcontrolador ms adecuado a ese sistema.
Consumo: algunos productos que incorporan microcontroladores estn
alimentados con bateras y su funcionamiento puede ser tan vital como activar
una alarma antirrobo. Lo ms conveniente en un caso como ste puede ser

que el microcontrolador est en estado de bajo consumo pero que despierte


ante la activacin de una seal (una interrupcin) y ejecute el programa
adecuado para procesarla.
Memoria: para detectar las necesidades de memoria de nuestra aplicacin
debemos separarla en memoria voltil (RAM), memoria no voltil (ROM,
EPROM, etc.) y memoria no voltil modificable (EEPROM). Este ltimo tipo de
memoria puede ser til para incluir informacin especfica de la aplicacin
como un nmero de serie o parmetros de calibracin.
El tipo de memoria a emplear vendr determinado por el volumen de ventas
previsto del producto: de menor a mayor volumen ser conveniente emplear
EPROM, OTP y ROM. En cuanto a la cantidad de memoria necesaria puede
ser imprescindible realizar una versin preliminar, aunque sea en pseudocdigo, de la aplicacin y a partir de ella hacer una estimacin de cunta
memoria voltil y no voltil es necesaria y si es conveniente disponer de
memoria no voltil modificable.
Ancho de palabra: el criterio de diseo debe ser seleccionar el
microcontrolador de menor ancho de palabra que satisfaga los requerimientos
de la aplicacin. Usar un microcontrolador de 4 bits supondr una reduccin en
los costes importante, mientras que uno de 8 bits puede ser el ms adecuado si
el ancho de los datos es de un byte. Los microcontroladores de 16 y 32 bits,
debido a su elevado coste, deben reservarse para aplicaciones que requieran
sus altas prestaciones (Entrada/Salida potente o espacio de direccionamiento
muy elevado).
Diseo de la placa: la seleccin de un microcontrolador concreto
condicionar el diseo de la placa de circuitos. Debe tenerse en cuenta que
quiz usar un microcontrolador barato encarezca el resto de componentes del
diseo.
Los microcontroladores ms populares se encuentran, sin duda, entre las
mejores elecciones:
8048 (Intel). Es el padre de los microcontroladores actuales, el primero de
todos. Su precio, disponibilidad y herramientas de desarrollo hacen que todava
sea muy popular.

8051 (Intel y otros). Es sin duda el microcontrolador ms popular. Fcil de


programar, pero potente. Est bien documentado y posee cientos de variantes
e incontables herramientas de desarrollo.
80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los
populares microprocesadores 8086 y 8088. Su principal ventaja es que
permiten aprovechar las herramientas de desarrollo para PC.
68HC11 (Motorola y Toshiba). Es un microcontrolador de 8 bits potente y
popular con gran cantidad de variantes.
683xx (Motorola). Surgido a partir de la popular familia 68k, a la que se
incorporan

algunos

perifricos.

Son

microcontroladores

de

altsimas

prestaciones.
PIC (MicroChip). Familia de microcontroladores que gana popularidad da a
da. Fueron los primeros microcontroladores RISC.
Es preciso resaltar en este punto que existen innumerables familias de
microcontroladores, cada una de las cuales posee un gran nmero de
variantes.
VERRRRRRR
https://es.wikipedia.org/wiki/Puente_levadizo
http://www.tecnologiafacil.net/documentacion/Puente_levadizo.pdf