Sei sulla pagina 1di 33

UNIDAD 4

Microcontroladores
4.1. Arquitectura de los microcontroladores
El microcontrolador nace cuando las tcnicas de integracin han progresado lo
bastante para permitir su fabricacin; pero tambin porque, muy a menudo,
tanto en las aplicaciones domsticas como industriales, se tiene la necesidad de
sistemas inteligentes o, al menos programables.

Un ejemplo muy simple es el programador de una lavadora, el cual debe


controlar una cierta cantidad de elementos con ciclos y cadencias perfectamente
definidas, pero variables en funcin del programa seleccionado.

Otras aplicaciones ms tcnicas tienen, igualmente, necesidad de sistemas


programables. Por ejemplo, una fotocopiadora debe controlar permanentemente
un gran nmero de elementos y de funciones.

Gracias a la llegada de los microcontroladores, tarjetas que contenan varias


decenas de circuitos lgicos clsicos se han visto reducidas a dos o tres
microcontroladores.

Antes de ver qu es un microcontrolador y de analizar sus puntos fuertes y sus


defectos, ser til hacer un repaso relativo a la estructura de cualquier sistema
programable, que pueda hacer uso de un microcontrolador.
Unidad Memoria Memoria
Central ROM RAM

Buses del Sistema

Circuitos
de interfaz

Exterior

La figura presenta el esquema tipo de cualquier sistema programable. Veamos


que elementos son indispensables para su funcionamiento:

La unidad central
La memoria ROM
La memoria RAM
Los circuitos de interfaz
Un bus de interconexin
La presencia de estos elementos bsicos es indispensable y aun cuando no
siempre se presenten tan claramente como en nuestro esquema siempre
existen. Obsrvese, que son los mismos que los de un sistema informtico
clsico, pero dentro del marco de una aplicacin que pueda ser tratada por un
microcontrolador.

La unidad central, generalmente constituida por un microprocesador ms o


menos evolucionado, ejecuta el programa que da vida a la aplicacin.

Los programas pueden ser muy diversos, puesto que, como es evidente, el que
asegura la gestin de un termostato inteligente no tiene nada que ver con el que
controla el correcto funcionamiento de una fotocopiadora.

Sin embargo, estos programas tienen en comn el hecho de que muy raramente
necesitan clculos complejos y, en cambio, s suelen incluir numerosas
manipulaciones de la informacin de entrada/salida.
El programa se almacena en un segundo elemento, que es la memoria ROM.
Esta memoria puede constituirse de diferentes formas: UVPROM, EEPROM u
OTPROM, cualquiera que sea la que se utilice es una memoria no voltil desde
la que se ejecutar el programa una vez alimentado el sistema.

Para poder trabajar correctamente, nuestro microprocesador necesita, a


menudo, almacenar datos temporales en alguna parte, y aqu es donde
interviene la memoria RAM, que no necesita ser de grandes dimensiones.

El ltimo elemento y que, generalmente, es el ms importante en una aplicacin


susceptible de utilizar un microcontrolador es todo lo concerniente a los circuitos
de interfaz con el mundo exterior, que relacionar al microprocesador con
elementos tan dispares como un motor paso a paso, un display de cristal lquido
o una botonera hexadecimal.

Despus de este pequeo anlisis nos podemos preguntar por qu se habla de


microcontrolador y, no de un conjunto de elementos que realizan esta funcin.
La respuesta es que el objetivo de los microcontroladores es integrar, tanto
como sea posible, en un nico encapsulado el conjunto de funciones de la figura.
Un controlador es un dispositivo electrnico encargado de, valga la redundancia,
controlar uno o ms procesos.

Por ejemplo, el controlador del aire acondicionado, recoger la informacin de


los sensores de temperatura, la procesar y actuar en consecuencia.

Al principio, los controladores estaban formados exclusivamente por


componentes discretos. Ms tarde, se emplearon procesadores rodeados de
memorias, circuitos de E/S, sobre una placa de circuito impreso (PCB).

Actualmente, los controladores integran todos los dispositivos antes


mencionados en un pequeo chip. Esto es lo que hoy conocemos con el nombre
de microcontrolador.

Diferencia entre microcontrolador y microprocesador

Es muy habitual confundir los trminos de microcontrolador y microprocesador,


