Вы находитесь на странице: 1из 32

INTRODUCCION A LOS MICROCONTROLADORES.

Los microcontroladores estn conquistando el mundo. Estn presentes en nuestro trabajo, en nuestra casa y
en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de
los computadores, en los telfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la
invasin acaba de comen!ar y el nacimiento del siglo ""# es testigo de la conquista masiva de estos
diminutos computadores, que gobernarn la mayor parte de los aparatos que fabricaremos y usamos los
humanos.
1.1 Controlador y microcontrolador.
$ecibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por
ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide
constantemente su temperatura interna y, cuando traspasa los l%mites prefijados, genera
las se&ales adecuadas que accionan los efectores que intentan llevar el valor de la temperatura dentro del
rango estipulado.
'unque el concepto de controlador ha permanecido invariable a travs del tiempo, su
implementacin f%sica ha variado frecuentemente. (ace tres dcadas, los controladores se constru%an
e)clusivamente con componentes de lgica discreta, posteriormente se emplearon los microprocesadores,
que se rodeaban con chips de memoria y E*S sobre una tarjeta de circuito impreso. En la actualidad, todos los
elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de microcontrolador.
$ealmente consiste en un sencillo pero completo computador contenido en el cora!n +chip, de un circuito
integrado.
-n microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los
elementos que configuran un controlador.
-n microcontrolador dispone normalmente de los siguientes componentes.
Procesador o -/P +-nidad /entral de Proceso,.
0emoria $'0 para /ontener los datos.
0emoria para el programa tipo $10*P$10*EP$10.
L%neas de E*S para comunicarse con el e)terior.
2iversos mdulos para el control de perifricos +tempori!adores, Puertas Serie y Paralelo, /'2.
/onversores 'nalgico*2igital, /2'. /onversores 2igital*'nalgico, etc.,.
3enerador de impulsos de reloj que sincroni!an el funcionamiento de todo el sistema.
Los productos que para su regulacin incorporan un microcontrolador disponen de las siguientes ventajas.
'umento de prestaciones. un mayor control sobre un determinado elemento representa una mejora
considerable en el mismo.
'umento de la fiabilidad. al reempla!ar un elevado n4mero de elementos por el microcontrolador
disminuye el riesgo de aver%as y se precisan menos ajustes.
$educcin del tama&o en el producto acabado. La integracin del microcontrolador en un chip
disminuye el volumen, la mano de obra y los stoc5s.
0ayor fle)ibilidad. las caracter%sticas de control estn programadas por lo que su modificacin slo
necesita cambios en el programa de instrucciones.
El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un
computador. 2ebido a su reducido tama&o es posible montar el controlador en el propio dispositivo al que
gobierna. En este caso el controlador recibe el nombre de controlador empotrado +embedded controller,.
1.2 Diferencia entre microproceador y microcontrolador.
El microprocesador es un circuito integrado que contiene la -nidad /entral de Proceso +-/P,, tambin
llamada procesador, de un computador. La -/P est formada por la -nidad de /ontrol, que interpreta las
instrucciones, y el /amino de 2atos, que las ejecuta.
Las patitas de un microprocesador sacan al e)terior las l%neas de sus buses de direcciones, datos y control,
para permitir conectarle con la 0emoria y los 0dulos de E*S y configurar un computador implementado por
varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuracin es
variable de acuerdo con la aplicacin a la que se destine. +6igura 7.7.,
6igura 7.7. Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en
el exterior permite que se configure a la medida de la aplicacin.
Si slo se dispusiese de un modelo de microcontrolador, ste deber%a tener muy potenciados todos
sus recursos para poderse adaptar a las e)igencias de las diferentes aplicaciones. Esta potenciacin
supondr%a en muchos casos un despilfarro. En la prctica cada fabricante de microcontroladores oferta un
elevado n4mero de modelos diferentes, desde los ms sencillos hasta los ms poderosos. Es posible
seleccionar la capacidad de las memorias, el n4mero de l%neas de E*S, la cantidad y potencia de los
elementos au)iliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado
del dise&o es la seleccin del microcontrolador a utili!ar.
6igura 7.8. El microcontrolador es un sistema cerrado. Todas las partes del computador estn contenidas en
su interior y slo salen al exterior las lneas que gobiernan los perifricos.
1.! Aplicacione de lo microcontroladore.
/ada ve! e)isten ms productos que incorporan un microcontrolador con el fin de aumentar sustancialmente
sus prestaciones, reducir su tama&o y coste, mejorar su fiabilidad y disminuir el consumo.
'lgunos fabricantes de microcontroladores superan el milln de unidades de un modelo determinado
producidas en una semana. Este dato puede dar una idea de la masiva utili!acin de estos componentes.
Los microcontroladores estn siendo empleados en multitud de sistemas presentes en nuestra vida diaria,
como pueden ser juguetes, horno microondas, frigor%ficos, televisores, computadoras, impresoras, mdems,
sistemas de arranque de automviles, etc. y otras aplicaciones con las que seguramente no estaremos tan
familiari!ados como instrumentacin electrnica, control de sistemas en una nave espacial, etc. -na
aplicacin t%pica podr%a emplear varios microcontroladores para controlar peque&as partes del sistema. Estos
peque&os controladores podr%an comunicarse entre ellos y con un procesador central, probablemente ms
potente, para compartir la informacin y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en
cualquier P/.
1." El mercado de lo microcontroladore.
'unque en el mercado de la microinformtica la mayor atencin la acaparan los desarrollos de los
microprocesadores, lo cierto es que se venden cientos de microcontroladores por cada uno de aqullos.
E)iste una gran diversidad de microcontroladores. 9ui! la clasificacin ms importante sea entre
microcontroladores de :, ;, 7< =8 bits. 'unque las prestaciones de los microcontroladores de 7< y =8 bits
son superiores a los de : y ; bits, la realidad es que los microcontroladores de ; bits dominan el mercado y
los de : bits se resisten a desaparecer. La ra!n de esta tendencia es que los microcontroladores de : y ; bits
son apropiados para la gran mayor%a de las aplicaciones, lo que hace absurdo emplear micros ms potentes y
consecuentemente ms caros. -no de los sectores que ms tira del mercado del microcontrolador es el
mercado automovil%stico. 2e hecho, algunas de las familias de microcontroladores actuales se desarrollaron
pensando en este sector, siendo modificadas posteriormente para adaptarse a sistemas ms genricos. El
mercado del automvil es adems uno de los ms e)igentes. los componentes electrnicos deben operar bajo
condiciones e)tremas de vibraciones, choques, ruido, etc. y seguir siendo fiables. El fallo de cualquier
componente en un automvil puede ser el origen de un accidente.
En cuanto a las tcnicas de fabricacin, cabe decir que prcticamente la totalidad de los microcontroladores
actuales se fabrican con tecnolog%a /01S : +/omplementary 0etal 1)ide Semiconductor,. Esta tecnolog%a
supera a las tcnicas anteriores por su bajo consumo y alta inmunidad al ruido.
La distribucin de las ventas seg4n su aplicacin es la siguiente.
-na tercera parte se absorbe en las aplicaciones relacionadas con los computadores y sus
perifricos.
La cuarta parte se utili!a en las aplicaciones de consumo +electrodomsticos, juegos, >?, v%deo, etc.,
El 7<@ de las ventas mundiales se destin al rea de las comunicaciones.
1tro 7<@ fue empleado en aplicaciones industriales.
El resto de los microcontroladores vendidos en el mundo, apro)imadamente un 7A@ fueron
adquiridos por las industrias de automocin.
>ambin los modernos microcontroladores de =8 bits van afian!ando sus posiciones en el mercado, siendo las
reas de ms inters el procesamiento de imgenes, las comunicaciones, las aplicaciones militares, los
procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.
1.# $ariante en lo microcontroladore
' la hora de escoger el microcontrolador a emplear en un dise&o concreto hay que tener en cuenta multitud de
factores, como la documentacin y herramientas de desarrollo disponibles y su precio, la cantidad de
fabricantes que lo producen y por supuesto las caracter%sticas del microcontrolador +tipo de memoria de
programa, n4mero de tempori!adores, interrupciones, etc.,.
/ostos. /omo es lgico, los fabricantes de microcontroladores compiten duramente para vender sus
productos. B no les va demasiado mal ya que sin hacer demasiado ruido venden 7A 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 algunos pesos es importante +el consumidor deber pagar adems
el costo del empaquetado, el de los otros componentes, el dise&o del hardCare y el desarrollo del softCare,. Si
el fabricante desea reducir costos 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 4nica familia.
'plicacin. 'ntes de seleccionar un microcontrolador es imprescindible anali!ar los requisitos de la aplicacin.
Procesamiento de datos. puede ser necesario que el microcontrolador realice clculos cr%ticos 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 ; bits, puede ser necesario acudir a microcontroladores de 7< =8 bits, o incluso a
hardCare de coma flotante. -na alternativa ms barata y qui! suficiente es usar librer%as para manejar los
datos de alta precisin. D
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
se&ales a controlar. -na ve! reali!ado este anlisis puede ser necesario a&adir perifricos hardCare e)ternos
o cambiar a otro microcontrolador ms adecuado a ese sistema.
/onsumo. algunos productos que incorporan microcontroladores estn alimentados con bater%as 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 se&al +una interrupcin, y ejecute el programa adecuado para procesarla.
0emoria. para detectar las necesidades de memoria de nuestra aplicacin debemos separarla en
memoria voltil +$'0,, memoria no voltil +$10, EP$10, etc., y memoria no voltil modificable +EEP$10,.
Este 4ltimo tipo de memoria puede ser 4til para incluir informacin espec%fica de la aplicacin como un n4mero
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 EP$10, 1>P y $10. En cuanto a la cantidad de memoria
necesaria puede ser imprescindible reali!ar una versin preliminar, aunque sea en pseudoDcdigo, 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
'ncho de palabra. el criterio de dise&o debe ser seleccionar el microcontrolador de menor ancho de
palabra que satisfaga los requerimientos de la aplicacin. -sar un microcontrolador de : bits supondr una
reduccin en los costes importante, mientras que uno de ; bits puede ser el ms adecuado si el ancho de los
datos es de un byte. Los microcontroladores de 7< y =8 bits, debido a su elevado coste, deben reservarse
para aplicaciones que requieran sus altas prestaciones +Entrada*Salida potente o espacio de direccionamiento
muy elevado,.
2ise&o de la placa. la seleccin de un microcontrolador concreto condicionar el dise&o de la placa
de circuitos. 2ebe tenerse en cuenta que qui! usar un microcontrolador barato encare!ca el resto de
componentes del dise&o.
Los microcontroladores ms populares se encuentran, sin duda, entre las mejores elecciones.
;A:; +#ntel,. Es el padre de los microcontroladores actuales, el primero de todos. Su precio, disponibilidad y
herramientas de desarrollo hacen que todav%a sea muy popular.
;AE7 +#ntel y otros,. Es sin duda el microcontrolador ms popular. 6cil de programar, pero potente. Est bien
documentado y posee cientos de variantes e incontables herramientas de desarrollo.
;A7;<, ;A7;; y ;A=;< E" +#ntel,. ?ersiones en microcontrolador de los populares microprocesadores ;A;< y
;A;;. Su principal ventaja es que permiten aprovechar las herramientas de desarrollo para P/.
<;(/77 +0otorola y >oshiba,. Es un microcontrolador de ; bits potente y popular con gran cantidad de
variantes.
<;=)) +0otorola,. Surgido a partir de la popular familia <;5, a la que se incorporan algunos perifricos. Son
microcontroladores de alt%simas prestaciones.
P#/ +0icro/hip,. 6amilia de microcontroladores que gana popularidad d%a a d%a.
6ueron los primeros microcontroladores $#S/.
Es preciso resaltar en este punto que e)isten innumerables familias de microcontroladores, cada una de las
cuales posee un gran n4mero de variantes.
1.% Rec&ro com&ne a todo lo microcontroladore.
'l estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus caracter%sticas
bsicas son muy parecidas. >odos deben disponer de los bloques esenciales Procesador, memoria de datos y
de instrucciones, l%neas de E*S, oscilador de reloj y mdulos controladores de perifricos. Sin embargo, cada
fabricante intenta enfati!ar 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, y
por ende en el P#/ 7</F77, describiendo las diversas alternativas y opciones que pueden encontrarse seg4n
el modelo seleccionado.
7.<.7 'rquitectura bsica
'unque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Geumann, en el
momento presente se impone la arquitectura (arvard. La arquitectura de von Geumann se caracteri!a por
disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. ' dicha
memoria se accede a travs de un sistema de buses 4nico +direcciones, datos y control,.
La arquitectura (arvard dispone de dos memorias independientes una, que contiene slo instrucciones y otra,
slo datos. 'mbas disponen de sus respectivos sistemas de buses de acceso y es posible
reali!ar operaciones de acceso +lectura o escritura, simultneamente en ambas memorias. 6igura 7.=.
6igura 7.=. La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones
permitiendo accesos simultneos.
Los microcontroladores P#/ responden a la arquitectura (arvard.
7.<.8 El procesador o -/P
Es el elemento ms importante del microcontrolador y determina sus principales caracter%sticas, tanto a nivel
hardCare como softCare.
Se encarga de direccionar la memoria de instrucciones, recibir el cdigo 1P de la instruccin en curso, su
decodificacin y la ejecucin de la operacin que implica la instruccin, as% como la b4squeda de los
operandos y el almacenamiento del resultado.
E)isten tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.
/#S/. -n gran n4mero de procesadores usados en los microcontroladores estn basados en la filosof%a /#S/
+/omputadores de Huego de #nstrucciones /omplejo,.
2isponen de ms de ;A instrucciones mquina en su repertorio, algunas de las cuales son muy sofisticadas y
potentes, requiriendo muchos ciclos para su ejecucin.
-na ventaja de los procesadores /#S/ es que ofrecen al programador instrucciones complejas que act4an
como macros.
$#S/. >anto la industria de los computadores comerciales como la de los microcontroladores estn
decantndose hacia la filosof%a $#S/ +/omputadores de Huego de #nstrucciones $educido,. En estos
procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y,
generalmente, se ejecutan en un ciclo.
La sencille! y rapide! de las instrucciones permiten optimi!ar el hardCare y el softCare del procesador.
S#S/. En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems
de ser reducido, es Iespec%ficoI, o sea, las instrucciones se adaptan a las necesidades de la aplicacin
prevista. Esta filosof%a se ha bauti!ado con el nombre de S#S/ +/omputadores de Huego de #nstrucciones
Espec%fico,.
7.<.= 0emoria
En los microcontroladores la memoria de instrucciones y datos est integrada en el propio chip. -na parte
debe ser no voltil, tipo $10, y se destina a contener el programa de instrucciones que gobierna la
aplicacin. 1tra parte de memoria ser tipo $'0, voltil, y se destina a guardar las variables y los datos.
(ay dos peculiaridades que diferencian a los microcontroladores de los computadores personales.
7. Go e)isten sistemas de almacenamiento masivo como disco duro o disquetes.
8. /omo el microcontrolador slo se destina a una tarea en la memoria $10, slo hay que almacenar
un 4nico programa de trabajo.
La $'0 en estos dispositivos es de poca capacidad pues slo debe contener las variables y los cambios de
informacin que se produ!can en el transcurso del programa.
Por otra parte, como slo e)iste un programa activo, no se requiere guardar una copia del mismo en la $'0
pues se ejecuta directamente desde la $10.
Los usuarios de computadores personales estn habituados a manejar 0egabytes de memoria, pero, los
dise&adores con microcontroladores trabajan con capacidades de $10 comprendidas entre E78 bytes y ; 5
bytes y de $'0 comprendidas entre 8A y E78 bytes.
Seg4n el tipo de memoria $10 que dispongan los microcontroladores, la aplicacin y utili!acin de los
mismos es diferente. Se describen las cinco versiones de memoria no voltil que se pueden encontrar en los
microcontroladores del mercado.
7J. $10 con mscara
Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado
costo del dise&o de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de
memoria cuando se precisan cantidades superiores a varios miles de unidades.
8K. 1>P
El microcontrolador contiene una memoria no voltil de slo lectura Iprogramable una sola ve!I por el usuario.
1>P +1ne >ime Programmable,. Es el usuario quien puede escribir el programa en el chip mediante un
sencillo grabador controlado por un programa desde un P/.
La versin 1>P es recomendable cuando es muy corto el ciclo de dise&o del producto, o bien, en
la construccin de prototipos y series muy peque&as. >anto en este tipo de memoria como en la EP$10, se
suele usar la encriptacin mediante fusibles para proteger el cdigo contenido.
=K EP$10
Los microcontroladores que disponen de memoria EP$10 +Erasable Programmable $ead 1n#y 0emory,
pueden borrarse y grabarse muchas veces. La grabacin se reali!a, como en el caso de los 1>P, con un
grabador gobernado desde un P/. Si, posteriormente, se desea borrar el contenido, disponen de una ventana
de cristal en su superficie por la que se somete a la EP$10 a rayos ultravioleta durante varios minutos. Las
cpsulas son de material cermico y son ms caros que los microcontroladores con memoria 1>P que estn
hechos con material plstico.
:K EEP$10
Se trata de memorias de slo lectura, programables y borrables elctricamente EEP$10 +Electrical Erasable
Programmable $ead 1n#y 0emory,. >anto la programacin como el borrado, se reali!an elctricamente desde
el propio grabador y bajo el control programado de un P/. Es muy cmoda y rpida la operacin de grabado y
la de borrado. Go disponen de ventana de cristal en la superficie.
Los microcontroladores dotados de memoria EEP$10 una ve! instalados en el circuito, pueden grabarse y
borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan Igrabadores en circuitoI
que confieren una gran fle)ibilidad y rapide! a la hora de reali!ar modificaciones en el programa de trabajo.
El n4mero de veces que puede grabarse y borrarse una memoria EEP$10 es finito, por lo que no es
recomendable una reprogramacin continua. Son muy idneos para la ense&an!a y la #ngenier%a de dise&o.
Se va e)tendiendo en los fabricantes la tendencia de incluir una peque&a !ona de memoria EEP$10 en los
circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el
dispositivo a las condiciones del entorno.
Este tipo de memoria es relativamente lenta.
EK 6L'S(
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar.
6unciona como una $10 y una $'0 pero consume menos y es ms peque&a.
' diferencia de la $10, la memoria 6L'S( es programable en el circuito. Es ms rpida y de
mayor densidad que la EEP$10.
La alternativa 6L'S( est recomendada frente a la EEP$10 cuando se precisa gran cantidad de memoria
de programa no voltil. Es ms velo! y tolera ms ciclos de escritura*borrado.
Las memorias EEP$10 y 6L'S( son muy 4tiles al permitir que los microcontroladores que las incorporan
puedan ser reprogramados Ien circuitoI, es decir, sin tener que sacar el circuito integrado de la tarjeta. 's%, un
dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda
modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros
factores tales como la compresin, la instalacin de nuevas pie!as, etc. La reprogramacin del
microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.
7.<.: Puertas de Entrada y Salida
La principal utilidad de las patitas que posee la cpsula que contiene un microcontrolador es soportar las
l%neas de E*S que comunican al computador interno con los perifricos e)teriores.
Seg4n los controladores de perifricos que posea cada modelo de microcontrolador, las l%neas de E*S se
destinan a proporcionar el soporte a las se&ales de entrada, salida y control.
7.<.E $eloj principal
>odos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta
frecuencia, que configura los impulsos de reloj usados en la sincroni!acin de todas las operaciones del
sistema.
3eneralmente, el circuito de reloj est incorporado en el microcontrolador y slo se necesitan unos pocos
componentes e)teriores para seleccionar y estabili!ar la frecuencia de trabajo. 2ichos componentes suelen
consistir en un cristal de cuar!o junto a elementos pasivos o bien un resonador cermico o una red $D/.
'umentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva
aparejado un incremento del consumo de energ%a.
1.' RECURSOS ES(ECIALES
/ada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador. En algunas
ampl%a las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las
prestaciones al m%nimo para aplicaciones muy simples, etc. La labor del dise&ador es encontrar el modelo
m%nimo que satisfaga todos los requerimientos de su aplicacin. 2e esta forma, minimi!ar el costo, el
hardCare y el softCare.
Los principales recursos espec%ficos que incorporan los microcontroladores son.
>empori!adores o I>imersI.
Perro guardin o ILatchdogI.
Proteccin ante fallo de alimentacin o IMroCnoutI.
Estado de reposo o de bajo consumo.
/onversor '*2.
/onversor 2*'.
/omparador analgico.
0odulador de anchura de impulsos o PL0.
Puertas de E*S digitales.
Puertas de comunicacin.
7.F.7 >empori!adores o I>imersI
Se emplean para controlar periodos de tiempo +tempori!adores, y para llevar la cuenta de acontecimientos
que suceden en el e)terior +contadores,.
Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va
incrementando o decrementando al ritmo de los impulsos de reloj o alg4n m4ltiplo hasta que se desborde y
llegue a A, momento en el que se produce un aviso.
/uando se desean contar acontecimientos que se materiali!an por cambios de nivel o flancos en alguna de
las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de
dichos impulsos.
7.F.8 Perro guardin o ILatchdogI
/uando el computador personal se bloquea por un fallo del softCare u otra causa, se pulsa el botn del reset
y se reiniciali!a el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma
continuada las 8: horas del d%a. El Perro guardin consiste en un tempori!ador que, cuando se desborda y
pasa por A, provoca un reset automticamente en el sistema.
Se debe dise&ar el programa de trabajo que controla la tarea de forma que refresque o inicialice al Perro
guardin antes de que provoque el reset. Si falla el programa o se bloquea, no se refrescar al Perro guardin
y, al completar su tempori!acin, Iladrar y ladrarI hasta provocar el reset.
7.F.= Proteccin ante fallo de alimentacin o IMroCnoutI
Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentacin +?22, es inferior a
un voltaje m%nimo +IbroCnoutI,. 0ientras el voltaje de alimentacin sea inferior al de broCnout el dispositivo se
mantiene reseteado, comen!ando a funcionar normalmente cuando sobrepasa dicho valor.
7.F.: Estado de reposo de bajo consumo
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a
que se produ!ca alg4n acontecimiento e)terno que le ponga de nuevo en funcionamiento. Para ahorrar
energ%a, +factor clave en los aparatos porttiles,, los microcontroladores disponen de una instruccin especial
+SLEEP en los P#/,, que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de
potencia son m%nimos. En dicho estado se detiene el reloj principal y se IcongelanI sus circuitos asociados,
quedando sumido en un profundo Isue&oI el microcontrolador. 'l activarse una interrupcin ocasionada por el
acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo.
7.F.E /onversor '*2 +/'2,
Los microcontroladores que incorporan un /onversor '*2 +'nalgico*2igital, pueden procesar se&ales
analgicas, tan abundantes en las aplicaciones. Suelen disponer de un multiple)or que permite aplicar a la
entrada del /'2 diversas se&ales analgicas desde las patitas del circuito integrado.
7.F.< /onversor 2*' +/2',
>ransforma los datos digitales obtenidos del procesamiento del computador en su correspondiente se&al
analgica que saca al e)terior por una de las patitas de la cpsula.
E)isten muchos efectores que trabajan con se&ales analgicas.
7.F.F /omparador analgico
'lgunos modelos de microcontroladores disponen internamente de un 'mplificador 1peracional que act4a
como comparador entre una se&al fija de referencia y otra variable que se aplica por una de las patitas de la
cpsula. La salida del comparador proporciona un nivel lgico 7 A seg4n una se&al sea mayor o menor que
la otra.
>ambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona
diversas tensiones de referencia que se pueden aplicar en los comparadores.
7.F.; 0odulador de anchura de impulsos o PL0
Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al e)terior a travs
de las patitas del encapsulado.
7.F.N Puertas de E*S digitales
>odos los microcontroladores destinan algunas de sus patitas a soportar l%neas de E*S digitales. Por lo
general, estas l%neas se agrupan de ocho en ocho formando Puertas.
Las l%neas digitales de las Puertas pueden configurarse como Entrada o como Salida cargando un 7 un A en
el bit correspondiente de un registro destinado a su configuracin.
7.F.7A Puertas de comunicacin
/on objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos e)ternos,
otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros
elementos bajo otras normas y protocolos.
'lgunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan.
-'$>, adaptador de comunicacin serie as%ncrona.
-S'$>, adaptador de comunicacin serie s%ncrona y as%ncrona
Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores.
-SM +-niversal Serial Mus,, que es un moderno bus serie para los P/.
Mus #8/, que es un interfa! serie de dos hilos desarrollado por Philips.
/'G +/ontroller 'rea GetCor5,, para permitir la adaptacin con redes de cone)ionado multiple)ado
desarrollado conjuntamente por Mosch e #ntel para el cableado de dispositivos en automviles. En EE.--. se
usa el H7;E1.
1.) *erramienta para el dearrollo de aplicacione.
-no de los factores que ms importancia tiene a la hora de seleccionar un microcontrolador entre todos los
dems es el soporte tanto softCare como hardCare de que dispone. -n buen conjunto de herramientas de
desarrollo puede ser decisivo en la eleccin, ya que pueden suponer una ayuda inestimable en el desarrollo
del proyecto.
Las principales herramientas de ayuda al desarrollo de sistemas basados en microcontroladores son.
2esarrollo del softCare.
Ensamblador. La programacin en lenguaje ensamblador puede resultar un tanto ardua para el principiante,
pero permite desarrollar programas muy eficientes, ya que otorga al programador el dominio absoluto del
sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma gratuita y en cualquier caso
siempre se puede encontrar una versin gratuita para los microcontroladores ms populares.
/ompilador. La programacin en un lenguaje de alto nivel +como el /, permite disminuir el tiempo de
desarrollo de un producto. Go obstante, si no se programa con cuidado, el cdigo resultante puede ser mucho
ms ineficiente que el programado en ensamblador. Las versiones ms potentes suelen ser muy caras,
aunque para los
microcontroladores ms populares pueden encontrarse versiones demo limitadas e incluso compiladores
gratuitos.
2epuracin. debido a que los microcontroladores van a controlar dispositivos f%sicos, los
desarrolladores necesitan herramientas que les permitan comprobar el buen funcionamiento del
microcontrolador cuando es conectado al resto de circuitos.
Simulador. Son capaces de ejecutar en un P/ programas reali!ados para el microcontrolador. Los
simuladores permiten tener un control absoluto sobre la ejecucin de un programa, siendo ideales para la
depuracin de los mismos. Su gran inconveniente es que es dif%cil simular la entrada y salida de datos del
microcontrolador.
>ampoco cuentan con los posibles ruidos en las entradas, pero, al menos, permiten el paso f%sico de la
implementacin de un modo ms seguro y menos costoso, puesto que ahorraremos en grabaciones de chips
para la prueba inDsitu.
Placas de evaluacin. Se trata de peque&os sistemas con un microcontrolador ya montado y que suelen
conectarse a un P/ desde el que se cargan los programas que se ejecutan en el microcontrolador. Las placas
suelen incluir visuali!adores L/2, teclados, LE2s, fcil acceso a los pines de E*S, etc. El sistema operativo de
la placa recibe el nombre de programa monitor. El programa monitor de algunas placas de evaluacin, aparte
de permitir cargar programas y datos en la memoria del microcontrolador, puede permitir en cualquier
momento reali!ar ejecucin paso a paso, monitori!ar el estado del microcontrolador o modificar los
valores almacenados los registros o en la memoria.
Emuladores en circuito. Se trata de un instrumento que se coloca entre el P/ anfitrin y el !calo de la tarjeta
de circuito impreso donde se alojar el microcontrolador definitivo. El programa es ejecutado desde el P/,
pero para la tarjeta de aplicacin es como si lo hiciese el mismo microcontrolador que luego ir en el !calo.
Presenta en pantalla toda la informacin tal y como luego suceder cuando se coloque la cpsula.
2. +RE$E INTRODUCCI,N A LA (RO-RAMACI,N DE LOS .CONTROLADORES (IC
2.1 Ree/a
>rataremos de brindar una breve descripcin del mtodo para programar estos microcontroladores sin entrar
en tcnicas avan!adas, nos centraremos directamente en la programacin de los Ocontroladores que nos
ocupan, los P#/, es decir, no e)plicaremos en s% las estrategias asociadas al dise&o, ya que en este caso no
nos conciernen.
Go obstante acompa&amos nuestro trabajo con un organigrama con las distintas fases de implementacin, en
las que, de hecho, suponemos, tras una fase de estudio del problema, elegido ya el mejor Ocontrolador, as%
como decidido el sistema de cone)in de patillas de E*S correcto.
Las herramientas 0PL'M, 0P'S0 y 0PS#0 se utili!an para los microcontroladores P#/ y se pueden
encontrar y bajar gratuitamente de internet en la direccin CCC.microchip.com.
!. LA 0AMILIA DE LOS (IC.
2ado que las caracter%sticas de los microcontroladores P#/ en su mayor%a se agrupan por familias es muy
importante para describir el modelo P#/ 7</F77 dar una idea de las caracter%sticas de su familia o gama. El
P#/ 7</F77 pertenece a la gama media.
Por otro lado hemos notado que 0icrochip ha hecho un upgrade de casi todos sus microcontroladores
incluyendo el 7</F77 el cual ya tiene un sustituto +esto se informa en su sitio Ceb,, dado que la mayor%a de
la bibliograf%a que hemos consultado no contemplan estos cambios, nosotros hemos decidido reali!ar este
anlisis de la misma forma.
(emos buscado en multitud de bibliograf%a y realmente nadie da una respuesta concreta de porque la
popularidad del P#/, pero una apro)imacin a la realidad puede ser esta.
Los P#/ tienen varias cualidades interesantes, puede ser la velocidad, el precio, la facilidad de uso, la
informacin, las herramientas de apoyo... .
9ui!s un poco de todo eso es lo que produce esa imagen de sencille! y utilidad. Es probable que en un
futuro pr)imo otra familia de microcontroladores le arrebate ese IalgoI.
9ueremos constatar que para las aplicaciones ms habituales +casi un NA@, la eleccin de una versin
adecuada de P#/ es la mejor solucinP sin embargo, dado su carcter general, otras familias de
microcontroladores son ms eficaces en aplicaciones espec%ficas, especialmente si en ellas predomina una
caracter%stica concreta, que puede estar muy desarrollada en otra familia.
Los detalles ms importantes que vuelven IlocosI a los profesionales de la microelectrnica y microinformtica
y las ra!ones de la e)celente acogida que tienen los P#/ son los siguientes.
Sencille! de manejo. >ienen un juego de instrucciones reducidoP =E en la gama media.
Muena informacin, fcil de conseguir y econmica.
Precio. Su costo es comparativamente inferior al de sus competidores.
Poseen una elevada velocidad de funcionamiento. Muen promedio de parmetros. velocidad,
consumo, tama&o, alimentacin, cdigo compacto, etc.
(erramientas de desarrollo fciles y baratas. 0uchas herramientas softCare se pueden recoger
libremente a travs de #nternet desde 0icrochip + http.**CCC.microchip.com ,
E)iste una gran variedad de herramientas hardCare que permiten grabar, depurar, borrar y
comprobar el comportamiento de los P#/.
2ise&o rpido.
La gran variedad de modelos de P#/ permite elegir el que mejor responde a los requerimientos de la
aplicacin.
-na de las ra!ones del )ito de los P#/ se basa en su utili!acin. /uando se aprende a manejar uno de ellos,
conociendo su arquitectura y su repertorio de instrucciones, es muy fcil emplear otro modelo.
!.1 Caracter1tica rele2ante.
2escripcin de las caracter%sticas ms representativas de los P#/.
!.1.1 Ar3&itect&ra.
La arquitectura del procesador sigue el modelo (arvard. En esta arquitectura, la /P- se conecta de forma
independiente y con buses distintos con la memoria de instrucciones y con la de datos.
La arquitectura (arvard permite a la /P- acceder simultneamente a las dos memorias. 'dems, propicia
numerosas ventajas al funcionamiento del sistema como se irn describiendo.
!.1.2 Se4mentaci5n.
Se aplica la tcnica de segmentacin +IpipeDlineI, en la ejecucin de las instrucciones.
La segmentacin permite al procesador reali!ar al mismo tiempo la ejecucin de una instruccin y la
b4squeda del cdigo de la siguiente. 2e esta forma se puede ejecutar cada instruccin en un ciclo +un ciclo de
instruccin equivale a cuatro ciclos de reloj,.
Las instrucciones de salto ocupan dos ciclos al no conocer la direccin de la siguiente instruccin hasta que
no se haya completado la de bifurcacin.
!.1.! 0ormato de la intr&ccione.
El formato de todas las instrucciones es de la misma longitud >odas las instrucciones de los
microcontroladores de la gama baja tienen una longitud de 78 bits. Las de la gama media tienen 7: bits y ms
las de la gama alta. Esta caracter%stica es muy ventajosa en la optimi!acin de la memoria de instrucciones y
facilita enormemente la construccin de ensambladores y compiladores.
!.1." 6&e4o de intr&ccione.
Procesador $#S/ +/omputador de Huego de #nstrucciones $educido,. Los modelos de la gama baja disponen
de un repertorio de == instrucciones, =E los de la gama media y casi <A los de la alta.
!.1.# Intr&ccione Orto4onale.
/ualquier instruccin puede manejar cualquier elemento de la arquitectura como fuente o como destino.
!.1.% Ar3&itect&ra 7aada en &n 87anco de re4itro8
Esto significa que todos los objetos del sistema +puertas de E*S, tempori!adores, posiciones de memoria, etc.,
estn implementados f%sicamente como registros.
!.1.' Di2eridad de modelo de microcontroladore con pretacione y rec&ro diferente
La gran variedad de modelos de microcontroladores P#/ permite que el usuario pueda seleccionar el ms
conveniente para su proyecto.
). *erramienta de oporte potente y econ5mica.
La empresa 0icrochip y otras que utili!an los P#/ ponen a disposicin de los usuarios numerosas
herramientas para desarrollar hardCare y softCare. Son muy abundantes los programadores, los simuladores
softCare, los emuladores en tiempo real, Ensambladores, /ompiladores /, #ntrpretes y /ompiladores
M'S#/, etc.
La arquitectura (arvard y la tcnica de segmentacin son los principales recursos en los que se apoya el
elevado rendimiento que caracteri!a estos dispositivos programables, mejorando dos caracter%sticas
esenciales.
7. ?elocidad de ejecucin.
8. Eficiencia en la compactacin del cdigo.
!.2 La 4ama de (IC
-na de las labores ms importantes del ingeniero de dise&o es la eleccin del microcontrolador que mejor
satisfaga las necesidades del proyecto con el m%nimo presupuesto.
Para resolver aplicaciones sencillas se precisan pocos recursos, en cambio, las aplicaciones grandes
requieren numerosos y potentes. Siguiendo esta filosof%a 0icrochip construye diversos modelos de
microcontroladores orientados a cubrir, de forma ptima, las necesidades de cada proyecto. 's%, hay
disponibles microcontroladores sencillos y baratos para atender las aplicaciones simples y otros complejos y
ms costosos para las de mucha envergadura. 0icrochip dispone de cuatro familias de microcontroladores de
; bits para adaptarse a las necesidades de la mayor%a de los clientes potenciales.
En la mayor parte de la bibliograf%a encontremos tan solo tres familias de microcontroladores, con lo que
habrn despreciado la llamada gama enana, que es en realidad una subfamilia formada por componentes
pertenecientes a las otras gamas. En nuestro caso hemos preferido comentarla dado que los P#/ enanos son
muy apreciados en las aplicaciones de control de personal, en sistemas de seguridad y en dispositivos de
bajo consumo que gestionan receptores y transmisores de se&ales. Su peque&o tama&o los hace ideales en
muchos proyectos donde esta cualidad es fundamental.
2escribiremos brevemente las familias enana, baja y alta y nos concentraremos en la gama media a la cual
pertenece el 7</F77 describiendo sus registros en el pr)imo apartado.
!.2.1 La 4ama enana9 (IC12C:0;<<< de ) patita
Se trata de un grupo de P#/ de reciente aparicin que ha acaparado la atencin del mercado. Su principal
caracter%stica es su reducido tama&o, al disponer todos sus componentes de ; patitas. Se alimentan con un
voltaje de corriente continua comprendido entre 8,E ? y E,E ?, y consumen menos de 8 m' cuando trabajan a
E ? y : 0(!. El formato de sus instrucciones puede ser de 78 o de 7: bits y su repertorio es de == o =E
instrucciones, respectivamente. En la 6igura =.7 se muestra el diagrama de cone)ionado de uno de estos P#/.
6igura =.7. !iagrama de conexiones de los "#$%&$xxx de la gama enana.
'unque los P#/ enanos slo tienen ; patitas, pueden destinar hasta < como l%neas de E*S para los perifricos
porque disponen de un oscilador interno $D/.
En la >abla =.7 se presentan las principales caracter%sticas de los modelos de esta subfamilia, que el
fabricante tiene la intencin de potenciar en un futuro pr)imo. Los modelos 78/E)) pertenecen a la gama
baja, siendo el tama&o de las instrucciones de 78 bitsP mientras que los 78/<)) son de la gama media y sus
instrucciones tienen 7: bits.
Los modelos 786<)) poseen memoria 6lash para el programa y EEP$10 para los datos.
>abla =.7. $aractersticas de los modelos "#$%&$'()*** de la gama enana.
!.2.2 -ama 7a=a o 7>ica9 (IC1%C#< con intr&ccione de 12 7it.
Se trata de una serie de P#/ de recursos limitados, pero con una de la mejores relaciones costo*prestaciones.
Sus versiones estn encapsuladas con 7; y 8; patitas y pueden alimentarse a partir de una tensin de 8,E ?,
lo que les hace ideales en las aplicaciones que funcionan con pilas teniendo en cuenta su bajo consumo
+menos de 8 m' a E ? y : 0(!,. >ienen un repertorio de == instrucciones cuyo formato consta de 78 bits. Go
admiten ning4n tipo de interrupcin y la Pila slo dispone de dos niveles. En la 6igura =.8 se muestra el
diagrama de cone)ionado de uno de estos P#/.
6igura =.8. !iagrama de patitas de los "#$ de la gama ba+a que responden a la nomenclatura
"#$%,$-./-,.
'l igual que todos los miembros de la familia P#/7<*7F, los componentes de la gama baja se caracteri!an por
poseer los siguientes recursos. +en la >abla =.8 se presentan las principales caracter%sticas de los modelos de
esta familia,.
7. Sistema P1$ +IPoCer 1n $esetI, >odos los P#/ tienen la facultad de generar una autoreiniciali!acin o
autoreset al conectarles la alimentacin.
8. Perro guardin +Latchdog o L2>, E)iste un tempori!ador que produce un reset automticamente si no es
recargado antes que pase un tiempo prefijado. 's% se evita que el sistema quede IcolgadoI dado en esa
situacin el programa no recarga dicho tempori!ador y se genera un reset.
=. /digo de proteccin. /uando se procede a reali!ar la grabacin del programa, puede protegerse para
evitar su lectura. >ambin disponen los P#/ de posiciones reservadas para registrar n4meros de serie, cdigos
de identificacin, prueba, etc.
>abla =.8. $aractersticas de los modelos "#$%,$0-* de la gama ba+a
:. L%neas de E*S de alta corriente. Las l%neas de E*S de los P#/ pueden proporcionar o absorber una corriente
de salida comprendida entre 8A y 8E m', capa! de e)citar directamente ciertos perifricos.
E. 0odo de reposo +Majo consumo o IsleepI, Ejecutando una instruccin +SLEEP,, la /P- y el oscilador
principal se detienen y se reduce notablemente el consumo.
Para terminar el comentario introductorio sobre los componentes de la gama baja conviene nombrar dos
restricciones importantes.
La pila o Istac5I slo dispone de dos niveles lo que supone no poder encadenar ms de dos
subrutinas.
Los microcontroladores de la gama baja no admiten interrupciones.
!.2.! -ama media. (IC1%C<<< con intr&ccione de 1" 7it
Es la gama ms variada y completa de los P#/. 'barca modelos con encapsulado desde 7; patitas hasta <;,
cubriendo varias opciones que integran abundantes perifricos. 2entro de esta gama se halla el Qfabuloso
P#/7<";:R y sus variantes. En la 6igura =.= se muestra el diagrama de cone)ionado de uno de estos P#/.
6igura =.=. !iagrama de patitas del "#$%,$1. uno de los modelos ms representativos de la gama media.
En esta gama sus componentes a&aden nuevas prestaciones a las que pose%an los de la gama baja,
hacindoles ms adecuados en las aplicaciones complejas. 'dmiten interrupciones, poseen comparadores de
magnitudes analgicas, convertidores '*2, puertos serie y diversos tempori!adores.
El repertorio de instrucciones es de =E, de 7: bits cada una y compatible con el de la gama baja. Sus distintos
modelos contienen todos los recursos que se precisan en las aplicaciones de los microcontroladores de ; bits.
>ambin dispone de interrupciones y una Pila de ; niveles que permite el anidamiento de subrutinas. En la
>abla =.= se presentan las principales caracter%sticas de los modelos de esta familia.
>abla =.=. $aractersticas relevantes de los modelos "#$%,*2* de la gama media.
Encuadrado en la gama media tambin se halla la versin P#/7:/AAA, que soporta el dise&o de controladores
inteligentes para cargadores de bater%as, pilas peque&as, fuentes de alimentacin ininterrumpibles y cualquier
sistema de adquisicin y procesamiento de se&ales que requiera gestin de la energ%a de alimentacin. Los
P#/ 7:/AAA admiten cualquier tecnolog%a de las bater%as como LiD#on, Gi0(, Gi/d, Ph y Sinc.
El tempori!ador >0$7 que hay en esta gama tiene un circuito oscilador que puede trabajar as%ncronamente y
que puede incrementarse aunque el microcontrolador se halle en el modo de reposo +IsleepI,, posibilitando la
implementacin de un reloj en tiempo real.
Las l%neas de E*S presentan una carga IpullDupI activada por softCare.
!.2." -ama alta9 (IC1'C<<< con intr&ccione de 1% 7it.
Se alcan!an las E; instrucciones de 7< bits en el repertorio y sus modelos disponen de un sistema de gestin
de interrupciones vectori!adas muy potente. >ambin incluyen variados controladores de perifricos, puertas
de comunicacin serie y paralelo con elementos e)ternos, un multiplicador hardCare de gran velocidad y
mayores capacidades de memoria, que alcan!a los ; 5 palabras en la memoria de instrucciones y :E: bytes
en la memoria de datos.
9ui!s la caracter%stica ms destacable de los componentes de esta gama es su arquitectura abierta, que
consiste en la posibilidad de ampliacin del microcontrolador con elementos e)ternos. Para este fin, las patitas
sacan al e)terior las l%neas de los buses de datos, direcciones y control, a las que se conectan memorias o
controladores de
perifricos. Esta facultad obliga a estos componentes a tener un elevado numero de patitas comprendido
entre :A y ::. Esta filosof%a de construccin del sistema es la que se empleaba en los microprocesadores y no
suele ser una prctica habitual cuando se emplean microcontroladores. En la tabla =.: se muestran las
caracter%sticas ms relevantes de los modelos de esta gama, que slo se utili!an en aplicaciones muy
especiales con grandes requerimientos.
>abla =.:. $aractersticas ms destacadas de los modelos "#$%1$*** de la gama alta.
$on vistas al siglo **# 3icroc4ip lan5 la gama 6me+orada6 "#$%2$***.
". MICROCONTROLADOR (IC 1%C'11
".1 Introd&cci5n a & ar3&itect&ra
La alta performance de los P#/ 7</""" puede ser atribuida a su arquitectura $#S/ la cul ya hemos
comentado y a su modelo (arvard referente a la implementacion de la memoria.
Muses separados de datos y programa posibilita alojar instrucciones de tama&os diferentes, ; bits para las
palabras de datos.
Lo cdigos de operacin +1P/12E, son de 7: bits haciendo esto posible tener todas las palabras de
instrucciones sencillas. Los 7: bits de ancho del bus de acceso a la memoria de programa nos permite hacer
un fetch a una instruccin de 7: bits en un solo ciclo.
El ItCostage pipelineI nos permite hacer el fetch de una instruccin y la ejecucin de otra al mismo tiempo,
consecuentemente todas las instrucciones +=E, en un 4nico ciclo +8AA ns. T 8A 0h!., con la e)cepcin de los
saltos de programa.
La siguiente tabla muestra los tama&os de las memorias de datos y programa de este P#/.
2ispositivo 0emoria de Programa 0emoria de 2atos
P#/ 7</F77 7U ) 7: <; ) ;
>abla :.7. Tama7o de las memorias del "#$ %,$1%%.
Los P#/ 7</"" contienen la -'L de ; bits y el registro de trabajo de ; bits, la -'L es la unidad aritmtica de
propsito general, reali!a operaciones booleanas y aritmticas entre los datos del registro de trabajo +L
register, y otros registros. El L register es un registro no direccionable utili!ado por las operaciones de la
-'L.
En las operaciones de 8 operandos tipicas, un operando esta en el L register y el otro o es una constante
inmediata o esta en otro registroP en las operaciones de 7 operando este generalmente se encuentra en el L
register pero esto no es e)cluyente.
2ependiendo de las instrucciones ejecutadas en la -'L, los valores de los bits /arry + / ,, 2igit /arry +2/, y
cero +S,, en el S>'>-S $egister sern afectados.
6igura :.8. !iagrama de boque de los "#$ %,$1%*
6igura :.=. "#$%,$1%8/1%/1%%/1%- "#9:;T !E<$=#"T#:9
".1.1 Cloc?in4 Sc@emeACiclo de Intr&cci5n9
La entrada de cloc5 +1S/7, es internamente dividida en : para generar : nonDoverlaping se&ales de cloc5
cuadradas llamadas 97, 98, 9=, 9:. #nternamente el P/ +Program counter, es incrementado cada 97, la
instruccin es tra%da +fetch, desde la memoria de programa al registro de instruccin en 9:. La instruccin en
decodificada y ejecutada en el intervalo entre 97 y 9: como lo muestra la siguiente figura.
6igura :.:. $loc> / #nstruction $ycle.
".1.2 Intr&ction 0loB A (ipelinin4
El cilclo de instruccin consiste en : ciclos 9 + 97, 98, 9= y 9:, . Las instrucciones 6etch y E)ecute se
reali!an bajo un mtodo llamado Pipelined. Estas dos instrucciones necesitan un ciclo de instruccin cada una
para llevarse a cabo, pero bajo este mtodo en casi todos los casos se pueden llevar a cabo en un ciclo de
instruccin ejecutando la instruccin que est en el P/ y haciendo el 6etch de la instruccin P/V7, los casos
en los que esta operacin dual no puede llevarse a cabo es en los saltos de programa +ej. 31>1, en los
cuales es necesario 8 ciclos de instruccin separados para cada una de estas instrucciones +siguiente figura,.
El ciclo 6etch comien!a cuando el P/ incrementa en 97.
En el ciclo de ejecucin, la instruccin que est en el #$ es decodificada y ejecutada mientras duran 98, 9= y
9:. La memoria de datos es leida durante 98 +operacin read, y es escrita durante 9: +operacin Crite,.
6igura :.E. #nstruccin Pipeline 6loC.
".2 Or4aniCaci5n de & memoria
:.8.7 1rgani!acin de la memoria de programa
Los P#/ de la familia 7</F7" tienen un program counter +P/, de 7= bits, pudiendo direccionar una memoria
de programa de ;U)7: de espacio.
6igura :.<. rango de direccionamiento de esta familia.
El $eset vector est en la direccin AAAAh y el #nterrupt ?ector est en la direccin AAA:h.
6igura :.F. 3apa de la memoria de programa y el stac> de los "#$ %,$1% y %,$1%%.
2ado que estos chips pueden direccionar hasta ;U, los accesos a direcciones superiores a la direccin A=66h
ocasionan un Craparround.
".2.2 Or4aniCaci5n de la memoria de dato
La ampliacin de recursos en los P#/ for! en los catalogados como de gama media una nueva estructura y
la modificacin de algunas instrucciones +partiendo, claro est, de la gama baja,. -na de las diferencias
fundamentales es, precisamente, la ampliacin de memoria de registros, a los que se unieron algunos nuevos
de sistema, y la accesibilidad a parte de los mismos que antes quedaban ocultos, como 1P>#1G o >$#S, de
los que hablaremos a continuacin.
2e este modo se opt por dos bancos de registros de 78; posiciones cada uno, la mayor%a de los cuales son
de propsito general. En el siguiente esquema, que muestra esta organi!acin, las direcciones con casillas
blancas muestran posiciones de registros espec%ficos, y las grises generales.
Estn implementadas en memoria esttica.
El bit $PA es el selector de banco.
$PA +S>'>-SWEXMan5 7 , Y 7
$PA +S>'>-SWEXMan5 A , Y A
6igura :.;. 3apa de registros del "#$ %,$1%%.
".2.2.1 Re4itro de 0&ncione epeciale
Estos registros son utili!ados por el /P- y los perifricos para controlar la operacin del dispositivo.
Los registros de funciones especiales se pueden clasificar en 8 conjuntos, +core y peripheral,.
Go daremos una descripcin muy pormenori!ada del tema poruqe deber%amos profundi!ar demasiado en este
tema, si el lector desea hacerlo, puede encontrar esta informacin en la hoja de datos del chip 7</F77 la cul
se encuentra en CCC.microchip.com.
6igura :.N. <umario del registro de funciones especiales '%,$1%%).
".! Re4itro epec1fico
El P/. 2ireccionamiento del programa. El P/ consta de 7= bits, con lo que es posible direccionar hasta ;U
palabras, separadas en bancos de 8U. El byte de menos peso de la direccin se guarda en el registro P/L,
sito en la posicin A)A8 del banco A, mientras los E bits de ms peso se guardan en los E bits de menos peso
del registro P/L'>( +direccin A)A;,. Puesto que las instrucciones /'LL y 31>1 slo cuentan con 77 bits,
sus saltos sern relativos a la pgina en la que estemos. El cambio real de pgina se har cambiando los bits
P/L'>(.: y P/L'>(.=.
El 1P>#1G. $egistro de opciones
Los siguientes registros no sern e)plicados.
Los registros P#E7 y P#$7 estn relacionados con el comparador, as% como /0/1G y ?$/1G, y no sern
e)plicados. El registro 6S$ es utili!ado en la gama baja, por lo que tampoco nos ocuparemos de l.
Los registros >0$A, P1$>', P1$>M, >$#S' B >$#SM, estn mas afines a la programacin del Pic por lo que
los obviaremos.
$*L $*L $*L $*L $*L $*L $*L $*L
3#E PE#E >A#E #G>E $M#E >A#6 #G>6 $M#6
3#E. 'ctivacin global de interrupciones..
7 Y #nterrupciones activadas. A Y #nterrupciones desactivadas.
PE#E. 'ctivacin de la interrupcin de perifricos +comparador,
7 Y 'ctivada. A Y 2esactivada.
>A#E. 'ctivacin de la interrupcin del >0$A.
7 Y 'ctivada. A Y 2esactivada.
#G>E. 'ctivacin de la interrupcin e)terna.
7 Y 'ctivada. A Y 2esactivada.
$M#E. 'ctivacin de la interrupcin de la puerta M.
7 Y 'ctivada. A Y 2esactivada.
>A#6. #ndicador de >0$A se ha desbordado.
7 Y >0$A desbordado. Morrar por softCare. A Y Go se ha desbordado.
#G>6. SoftCare de estado de la interrupcin e)terna
$*L $*L
*P1$ *M1
*P1$. Se&ali!ador de PoCer 1n $eset +reset por activacin del micro,.
7 Y Go hubo PoCer 1n $eset. A Y (a habido PoCer 1n reset.
*M1. Se&ali!ador de MroCnD1ut +/a%da de tensin,.
7 Y Go hubo MroCn 1ut. A Y (ubo MroCnD1ut
"." Repertorio de Intr&ccione
".".1 Caracter1tica 4enerale y direccionamiento
(abiendo escogido los dise&adores de P#/ la filosof%a $#S/, su juego de instrucciones es reducido +==
instrucciones en la gama baja,, siendo stas, adems, sencillas y rpidas, puesto que casi todas se ejecutan
en un 4nico ciclo de mquina +equivalente a : del reloj principal,. Sus operandos son de gran fle)ibilidad,
pudiendo actuar cualquier objeto como fuente y como destino.
Posee tres tipos bien diferenciados de direccionamiento, estos son.
7J #nmediato. El valor del dato est incluido en el propio cdigo 1P, junto a la instruccin.
8J 2irecto. La direccin del dato est incluido en el propio cdigo 1P, junto a la instruccin.
=J #ndirecto. La direccin de la memoria de datos que guarda el operando est contenida en un
registro.
Gosotros nos centraremos en la gama media, que tiene =E instrucciones. La mayor%a son idnticas a las de la
gama baja, si bien las diferencias sern convenientemente e)plicadas.
".".2 Repertorio de intr&ccione de la 4ama media :Incl&ido el 1%C'11;.
Set de instrucciones por categor%as.
2escripcin del set de instrucciones.
#. +i7lio4raf1a
#.1 +i7lio4raf1a en Internet
0icrochip. http.**CCC.microchip.com
Paralla). http.**CCC.paralla)inc.com
El $incn del Pic. http.**members.es.tripod.de*Z#nfoE*infop.htm
0icrosystems Engineering. Los autores de los libros de Pics en castellano. http.**CCC.arra5is.es*Zmsyseng
Lin5s sobre Pics de 2avid >ait. http.**CCC.man.ac.u5*Zmbhstdj*piclin5s.html
$ei Project. 0od /hip. 'lgunos proyectos. http.**chip.aeug.org
GeC6ound Electronics. Programador de Pics. http.**CCC.neCDelect.com
2ontronics. http.**CCC.dontronics.com
>he Picmicro $ing. http.**members.tripod.com*Zmdileo*pmring.html
0icrocontoladores. #nformacin, (erramientas y
Programador. http.**CCC.geocities.com*>he>ropics*87F:*micro.html
0icrocontrollers. Enlaces. http.**CCC.usDepanorama.net*microprocessor.html
0icrocontroladores, automatas, electrnica, etc. http.**CCC.jmengual.com*
Parallel Port P#/7</E"*"" Programmer. http.**CCC.labyrinth.net.au*Zdonmc5*dtait*upp.html
0icrochip Get resources. http.**CCC.geocities.com*Silicon?alley*Lay*E;AF
P#/7<*7F 0icrocontroller [ Masic Stamp. /on algunos proyectos. http.**CCC.doc.ic.ac.u5*Zih*doc*pic
La pgina del autor de Programming and /ustomi!ing the Pic 0icrocontroller. /on algunos
circuitos. http.**CCC.my5e.com*P#/0icro
Pic Programming. 3etting Started. : pasos para empe!ar con los
Pic. http.**CCC.pp.clinet.fi*ZneCmedia*pic*inde).html
Pic Programmer 8. http.**CCC.jdm.homepage.d5*neCpic.htm
3G-Pic I6ree 0icrocontroller SoftCare >ools http.**hui!en.dds.nl*Zgnupic*inde).html
Propic8. Programador de Pics. http.**CCC.propic8.com
PicProg (ome Page. Programador de Pics. http.**virtuaCeb.com*picprog
>he Electronic Projects Page. 'lgunos proyectos. http.**CCC.blichfeldt.d5
Mengt Lindgrens (omePage. Programador y archivos. http.**homeE.sCipnet.se*ZCDE=F;=
>he ultimate source for Pic and S" >ools http.**CCC.advDtransdata.com
P7<P$1 [ P#/'LL P#/ programmers. 1tro programador http.**CCC.geocities.com*Silicon?alley*Pea5s*N<8A
2ise&o de sistemas con microcontroladores. Enlaces. http.**CCC.infoDab.uclm.es*Zamartine
6ree P#/ 7<);: programmer Cith margining support. http.**CCC.ise.pC.edu.pl*ZC!ab*picprog*picprog.html
6lashP#/ 2eveloper for P#/7<6;: and P#/7<6;F) Series P#/
0icrocontrollers. http.**CCC.cybermedi).co.n!*flashpic
Sagitron. 2istribuidor de 0icrochip en Espa&a. http.**CCC.sagitron.es
E2-DP#/. P#/ 0icrocontrollers in education. http.**pages.hotbot.com*edu*eduDpic
Programmer for P#/Dprocessors. http.**CCC.qsl.net*l!8rr*pic.html
#.2 +i7lio4raf1a electr5nica o imprea
0icrocontroladores P#/. La Solucin en un /hip.
0icrocontroladores P#/. 2ise&o prctico de aplicaciones.
0icrocontroladores.
Programming and /ustomi!ing the Pic 0icrocontroller
Electrnica. 0icrocontroladores y 0icroprocesadores.
P#/7<*7F
Leer ms. http.**CCC.monografias.com*trabajos=:*microcontroladoresDgenericos*microcontroladoresD
genericos.shtml\i)!!=<6v-:rdl

Вам также может понравиться