You are on page 1of 12

Microcontrolador

Microcontrolador Motorola 68HC11 y chips de soporte.

Microcontrolador PIC 18F8720 en encapsulado TQFP de 80 pines.

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 codicado en sistema
numrico hexadecimal que es nalmente 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.[1]

Die del microcontrolador de 8 bits Intel 8742, con CPU a 12


MHz, 128 bytes de memoria RAM, 2048 bytes de EPROM, y E/S
en un chip.

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 especca. 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 frecuen- 1 Historia
cias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microvatios). Por lo general, tendr la capa- El primer microprocesador fue el Intel 4004 de 4 bits, lancidad de mantenerse a la espera de un evento como pulsar zado en 1971, seguido por el Intel 8008 y otros ms capa1

CARACTERSTICAS

ces. 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.[2]
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, signicativamente ms caros que la variante PROM 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 ash.[5]
Otras compaas rpidamente siguieron el ejemplo, con
los dos tipos de memoria.

Esquema de un microcontrolador. En esta gura, vemos al microcontrolador metido dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, perifricos
y puertos de entrada/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.

electrodomstico sencillo como una batidora utilizar un


procesador muy pequeo (4 u 8 bits) porque sustituir a
un autmata nito. 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 electrnico como automviles,
lavadoras, hornos microondas, telfonos, etc.

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 acionados, con
grandes comunidades en lnea para ciertos procesadores. Un microcontrolador diere de una unidad central de proEn el futuro, la MRAM podra ser utilizada en microcon- cesamiento normal, debido a que es ms fcil convertirla
troladores, ya que tiene resistencia innita y el coste de en una computadora en funcionamiento, con un mnimo
de circuitos integrados externos de apoyo. La idea es que
su oblea semiconductora es relativamente bajo.
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
2 Caractersticas
sean manejadas por otros chips. Hay que agregarle los
Los microcontroladores estn diseados para reducir el mdulos de entrada y salida (puertos) y la memoria para
costo econmico y el consumo de energa de un sistema almacenamiento de informacin.
en particular. Por eso el tamao de la unidad central de Un microcontrolador tpico tendr un generador de reprocesamiento, la cantidad de memoria y los perifricos loj integrado y una pequea cantidad de memoria de acincluidos dependern de la aplicacin. El control de un ceso aleatorio y/o ROM/EPROM/EEPROM/ash, con

3.2

Arquitectura Harvard

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 I2 C 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 exibilidad 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 incluye
el microcontrolador, se ha de prescindir de cualquier otra
circuitera.

3
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 denicin 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 denido 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.

3.2 Arquitectura Harvard