cayendo as en un error de cierta magnitud. Un microcontrolador es, como ya se
ha comentado previamente, un sistema completo, con unas prestaciones
limitadas que no pueden modificarse y que puede llevar a cabo las tareas para
las que ha sido programado de forma autnoma.
Un microprocesador, en cambio, es simplemente un componente que conforma
el microcontrolador, que lleva acabo ciertas tareas que analizaremos ms
adelante y que, en conjunto con otros componentes, forman un
microcontrolador.

Debe quedar clara por tanto la diferencia entre microcontrolador y


microprocesador: a modo de resumen, el primero es un sistema autnomo e
independiente, mientras que el segundo es una parte, cabe decir que esencial,
que forma parte de un sistema mayor.

Arquitectura bsica

Aunque inicialmente todos los microcontroladores adoptaron la arquitectura


clsica de von Neumann, en el momento presente se impone la arquitectura
Harvard.

La arquitectura de von Neumann se caracteriza por disponer de una sola


memoria principal donde se almacenan datos e instrucciones de forma indistinta.
A dicha memoria se accede a travs de un sistema de buses nico (direcciones,
datos y control).
La arquitectura Harvard dispone de dos memorias independientes una, que
contiene slo instrucciones y otra, slo datos. Ambas disponen de sus
respectivos sistemas de buses de acceso y es posible realizar operaciones de
acceso (lectura o escritura) simultneamente en ambas memorias.
La arquitectura Harvard dispone de dos memorias independientes para datos y
para instrucciones, permitiendo accesos simultneos.

Los microcontroladores PIC responden a la arquitectura Harvard.

4.1.2. EL PROCESADOR O CPU


Es el elemento ms importante del microcontrolador y determina sus principales
caractersticas, tanto a nivel hardware como software.

Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP de la


instruccin en curso, su decodificacin y la ejecucin de la operacin que implica
la instruccin, as como la bsqueda de los operandos y el almacenamiento del
resultado.

Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los


procesadores actuales:

CISC: Un gran nmero de procesadores usados en los microcontroladores estn


basados en la filosofa CISC (Computadores de Juego de Instrucciones
Complejo).
Disponen de ms de 80 instrucciones mquina en su repertorio, algunas de las
cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su
ejecucin.

Una ventaja de los procesadores CISC es que ofrecen al programador


instrucciones complejas que actan como macros.

RISC: Tanto la industria de los computadores comerciales como la de los


microcontroladores estn decantndose hacia la filosofa RISC (Computadores de
Juego de Instrucciones Reducido). En estos procesadores el repertorio de
instrucciones mquina es muy reducido y las instrucciones son simples y,
generalmente, se ejecutan en un ciclo.

La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el


software del procesador.

SISC: En los microcontroladores destinados a aplicaciones muy concretas, el


juego de instrucciones, adems de ser reducido, es "especfico", o sea, las
instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta
filosofa se ha bautizado con el nombre de SISC (Computadores de Juego de
Instrucciones Especfico).
4.1.3. MEMORIA

En los microcontroladores la memoria de instrucciones y datos est integrada en


el propio chip. Una parte debe ser no voltil, tipo ROM, y se destina a contener
el programa de instrucciones que gobierna la aplicacin. Otra parte de memoria
ser tipo RAM, voltil, y se destina a guardar las variables y los datos.

Hay dos peculiaridades que diferencian a los microcontroladores de los


computadores personales: No existen sistemas de almacenamiento masivo como
disco duro o disquetes.

Como el microcontrolador slo se destina a una tarea en la memoria ROM, slo


hay que almacenar un nico programa de trabajo.

La RAM en estos dispositivos es de poca capacidad pues slo debe contener las
variables y los cambios de informacin que se produzcan en el transcurso del
programa. Por otra parte, como slo existe un programa activo, no se requiere
guardar una copia del mismo en la RAM pues se ejecuta directamente desde la
ROM.
Los usuarios de computadores personales estn habituados a manejar
Megabytes de memoria, pero, los diseadores con microcontroladores trabajan
con capacidades de ROM comprendidas entre 512 bytes y 8 k bytes y de RAM
comprendidas entre 20 y 512 bytes.

Segn el tipo de memoria ROM que dispongan los microcontroladores, la


aplicacin y utilizacin de los mismos es diferente. Se describen las cinco
versiones de memoria no voltil que se pueden encontrar en los
microcontroladores del mercado.

1 ROM con mscara

Es una memoria no voltil de slo lectura cuyo contenido se graba durante la


fabricacin del chip. El elevado coste del diseo 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.

2 OTP

El microcontrolador contiene una memoria no voltil de slo lectura


"programable una sola vez" por el usuario. OTP (One Time Programmable). Es el
usuario quien puede escribir el programa en el chip mediante un sencillo
grabador controlado por un programa desde un PC.
La versin OTP es recomendable cuando es muy corto el ciclo de diseo del
producto, o bien, en la construccin de prototipos y series muy pequeas.

Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin


mediante fusibles para proteger el cdigo contenido.

3 EPROM

Los microcontroladores que disponen de memoria EPROM (Erasable


Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces.
La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado
desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una
ventana de cristal en su superficie por la que se somete a la EPROM a rayos
ultravioleta durante varios minutos. Las cpsulas son de material cermico y son
ms caros que los microcontroladores con memoria OTP que estn hechos con
material plstico.

4 EEPROM

Se trata de memorias de slo lectura, programables y borrables elctricamente


EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la
programacin como el borrado, se realizan elctricamente desde el propio
grabador y bajo el control programado de un PC. Es muy cmoda y rpida la
operacin de grabado y la de borrado. No disponen de ventana de cristal en la
superficie.
Los microcontroladores dotados de memoria EEPROM una vez instalados en el
circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de
dicho circuito. Para ello se usan "grabadores en circuito" que confieren una gran
flexibilidad y rapidez a la hora de realizar modificaciones en el programa de
trabajo.

El nmero de veces que puede grabarse y borrarse una memoria EEPROM es


finito, por lo que no es recomendable una reprogramacin continua. Son muy
idneos para la enseanza y la Ingeniera de diseo.

Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona


de memoria EEPROM 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.

5 FLASH

Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y


borrar. Funciona como una ROM y una RAM pero consume menos y es ms
pequea.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms
rpida y de mayor densidad que la EEPROM.

La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa


gran cantidad de memoria de programa no voltil. Es ms veloz y tolera ms
ciclos de escritura/borrado.

Las memorias EEPROM y FLASH son muy tiles al permitir que los
microcontroladores que las incorporan puedan ser reprogramados "en circuito",
es decir, sin tener que sacar el circuito integrado de la tarjeta.

As, un dispositivo con este tipo de memoria incorporado al control del motor de
un 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 piezas, etc.

La reprogramacin del microcontrolador puede convertirse en una labor rutinaria


dentro de la puesta a punto.
4.1.4. PUERTAS DE ENTRADA Y SALIDA

La principal utilidad de las patitas que posee la cpsula que contiene un


microcontrolador es soportar las lneas de E/S que comunican al computador
interno con los perifricos exteriores.

Segn los controladores de perifricos que posea cada modelo de


microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las
seales de entrada, salida y control.

Reloj principal

Todos los microcontroladores disponen de un circuito oscilador que genera una


onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en
la sincronizacin de todas las operaciones del sistema.

Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo


se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la
frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de
cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C.
Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan
las instrucciones pero lleva aparejado un incremento del consumo de energa.

4.1.5. CARACTERISTICAS ESPECIALES


Cada fabricante oferta numerosas versiones de una arquitectura bsica de
microcontrolador. En algunas ampla las capacidades de las memorias, en otras
incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para
aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo
mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma,
minimizar el coste, el hardware y el software.

Los principales recursos especficos que incorporan los microcontroladores son:

Temporizadores o "Timers".
Perro guardin o "Watchdog".
Proteccin ante fallo de alimentacin o "Brownout".
Estado de reposo o de bajo consumo.
Conversor A/D.
Conversor D/A.
Comparador analgico.
Modulador de anchura de impulsos o PWM.
Puertas de E/S digitales.
Puertas de comunicacin.
Temporizadores o "Timers

Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la


cuenta de acontecimientos que suceden en el exterior (contadores).

Para la medida de tiempos se carga un registro con el valor adecuado y a


continuacin dicho valor se va incrementando o decrementando al ritmo de los
impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento
en el que se produce un aviso.

Cuando se desean contar acontecimientos que se materializan por cambios de


nivel o flancos en alguna de las patitas del microcontrolador, el mencionado
registro se va incrementando o decrementando al ritmo de dichos impulsos.

Perro guardin o "Watchdog"

Cuando el computador personal se bloquea por un fallo del software u otra


causa, se pulsa el botn del reset y se reinicializa el sistema. Pero un
microcontrolador funciona sin el control de un supervisor y de forma continuada
las 24 horas del da. El Perro guardin consiste en un temporizador que, cuando
se desborda y pasa por 0, provoca un reset automticamente en el sistema.
Se debe disear 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
temporizacin, "ladrar y ladrar" hasta provocar el reset.

Proteccin ante fallo de alimentacin o "Brownout

Se trata de un circuito que resetea al microcontrolador cuando el voltaje de


alimentacin (VDD) es inferior a un voltaje mnimo ("brownout"). Mientras el
voltaje de alimentacin sea inferior al de brownout el dispositivo se mantiene
reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor.

Estado de reposo de bajo consumo

Son abundantes las situaciones reales de trabajo en que el microcontrolador


debe esperar, sin hacer nada, a que se produzca algn acontecimiento externo
que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en
los aparatos porttiles), los microcontroladores disponen de una instruccin
especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo
consumo, en el cual los requerimientos de potencia son mnimos.
En dicho estado se detiene el reloj principal y se "congelan" sus circuitos
asociados, quedando sumido en un profundo "sueo" el microcontrolador. Al
activarse una interrupcin ocasionada por el acontecimiento esperado, el
microcontrolador se despierta y reanuda su trabajo.