La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los micro3 Arquitecturas de computadora
controladores, y sistemas integrados en general. En este
caso, adems de la memoria, el procesador tiene los buses
Bsicamente existen dos arquitecturas de computadoras, segregados, de modo que cada tipo de memoria tiene un
y por supuesto, estn presentes en el mundo de los micro- bus de datos, uno de direcciones y uno de control.
controladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexin de la memoria al proce- La ventaja fundamental de esta arquitectura es que permite adecuar el tamao de los buses a las caractersticas
sador y en los buses que cada una necesita.
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 signicativo de la velocidad de
3.1 Arquitectura Von Neumann
procesamiento. Tpicamente los sistemas con esta arquitectura pueden ser dos veces ms rpidos que sistemas
La arquitectura Von Neumann utiliza el mismo dispositi- similares con arquitectura Von Neumann.
vo de almacenamiento tanto para las instrucciones como
para los datos, siendo la que se utiliza en un ordenador La desventaja est en que consume muchas lneas de E/S
personal porque permite ahorrar una buena cantidad de del procesador; por lo que en sistemas donde el procesalneas de E/S, que son bastante costosas, sobre todo para dor est ubicado en su propio encapsulado, solo se utiliza
aquellos sistemas donde el procesador se monta en algn en supercomputadoras. Sin embargo, en los microcontrotipo de zcalo alojado en una placa madre. Tambin esta ladores y otros sistemas integrados, donde usualmente la
organizacin les ahorra a los diseadores de placas ma- memoria de datos y programas comparten el mismo endre una buena cantidad de problemas y reduce el costo capsulado que el procesador, este inconveniente deja de
ser un problema serio y es por ello que encontramos la
de este tipo de sistemas.
arquitectura Harvard en la mayora de los microcontrolaEn un ordenador personal, cuando se carga un programa dores.
en memoria, a ste se le asigna un espacio de direcciones
de la memoria que se divide en segmentos, de los cua- Por eso es importante recordar que un microcontrolales tpicamente tenderemos los siguientes: cdigo (pro- dor se puede congurar de diferentes maneras, siempre
grama), datos y pila. Es por ello que podemos hablar de y cuando se respete el tamao de memoria que este rela memoria como un todo, aunque existan distintos dispo- quiera para su correcto funcionamiento.
sitivos fsicos en el sistema (disco duro, memoria RAM,
memoria ash, unidad de disco ptico...).
En el caso de los microcontroladores, existen dos tipos de
memoria bien denidas: memoria de datos (tpicamente
algn tipo de SRAM) y memoria de programas (ROM,
PROM, EEPROM, ash 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,

4 Procesador en detalle

En los aos 1970, la electrnica digital no estaba sucientemente 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 mqui-

PROCESADOR EN DETALLE

nas pudiesen hacer cosas diferentes, era necesario realizar 4.1 Registros
cambios bastante signicativos al hardware.
A principios de la dcada de 1970, una empresa japone- Son un espacio de memoria muy reducido pero necesasa le encarg a una joven compaa norteamericana que rio para cualquier microprocesador, de aqu se toman los
desarrollara un conjunto de circuitos para producir una datos para varias operaciones que debe realizar el resto
calculadora de bajo costo. Intel se dedic de lleno a la de los circuitos del procesador. Los registros sirven para
tarea y entre los circuitos encargados desarroll uno muy almacenar los resultados de la ejecucin de instrucciones,
especial, algo no creado hasta la fecha: el primer micro- cargar datos desde la memoria externa o almacenarlos en
ella.
procesador 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 denidos, que permiten hacer operaciones de carcter especco cuyo resultado est determinado por el tipo de operacin y los operandos involucrados.

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

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 especcas,
permite que la mquina realice un montn de operaciones complejas, no contempladas en los simples cdigos Por otro lado un procesador de 16 bits, puede que haga
bsicos.
una suma de 16 bits en un solo ciclo de mquina, mientras
Hoy estamos acostumbrados a los sistemas con micropro- que uno de 8 bits deber ejecutar varias instrucciones ancesadores, pero en el lejano 1971 esta era una forma de tes de tener el resultado, aun cuando ambos procesadores
pensar un poco diferente y hasta escandalosa, a tal punto tengan la misma velocidad de ejecucin para sus instrucque Busicom, la empresa que encarg los chips a Intel, ciones. El procesador de 16 bits ser ms rpido porque
no se mostr interesada en el invento, por lo que Intel lo puede hacer el mismo tipo de tareas que uno de 8 bits, en
comercializ para otros que mostraron inters; el resto es menos tiempo.
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 cientco-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. En la Figura 'Esquema de un microcontrolador' podemos ver la estructura tpica de un microprocesador, con sus componentes fundamentales, claro est
que ningn procesador real se ajusta exactamente a esta
estructura, pero aun as nos permite conocer cada uno de
sus elementos bsicos y sus interrelaciones.

4.2 Unidad de control


Esta unidad es de las ms importantes en el procesador,
en ella recae la lgica necesaria para la decodicacin 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 decodicacin, unidad de ejecucin,
controladores de memoria cache, controladores de buses,

5
controlador de interrupciones, pipelines, entre otros ele- Dene las operaciones bsicas que puede realizar el promentos, dependiendo siempre del tipo de procesador.
cesador, que conjugadas y organizadas forman lo que
conocemos como software. El conjunto de instrucciones
vienen siendo como las letras del alfabeto, el elemento
4.3 Unidad aritmtico-lgica
bsico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se
Como los procesadores son circuitos que hacen bsica- le ocurra.
mente operaciones lgicas y matemticas, se le dedica a
este proceso una unidad completa, con cierta independen- Existen dos tipos bsicos de repertorios de instrucciones,
cia. Aqu es donde se realizan las sumas, restas, y opera- que determinan la arquitectura del procesador: CISC y
RISC.
ciones lgicas tpicas del lgebra de Boole.
Actualmente este tipo de unidades ha evolucionado mu- CISC, del ingls Complex instruction set computing,
cho y los procesadores ms modernos tienen varias ALU, Computadora de Conjunto de Instrucciones Complejo.
especializadas en la realizacin de operaciones comple- Los microprocesadores CISC tienen un conjunto de insjas como las operaciones en coma otante. De hecho en trucciones que se caracteriza por ser muy amplio y que
muchos casos le han cambiado su nombre por el de co- permiten realizar operaciones complejas entre operanprocesador matemtico, aunque este es un trmino que dos situados en la memoria o en los registros internos.
surgi para dar nombre a un tipo especial de procesador Este tipo de repertorio diculta el paralelismo entre insque se conecta directamente al procesador ms tradicio- trucciones, por lo que en la actualidad, la mayora de los
sistemas CISC de alto rendimiento convierten las instrucnal.
ciones complejas en varias instrucciones simples del tipo
Su impacto en las prestaciones del procesador es tambin RISC, llamadas generalmente microinstrucciones.
importante porque, dependiendo de su potencia, tareas
ms o menos complejas, pueden hacerse en tiempos muy Dentro de los microcontroladores CISC podemos enconcortos, como por ejemplo, los clculos en coma otante. trar 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 com4.4 Buses
patibilidad hacia atrs con las instrucciones de tipo CISC.
Son el medio de comunicacin que utilizan los diferentes RISC, del ingls Reduced Instruction Set Computer,
componentes del procesador para intercambiar informa- Computadora con Conjunto de Instrucciones Reducido.
cin entre s, eventualmente los buses o una parte de ellos Se centra en la obtencin de procesadores con las siguienestarn reejados en los pines del encapsulado del proce- tes caractersticas fundamentales:
sador.
En el caso de los microcontroladores, no es comn que los
buses estn reejados 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:

Instrucciones de tamao jo.


Pocas instrucciones.
Slo las instrucciones de carga y almacenamiento
acceden a la memoria de datos.

Nmero relativamente elevado de registros de pro Direccin: Se utiliza para seleccionar al dispositipsito general.
vo con el cual se quiere trabajar o en el caso de las
memorias, seleccionar el dato que se desea leer o Una de las caractersticas ms destacables de este tipo de
escribir.
procesadores es que posibilitan el paralelismo en la ejecucin, y reducen los accesos a memoria. Es por eso que
Datos: Se utiliza para mover los datos entre los dislos procesadores ms modernos, tradicionalmente basapositivos de hardware (entrada y salida).
dos en arquitecturas CISC, implementan mecanismos de
Control: Se utiliza para gestionar los distintos pro- traduccin de instrucciones CISC a RISC, para aprovecesos de escritura lectura y controlar la operacin de char las ventajas de este tipo de procesadores.
los dispositivos del sistema.
Los procesadores de los microcontroladores PIC son de
tipo RISC.

4.5

Conjunto de instrucciones

Aunque no aparezca en el esquema, no podamos dejar 5 Memoria


al conjunto o repertorio de instrucciones fuera de la explicacin, porque este elemento determina lo que puede Anteriormente se ha visto que la memoria en los microhacer el procesador.
controladores debe estar ubicada dentro del mismo en-

capsulado, 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 (ash 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 conguracin 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 nal 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

MEMORIA

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 identicar 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
exibles, 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 ash. 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 ash 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.

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

entra a ejecutar un cdigo especial llamado manejador


de interrupciones que atiende al perifrico especco
que gener la interrupcin. Al terminar la rutina, una
instruccin especial le indica al procesador el n 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, por que
normalmente cuando una interrupcin es atendida, todas
las dems interrupciones estn en espera.

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 memo- Imagine que est esperando la visita de un amigo, al que
rias externas consume lneas de E/S que son uno de los llamaremos Juan. Usted y Juan han acordado que cuando
recursos ms preciados de los microcontroladores.
l llegue a su casa esperar pacientemente a que le abra la
A pesar de lo anterior existen familias como la Intel 8051 puerta. Juan no debe tocar a la puerta porque alguien en
cuyos microcontroladores tienen la capacidad de ser ex- la casa duerme y no quiere que le despierten.
pandidos en una variada gama de conguraciones para Ahora usted ha decidido leer un libro mientras espera a
el uso de memoria de programas externa. En el caso de que Juan llegue a la casa, y para comprobar si ha llegalos PIC, estas posibilidades estn limitadas slo a algunos do, cada cierto tiempo detiene la lectura, marca la pgina
microcontroladores de la gama alta, la Figura 5 muestra donde se qued, se levanta y va hasta la puerta, abre y
algunas de las conguraciones para memoria de progra- comprueba si Juan ha llegado, si ste todava no est en la
ma que podemos encontrar en los microcontroladores. La puerta, esperar unos minutos, cerrar la puerta y regreconguracin (a) es la tpica y podemos encontrarla casi sar a su lectura durante algn tiempo.
en el 100% de los microcontroladores. La conguracin
(b) es poco frecuente y generalmente se logra congu- Como ver este es un mtodo poco eciente para esperando al microcontrolador para sacricar la memoria de rar a Juan porque requiere que deje la lectura cada cierto
programas interna, sin embargo el Intel 8031 es un micro- tiempo y vaya hasta la puerta a comprobar si l ha llecontrolador sin memoria de programas interna. La con- gado, adems debe esperar un rato si todava no llega. Y
guracin (c) es la que se encuentra habitualmente en los por si fuera poco, imagine que Juan no llega nunca pormicrocontroladores que tienen posibilidades de expandir que se le present un problema, tuvo que cancelar la cita
su memoria de programas como algunos PIC de gama al- y no pudo avisarle a tiempo, o peor, que Juan ha llegado
a la puerta un instante despus que usted la cerraba. Juan,
ta.
respetando lo acordado, espera un tiempo, pero se cansa
Cuando se requiere aumentar la cantidad de memoria de de esperar a que le abran y decide marcharse porque cree
datos, lo ms frecuente es colocar dispositivos de me- que ya usted no est en la casa o no puede atenderlo. A
moria externa en forma de perifricos, de esta forma se este mtodo de atender la llegada de Juan lo llamaremos
pueden utilizar memorias RAM, FLASH o incluso discos encuesta.
duros como los de los ordenadores personales, mientras
que para los clculos y dems operaciones que requieran Veamos ahora otro mtodo. En esta ocasin simplemente
almacenamiento temporal de datos se utiliza la memoria se recuesta en el sof de la sala y comienza a leer su libro,
RAM interna del microcontrolador. Esta forma de expan- cuando Juan llegue debe tocar el timbre de la puerta y
dir la memoria de datos est determinada, en la mayora esperar unos momentos a que le atiendan. Cuando usted
de los casos, por el tipo de repertorio de instrucciones del oye sonar el timbre, interrumpe la lectura, marca la pgiprocesador y porque permite un elevado nmero de con- na donde se qued y va hasta la puerta para atender a la
guraciones distintas, adems del consiguiente ahorro de persona que toca el timbre. Una vez que Juan o la persolneas de E/S que se logra con el uso de memorias con na que ha tocado el timbre, se marcha, usted regresa a su
asiento y retoma la lectura justo donde la dej. Este ltibuses de comunicacin serie.
mo es un mtodo ms eciente 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
6 Interrupciones
de que usted abra la puerta. Es, en principio, un mtodo
simple pero muy ecaz y eciente, lo llamaremos atenLas interrupciones son esencialmente llamadas a cin por interrupcin.
subrutina generadas por los dispositivos fsicos, al
El primero de ellos, la encuesta, es un mtodo ecaz, pecontrario de las subrutinas normales de un programa en
ro poco eciente porque requiere realizar lecturas consejecucin. Como el salto de subrutina no es parte del
tantes y muchas veces innecesarias del estado del procehilo o secuencia de ejecucin programada, el controlador
so que queremos atender. Sin embargo, es muy utilizado
guarda el estado del procesador en la pila de memoria y

8
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 deciencias que con frecuencia obligan al
diseador a moverse hacia otros horizontes

INTERRUPCIONES

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
El mundo est lleno de situaciones; de las cuales no po- interrupcin.
demos determinar ni cuando, ni como ni por qu se pro- Los procesos de atencin a interrupciones tienen la venducen, en la mayora de los casos lo nico que podemos taja de que se implementan por hardware ubicado en el
hacer es enterarnos de que determinada situacin, aso- procesador, as que es un mtodo rpido de hacer que el
ciada a un proceso, ha ocurrido. Para ello seleccionamos procesador se dedique a ejecutar un programa especial
alguna condicin o grupo de condiciones que nos indican para atender eventos que no pueden esperar por mecaque el proceso que nos interesa debe ser atendido, a es- nismos lentos como el de encuesta.
te fenmeno, en el cual se dan las condiciones que nos En trminos generales, un proceso de interrupcin y su
interesa conocer, lo llamaremos evento. En el segundo atencin por parte del procesador, tiene la siguiente seejemplo vemos que para atender a Juan, ste debe tocar cuencia de acciones:
el timbre, por tanto, la llegada de Juan es el proceso que
debemos atender y el sonido del timbre es el evento que
1. En el mundo real se produce el evento para el cual
nos indica que Juan ha llegado.
queremos que el procesador ejecute un programa esEl mtodo de atencin a procesos por interrupcin, vispecial, este proceso tiene la caracterstica de que no
to desde la ptica del ejemplo que utilic para mostrarlo,
puede esperar mucho tiempo antes de ser atendido
es ms simple que el de la encuesta, pero no es cierto,
o no sabemos en que momento debe ser atendido.
el mtodo se complica porque requiere que el micropro2. El circuito encargado de detectar la ocurrencia del
cesador incorpore circuitos adicionales para registrar los
evento se activa, y como consecuencia, activa la eneventos que le indican que debe atender al proceso asotrada de interrupcin del procesador.
ciado y comprender estos circuitos y su dinmica no es
una tarea sencilla.
3. La unidad de control detecta que se ha producido
Los circuitos para la atencin a las interrupciones y todas
una interrupcin y levanta una bandera para regislas tareas que debe realizar el procesador para atender al
trar esta situacin; de esta forma si las condiciones
proceso que lo interrumpe son bastante complejos y reque provocaron el evento desaparecen y el circuito
quieren una visin diferente de la que estamos acostumencargado de detectarlo desactiva la entrada de inbrados a tener de nuestro mundo.
terrupcin del procesador, sta se producir de cualquier modo, porque ha sido registrada.
Los seres humanos no estamos conscientes de las interrupciones, en nuestro organismo existen mecanismos
4. La unidad de ejecucin termina con la instruccin en
que nos interrumpen constantemente, para ello tenemos
curso y justo antes de comenzar a ejecutar la siguiena nuestro sistema sensorial, pero no somos conscientes
te comprueba que se ha registrado una interrupcin
del proceso de interrupcin, aunque s de la atencin a
las interrupciones. Eso es porque incorporamos mecanis5. Se desencadena un proceso que permite guardar el
mos que nos sacan rpidamente de la tarea que estemos
estado actual del programa en ejecucin y saltar a
haciendo para atender una situacin que no puede o no
una direccin especial de memoria de programas,
debe esperar mucho tiempo. Bien, esa misma es la idea
donde est la primera instruccin de la subrutina de
que se incorpora en los microprocesadores para atender
atencin a interrupcin.
procesos que no pueden esperar o que no sabemos cuando
6. Se ejecuta el cdigo de atencin a interrupcin, esta
deben ser atendidos porque ello depende de determinadas
es la parte consciente de todo el proceso porque es
condiciones.
donde se realizan las acciones propias de la atencin
La cosa se complica en la secuencia de acciones a reaa la interrupcin y el programador juega su papel.
lizar desde el momento en que se desencadena el proceso de interrupcin, hasta que se ejecuta el programa que
7. Cuando en la subrutina de atencin a interrupcin se
lo atiende, y en la secuencia de acciones posteriores a la
ejecuta la instruccin de retorno, se desencadena el
atencin. Piense en cuantas cosas debe hacer su organisproceso de restauracin del procesador al estado en
mo ante una interrupcin, utilicemos el segundo ejemplo
que estaba antes de la atencin a la interrupcin.
para atender la llegada de Juan. Piense en cuantas cosas
su cerebro hace a espaldas de su conciencia, desde el moComo podemos observar, el mecanismo de interrupcin
mento en que suena el timbre hasta que usted se encuentra
es bastante complicado, sin embargo tiene dos ventajas
listo (consciente de que es probable que Juan ha llegado)
que obligan a su implementacin: la velocidad y su capapara abrir la puerta, y todo lo que su cerebro debe trabajar
cidad de ser asncrono. Ambas de conjunto permiten que

7.3

Conversor analgico/digital

aprovechemos al mximo las capacidades de trabajo de chas tareas, como por ejemplo, la medicin de frecuennuestro procesador.
cia, implementacin de relojes, para el trabajo de conLos mecanismos de interrupcin no solo se utilizan para junto con otros perifricos que requieren una base estable
atender eventos ligados a procesos que requieren atencin de tiempo entre otras funcionalidades. Es frecuente que
inmediata sino que se utilizan adems para atender even- un microcontrolador tpico incorpore ms de un temporizador/contador e incluso algunos tienen arreglos de contos de procesos asncronos.
tadores. Como veremos ms adelante este perifrico es
Las interrupciones son tan ecaces que permiten que el un elemento casi imprescindible y es habitual que tengan
procesador acte como si estuviese haciendo varias cosas asociada alguna interrupcin. Los tamaos tpicos de los
a la vez cuando en realidad se dedica a la misma rutina de registros de conteo son 8 y 16 bits, pudiendo encontrar
siempre, ejecutar instrucciones una detrs de la otra.
dispositivos que solo tienen temporizadores de un tamao o con ms frecuencia con ambos tipos de registro de
conteo.

Perifricos

Cuando observamos la organizacin bsica de un microcontrolador, sealamos que dentro de este se ubican un 7.3 Conversor analgico/digital
conjunto de perifricos. A continuacin describiremos
algunos de los perifricos que con mayor frecuencia enComo es muy frecuente el trabajo con seales analgicas,
contraremos en los microcontroladores.
stas deben ser convertidas a digital y por ello muchos
microcontroladores incorporan un conversor analgico7.1 Entradas y salidas de propsito gene- digital, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multipleral
xor.
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.

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


sucientes 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

Algunos puertos de E/S tienen caractersticas especiales


que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos espe7.4
ciales 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 innitos 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 congurarlo mediante los registros destinados a
ellos.

7.2

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 congurado como entrada, este es el modo contador.
Los temporizadores son uno de los perifricos ms habituales en los microcontroladores y se utilizan para mu-

Puertos de comunicacin

7.4.1 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 reeren 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 sus superior alcance
en distancia, velocidad y resistencia al ruido.

10
7.4.2

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

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 grcas de las computadoras personales con
los monitores, para que estos ltimos informen de sus
prestaciones y permitir la autoconguracin del sistema
de vdeo.
7.4.4

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

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 eld bus para el control industrial.
7.4.7

les como el i2s, IEEE 1394. El usuario se los encontrar


cuando trabaje en algn rea especializada.

7.5 Comparadores
Son circuitos analgicos basados en amplicadores 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.

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

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

VASE TAMBIN

Otros puertos de comunicacin

Hay una enorme cantidad de otros buses disponibles para


la industria automotriz (linbus) o de medios audiovisua-

7.7 Memoria de datos no voltil


Muchos microcontroladores han incorporado estos tipos
de memoria como un perifrico ms, para el almacenamiento de datos de conguracin 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.

8 Familias de microcontroladores
Los microcontroladores ms comunes en uso son:
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.

9 Vase tambin
Lista de microcontroladores comunes
Controladora de perifrico

11
Microprocesador
Microbtica
PIC16F87X
Intel HEX
Informtica de sistemas
Ingeniera Tcnica en Informtica de Gestin
BASIC Stamp
Arduino

10

Referencias

[1] Vienna University of Technology, Introduction To Microcontrollers (Gunther Gridling, Bettina Weiss), 26 de febrero de 2007
[2] Augarten, Stan (1983). The Most Widely Used Computer
on a Chip: The TMS 1000. State of the Art: A Photographic History of the Integrated Circuit. New Haven y New
York: Ticknor & Fields. ISBN 0-89919-195-9. Consultado el 2 de marzo de 2012.
[3] http://web.archive.org/web/http://archive.
computerhistory.org/resources/access/text/Oral_
History/102658328.05.01.acc.pdf Oral History Panel
on the Development and Promotion of the Intel 8048
Microcontroller, Computer History Museum oral history,
2008, consultado el 28 de junio de 2011, pgina 4
[4] http://microchip.com/stellent/idcplg?IdcService=SS_
GET_PAGE&nodeId=2018&mcparam=en013082
[5] Atmels Self-Programming Flash Microcontrollers de
Odd Jostein Svendsli 2003
[6] microcontroladores analgicos

12

11 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

11
11.1

Origen del texto y las imgenes, colaboradores y licencias


Texto

Microcontrolador Fuente: https://es.wikipedia.org/wiki/Microcontrolador?oldid=90612246 Colaboradores: Centeno, Mac, Moriel, Frutoseco, Dodo, Triku, Sms, Avm, Odalcet, Tano4595, Murphy era un optimista, Lopezmts, Marcelo Huerta, Flugplatz, Renabot, FAR,
Digigalos, Internete, Taichi, Emijrp, Rembiapo pohyiete (bot), Orgullobot~eswiki, RobotQuistnix, BOT-Superzerocool, FlaBot, Varano,
YurikBot, Museo8bits, GermanX, Gaijin, Santiperez, Kryptt, Baneld, Tomatejc, The worst user, CEM-bot, Jorgelrm, Atalanta86, Eternauta3k, Johncaranton, Aweinstein, Juanfran GG, Thijs!bot, uo Martnez, Botones, Jurgens~eswiki, JAnDbot, Lelguea, TXiKiBoT,
Netito777, Manuel0302, Phirosiberia, Plux, Biasoli, AlnoktaBOT, VolkovBot, AristidesParallax, Matdrodes, Shooke, 3coma14, Muro
Bot, BotMultichill, SieBot, Loveless, BOTarate, Cbodington, Aleposta, JaviMad, DragonBot, PixelBot, Eduardosalg, Lloizaga, Mendezmh,
Ateocinico, UA31, AVBOT, MastiBot, Ialad, Diegusjaimes, DumZiBoT, DominusDRR, Luckas-bot, Ptbotgourou, LordboT, SuperBraulio13, Ortisa, Xqbot, Jkbw, Ryback, Rubinbot, Kraixx, D'ohBot, TiriBOT, TobeBot, PatruBOT, Edslov, Microc, Grillitus, Duhi, Win7912,
Poeta3d, Netnbit, MetroBot, Eagle c5, Gusama Romero, Acratta, Elvisor, Angeldefuego22, Addbot, Trabajocolaborativo2grupo179, Jarould, Enriqueperiam, Ks-M9 y Annimos: 160

11.2

Imgenes

Archivo:153056995_5ef8b01016_o.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/64/Intel_8742_153056995.jpg Licencia: CC BY-SA 2.0 Colaboradores: http://www.flickr.com/photos/biwook/153056995/ Artista original: Ioan Sameli
Archivo:MC68HC11_microcontroller.jpg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/b/b5/MC68HC11_
microcontroller.jpg Licencia: CC-BY-SA-3.0 Colaboradores: ? Artista original: ?
Archivo:Microcontrolador.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/c/cb/Microcontrolador.jpg Licencia: Public
domain Colaboradores: Trabajo propio Artista original: Daniel
Archivo:PIC18F8720.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/18/PIC18F8720.jpg Licencia: Public domain Colaboradores: ? Artista original: ?

11.3

Licencia del contenido

Creative Commons Attribution-Share Alike 3.0

You might also like