Conversor A/D (CAD)

Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital)


pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen
disponer de un multiplexor que permite aplicar a la entrada del CAD diversas
seales analgicas desde las patitas del circuito integrado.

Conversor D/A (CDA)

Transforma los datos digitales obtenidos del procesamiento del computador en


su correspondiente seal analgica que saca al exterior por una de las patitas de
la cpsula. Existen muchos efectores que trabajan con seales analgicas.
Comparador analgico

Algunos modelos de microcontroladores disponen internamente de un


Amplificador Operacional que acta como comparador entre una seal 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 1 0 segn una seal sea
mayor o menor que la otra.

Tambin hay modelos de microcontroladores con un mdulo de tensin de


referencia que proporciona diversas tensiones de referencia que se pueden
aplicar en los comparadores.

Modulador de anchura de impulsos o PWM

Son circuitos que proporcionan en su salida impulsos de anchura variable, que


se ofrecen al exterior a travs de las patitas del encapsulado.

Puertos de E/S digitales

Todos los microcontroladores destinan algunas de sus patitas a soportar lneas


de E/S digitales. Por lo general, estas lneas se agrupan de ocho en ocho
formando Puertos.
Las lneas digitales de los Puertos pueden configurarse como Entrada o como
Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a
su configuracin.

Puertos de comunicacin

Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con


otros dispositivos externos, otros buses de microprocesadores, buses de
sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras
normas y protocolos. Algunos modelos disponen de recursos que permiten
directamente esta tarea, entre los que destacan:

UART, adaptador de comunicacin serie asncrona.


USART, adaptador de comunicacin serie sncrona y asncrona
Puerta paralela esclava para poder conectarse con los buses de otros
microprocesadores.
USB (Universal Serial Bus), que es un moderno bus serie para los PC.
Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.
CAN (Controller Area Network), para permitir la adaptacin con redes de
conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para
el cableado de dispositivos en automviles. En EE.UU. se usa el J185O.
Herramientas para el desarrollo de aplicaciones

Uno de los factores que ms importancia tiene a la hora de seleccionar un


microcontrolador entre todos los dems es el soporte tanto software como
hardware de que dispone. Un 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:

Desarrollo del software:

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.
Compilador. La programacin en un lenguaje de alto nivel (como el C el Basic)
permite disminuir el tiempo de desarrollo de un producto. No 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.

Depuracin. Debido a que los microcontroladores van a controlar dispositivos


fsicos, 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 PC programas realizados 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 difcil simular la entrada y salida de datos del
microcontrolador.
Tampoco cuentan con los posibles ruidos en las entradas, pero, al menos,
permiten el paso fsico de la implementacin de un modo ms seguro y menos
costoso, puesto que ahorraremos en grabaciones de chips para la prueba in-situ.
Placas de evaluacin. Se trata de pequeos sistemas con un microcontrolador ya
montado y que suelen conectarse a un PC desde el que se cargan los programas
que se ejecutan en el microcontrolador. Las placas suelen incluir visualizadores
LCD, teclados, LEDs, 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 realizar ejecucin paso a paso, monitorizar el estado del
microcontrolador o modificar los valores almacenados los registros o en la
memoria.

Programacin de microcontroladores

La utilizacin de los lenguajes ms cercanos a la mquina (de bajo nivel)


representan un considerable ahorro de cdigo en la confeccin de los
programas, lo que es muy importante dada la estricta limitacin de la capacidad
de la memoria de instrucciones.

Los programas bien realizados en lenguaje Ensamblador optimizan el tamao de


la memoria que ocupan y su ejecucin es muy rpida.
Los lenguajes de alto nivel ms empleados con microcontroladores son el C y el
BASIC de los que existen varias empresas que comercializan versiones de
compiladores e intrpretes para diversas familias de microcontroladores.

En el caso de los PIC es muy competitivo e interesante el compilador de C PCM


de la empresa CCS y el PBASIC de microLab Engineerign, ambos
comercializados en Espaa por Mircosystems Engineering.

Hay versiones de intrpretes de BASIC que permiten la ejecucin del programa


lnea a lnea, y en ocasiones, residen en la memoria del propio microcontrolador.
Con ellos se puede escribir una parte del cdigo, ejecutarlo y comprobar el
resultado antes de proseguir.

Formato de las instrucciones

El formato de todas las instrucciones es de la misma longitud.

Todas las instrucciones de los microcontroladores de la gama baja tienen una


longitud de 12 bits. Las de la gama media tienen 14 bits y ms las de la gama
alta. Esta caracterstica es muy ventajosa en la optimizacin de la memoria de
instrucciones y facilita enormemente la construccin de ensambladores y
compiladores.
Juego de instrucciones.

Procesador RISC (Computador de Juego de Instrucciones Reducido).


Los modelos de la gama baja disponen de un repertorio de 33 instrucciones, 35
los de la gama media y casi 60 los de la alta.

Todas las instrucciones son ortogonales.

Cualquier instruccin puede manejar cualquier elemento de la arquitectura como


fuente o como destino.

Conjunto de instrucciones

Caractersticas generales.

Habiendo escogido los diseadores de PIC la filosofa RISC, su juego de


instrucciones es reducido (33 instrucciones en la gama baja), siendo stas,
adems, sencillas y rpidas, puesto que casi todas se ejecutan en un nico ciclo
de mquina (equivalente a 4 del reloj principal). Sus operandos son de gran
flexibilidad, pudiendo actuar cualquier objeto como fuente y como destino.
Posee tres tipos bien diferenciados de direccionamiento, estos son:

1 Inmediato: El valor del dato est incluido en el propio cdigo OP, junto a la
instruccin.

2 Directo: La direccin del dato est incluido en el propio cdigo OP, junto a
la instruccin.

3 Indirecto: La direccin de la memoria de datos que guarda el operando


est contenida en un registro.

Nosotros nos centraremos en la gama media, que tiene 35 instrucciones. La


mayora son idnticas a las de la gama baja, si bien las diferencias sern
convenientemente explicadas.

Definiciones y abreviaturas

Ante todo es conveniente que usted tenga clara la estructura interna del micro,
puesto que las instrucciones la referencian, y puesto que en cualquier micro la
comprensin de la nomenclatura de sus componentes es esencial. De este modo
hemos creado la siguiente tabla para ayudarle a comprender las abreviaturas:
ABREVIATURA DESCRIPCIN

PC Contador de Programa que direcciona la memoria de instrucciones.


Tiene un tamao de 11 bits en la gama baja, de los cuales los 8 de
menos peso configuran el registro PCL que ocupa el registro 0x02
del rea de datos.
TOS Cima de la pila, con 2 niveles en la gama baja y 8 en la media
WDT Perro guardin (Watchdog)
W Registro W, similar al acumulador
F Suele ser un campo de 5 bits (fffff) que contiene la direccin del
banco de registros, que ocupa el banco 0 del rea de datos.
Direcciona uno de esos registros.
D Bit del cdigo OP de la instruccin, que selecciona el destino. Si
d=0, el destino es W, y si d=1 el destino es f.
Dest Destino (registro W o f)
TO Bit Time Out del registro de estado
PD Bit Power Down del registro de estado
b Suele ser un campo de 3 bits (bbb) que determinan la posicin de
un bit dentro de un registro de 8 bits
k Se trata, normalmente, de un campo de 8 bits (kkkkkkkk) que
representa un dato inmediato. Tambin puede constar de 9 bits en
las instrucciones de salto que cargan al PC
x Valor indeterminado (puede ser un 0 o un 1). Para mantener la
compatibilidad con las herramientas software de Microchip
conviene hacer x = 0
label Nombre de la etiqueta
Itlicas Trminos definidos por el usuario
Lenguaje ensamblador

Lenguaje Assambler: El lenguaje ensamblador es un tipo de lenguaje de bajo


nivel utilizado para escribir programas informticos, y constituye la
representacin ms directa del cdigo mquina especfico para cada arquitectura
de computadoras legible por un programador. Fue usado ampliamente en el
pasado para el desarrollo de software, pero actualmente slo se utiliza en
contadas ocasiones, especialmente cuando se requiere la manipulacin directa
del hardware o se pretenden rendimientos inusuales de los equipos.

Programar en lenguaje ensamblador es difcil de aprender, entender, leer,


escribir, depurar y mantener, por eso surgi la necesidad de los lenguajes
compilados.

A pesar de perder rendimiento en un proceso de compilacin, en la actualidad la


mayora de las computadoras son suficientemente rpidas. El lenguaje
ensamblador no es portable. Programar en lenguaje ensamblador lleva mucho
tiempo.

Los programas hechos en lenguaje ensamblador son generalmente ms rpidos.


Al programar cuidadosamente en lenguaje ensamblador se pueden crear
programas de 5 a 100 veces ms rpidos que con lenguajes de alto nivel.
Los programas hechos en lenguaje ensamblador generalmente ocupan menos
espacio. Un buen programa en lenguaje ensamblador puede ocupar casi la mitad
de espacio que su contrapartida en lenguaje de alto nivel.

Con el lenguaje ensamblador se pueden crear segmentos de cdigo imposibles


de formar en un lenguaje de alto nivel.

Lenguaje compilador: La programacin en un programa de alto nivel (como el C)


permite disminuir el tiempo de desarrollo de un producto. No obstante, si no se
programa con cuidado, el cdigo resultante puede ser mucho ms ineficiente
que le 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 de depuracin.

Como los microcontroladores estn destinados a controlar dispositivos fsicos,


ser necesario contar con una serie de herramientas que garanticen su correcto
funcionamiento cuando son conectados al resto de los circuitos.
Simulador: son capaces de ejecutar en un PC programas realizados para el
microcontrolador. Su gran inconveniente es que es difcil simular la entrada y la
salida de datos del microcontrolador y que tampoco cuentan con los posibles
ruidos de entradas.

Placas de evaluacin: pequeos sistemas con un microcontrolador ya montado y


que suelen conectarse a un PC desde el que se cargan los programas que se
ejecutan en le microcontrolador.

Suelen incluir visualizadores LCD, teclados, LEDs, fcil acceso a los pines de
entrada y salida, etc. Emuladores en circuito: dispositivo que se coloca entre el
PC anfitrin y el zcalo de la tarjeta de circuito impreso donde se alojar el
microcontrolador definitivo.
Aplicaciones comunes

Electrodomsticos (horno microondas, lavadora, nevera, stereo, etc.)


Equipos porttiles (telfonos, PDA, agendas digitales, etc.)
Juguetes
Instrumentacin
Automviles
Control Industrial
Robtica
Medicina
Sistemas de seguridad
Sistemas de Monitoreo y control de variables analgicas
Computadoras de uso especifico
Sistemas de desarrollo y experimentacin
Sistemas embebidos

Potrebbero piacerti anche