You are on page 1of 9

Instituto Tecnolgico Superior de Ciudad Hidalgo Arquitectura de un mi-

crocontrolador M.C Gabriel Casarrubias Guerrero Introduccin


Un microcontrolador es un dispositivo electrnico capaz de llevar a cabo
procesos lgicos. Estos procesos o acciones son programados en lenguaje ensam-
blador por el usuario, y son introducidos en este a travs de un programador.
Esto suena un poco complicado, pero slo es un resumen de 3 lneas. A lo
largo de este tutorial veremos algunas de las reglas y trucos de este lenguaje
complicado por su sencillez.
Objetivo
El presente trabajo tiene la nalidad de mostrar los temas de la unidad
nmero dos, Arquitectura interna de un microcontrolador. As se podr cono-
cer ms acerca de los microcontroladores para nosotros poder hacer un uso
adecuado de ellos. ndice
Introduccin 2 Objetivo 2 2.1 Componentes del microcontrolador 4 2.1 Reg-
istros internos 8 2.3 Tipos y distribucin de las memorias internas 9 2.4 Per-
ifricos Internos 13 2.5 Las instrucciones del Microcontrolador 18 Bibliografa
19
2.1 Componentes del microcontrolador
A continuacin pasamos a describir los elementos ms comunes en todo tipo
de microcontroladores y sistemas. El procesador Es el elemento ms impor-
tante del microcontrolador y determina sus principales caractersticas, tanto a
nivel hardware como software. Se encarga de direccionar la memoria de instruc-
ciones, recibir el cdigo OP de la instruc- cin en curso, su decodicacin 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 fun- cionalidad de los procesadores actuales. CISC:
Un gran nmero de procesadores usados en los microcontroladores estn basa-
dos en la losofa CISC (Computadores de Juego de Instrucciones Complejo).
Disponen de ms de 80 instrucciones mquina en su repertorio, Figura 1: Dia-
grama de bloques del microcontrolador PIC16F84 algunas de las cuales son muy
sosticadas y potentes, requiriendo muchos ciclos para su ejecucin.
Una ventaja de los procesadores CISC es que ofrecen al programador instruc-
ciones complejas que actan como macros, es decir, que si las tuvisemos que
implementar con instrucciones bsicas, acabaramos con dolor de cabeza. RISC:
Tanto la industria de los computadores comerciales como la de los microcontro-
ladores estn decantndose hacia la losofa 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 opti-
mizar 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 especco, o sea, las instrucciones se adaptan a las necesidades
de la aplicacin prevista. Esta losofa se ha bautizado con el nombre de SISC
(Computadores de Juego de Instrucciones Especco). Memoria En los micro-
controladores 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
1
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 cam-
bios de informacin que se produzcan en el transcurso del programa. Por otra
parte, como slo existe un programa activo, no se requiere guarda r 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 memo-
ria, pero, los dis- eadores 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 microcontro-
ladores, la aplicacin y utilizacin de los mis- mos es diferente. Se describen las
cinco versiones de memoria no voltil que se pueden encontrar en los microcon-
troladores del mercado.
ROM con mscara: Es una memoria no voltil de slo lectura cuyo contenido
se graba durante la fabricacin del chip. Si tenemos idea de cmo se fabrican
los circuitos integrados, sabremos de donde viene el nombre. Estos se fabrican
en obleas que contienen varias decenas de chips. Estas obleas se fabrican a
partir de procesos fotoqumicos, donde se impregnan capas de silicio y oxido de
silicio, y segn convenga, se erosionan al exponerlos a la luz. Como no todos
los puntos han de ser erosionados, se sita entre la luz y la oblea una mascara
con agujeros, de manera que donde deba incidir la luz, esta pasar. Con varios
procesos similares pero ms complicados se consigue fabricar los transistores y
diodos micromtricos que componen un chip. Ahora ya sabes de donde viene la
mscara y no te acostars sin saber una cosa ms. 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. OTP: El microcontrolador contiene una memoria no voltil de
slo lectura programable una sola vez por el usuario. OTP (One Time Pro-
grammable). 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. EPROM: Los microcontroladores que dispo-
nen 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 supercie por la
que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cp-
sulas son de material cermico y son ms caros que los microcontroladores con
memoria OTP que estn hechos con material plstico. EEPROM, E2PROM o
E2PROM: Se trata de memorias de slo lectura, programables y borrables elc-
2
tricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory).
Tanto la programacin como el borrado, se realizan elctricamente desde el pro-
pio 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 supercie. 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
coneren una gran exibilidad y rapidez a la hora de realizar modicaciones en
el programa de trabajo. El nmero de veces que puede grabarse y borrarse una
memoria EEPROM es nito, 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 mod-
icar cmodamente una serie de parmetros que adecuan el dispositivo a las
condiciones del entorno. Este tipo de memoria es relativamente lenta, como ya
veremos ms adelante. 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 EEP-
ROM 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 incor-
poran 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 modi-
carse 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. Puertas de Entrada y Salida: Las
puertas de Entrada y Salida (E/S) permiten comunicar al procesador con el
mundo exterior, a travs de interfaces, o con otros dispositivos. Estas puertas,
tambin llamadas puertos, son la principal utilidad de las patas o pines de un
microprocesador. 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 microcontro-
ladores disponen de un circuito oscilador que genera una onda cuadrada de alta
frecuencia, que congura los impulsos de reloj usados en la sincronizacin de
todas las operaciones del sistema. Esta seal del reloj es el motor del sistema y
la que hace que el programa y los contadores avancen. Generalmente, el circuito
de reloj est incorporado en el microcontrolador y 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 y de calor generado.
3
2.1 Registros internos
Un registro o una celda de memoria es un circuito electrnico que puede
memorizar el estado de un byte. REGISTROS SFR A diferencia de los reg-
istros que no tienen ninguna funcin especial y predeterminada, cada micro-
controlador dispone de un nmero de registros de funciones especiales (SFR),
con la funcin predeterminada por el fabricante. Sus bits estn conectados a
los circuitos internos del microcontrolador tales como temporizadores, conver-
tidores A/D, osciladores entre otros, lo que signica que directamente manejan
el funcionamiento de estos circuitos, o sea del microcontrolador. Imagnese
ocho interruptores que manejan el funcionamiento de un circuito pequeo den-
tro del microcontrolador. Los registros SFR hacen exactamente lo mismo. En
otras palabras, el estado de los bits de registros se ja dentro de programa,
los registros SFR dirigen los pequeos circuitos dentro del microcontrolador,
estos circuitos se conectan por los pines del microcontrolador a un dispositivo
perifrico utilizado para... Bueno, depende de usted. 2.3 Tipos y distribucin
de las memorias internas La unidad de memoria es una parte del microcontro-
lador utilizada para almacenar los datos. La manera ms fcil de explicarlo
es compararlo con un armario grande con muchos cajones. Si marcamos los
cajones claramente, ser fcil acceder a cualquiera de sus contenidos al leer la
etiqueta en la parte delantera del cajn. De manera similar, cada direccin de
memoria corresponde a una localidad de memoria. El contenido de cualquier
localidad se puede leer y se le puede acceder al direccionarla. La memoria se
puede escribir en la localidad o leer. Hay varios tipos de memoria dentro del
microcontrolador: MEMORIA ROM (READ ONLY MEMORY) - MEMORIA
DE SLO LECTURA La memoria ROM se utiliza para guardar permanen-
temente el programa que se est ejecutando. El tamao de programa que se
puede escribir depende del tamao de esta memoria. Los microcontroladores
actuales normalmente utilizan el direccionamiento de 16 bits, que signica que
son capaces de direccionar hasta 64 Kb de memoria, o sea 65535 localidades.
Por ejemplo, si usted es principiante, su programa exceder pocas veces el lmite
de varios cientos de instrucciones. Hay varios tipos de memoria ROM. Rom de
mscara (enmascarada) - MROM La ROM enmascarada es un tipo de ROM
cuyo contenido es programado por el fabricante.
El trmino de mscara viene del proceso de fabricacin, donde las partes del
chip se plasman en las mascaras utilizadas durante el proceso de fotolitografa.
En caso de fabricacin de grandes series, el precio es muy bajo. Olvide la idea
de modicarla... OTP ROM (One Time Programmable ROM) - ROM program-
able una sola vez La memoria programable una sola vez permite descargar un
programa en el chip, pero como dice su nombre, una sola vez. Si se detecta
un error despus de descargarlo, lo nico que se puede hacer es descargar el
programa correcto en otro chip. UV EPROM (UV Erasable Programmable
ROM) - ROM programable borrable por rayos ultravioleta El encapsulado de
este microcontrolador tiene una ventana reconocible en la parte alta. Eso per-
mite exponer la supercie del chip de silicio a la luz de ultravioleta y borrar
el programa completamente en varios minutos. Luego es posible descargar un
nuevo programa en l. La instalacin de esta ventana es complicada, lo que por
4
supuesto afecta al precio. Desde nuestro punto de vista, desgraciadamente, de
manera negativa... Memoria Flash Este tipo de memoria se invent en los aos
80 en los laboratorios de la compaa INTEL, como forma desarrollada de la
memoria UV EPROM. Ya que es posible escribir y borrar el contenido de esta
memoria prcticamente un nmero ilimitado de veces, los microcontroladores
con memoria Flash son perfectos para estudiar, experimentar y para la fabri-
cacin en pequea escala. Por la gran popularidad de esta memoria, la mayora
de los microconroladores se fabrican con tecnologa ash hoy en da. Si usted
va a comprar un microcontrolador, ste es en denitiva la opcin perfecta!
MEMORIA RAM (RANDOM ACCESS MEMORY) - MEMORIA DE AC-
CESO ALEATORIO Al apagar la fuente de alimentacin, se pierde el contenido
de la memoria RAM. Se utiliza para almacenar temporalmente los datos y los
resultados inmediatos creados y utilizados durante el funcionamiento del micro-
controlador. Por ejemplo, si el programa ejecuta la adicin (de cualquier cosa)
es necesario tener un registro que representa lo que se llama suma en vida
cotidiana. Con tal propsito, uno de los registros de la RAM es denominado
suma y se utiliza para almacenar los resultados de la adicin.
MEMORIA EEPROM (ELECTRICALLY ERASABLE PROGRAMMABLE
ROM) - ROM PROGRAMABLE Y BORRABLE ELCTRICAMENTE El con-
tenido de la EEPROM se puede cambiar durante el funcionamiento (similar a la
RAM), pero se queda permanentemente guardado despus de la prdida de la
fuente de alimentacin (similar a la ROM). Por lo tanto, la EEPROM se utiliza
con frecuencia para almacenar los valores creados durante el funcionamiento, que
tienen que estar permanentemente guardados. Por ejemplo, si usted ha diseado
una llave electrnica o un alarma, sera estupendo permitir al usuario crear e
introducir una contrasea por su cuenta. Por supuesto, la nueva contrasea
tiene que estar guardada al apagar la fuente de alimentacin. En tal caso una
solucin perfecta es el microcontrolador con una EEPROM embebida. INTER-
RUPCIN La mayora de programas utilizan interrupciones durante ejecucin
de programa regular. El propsito del microcontrolador generalmente consiste
en reaccionar a los cambios en su entorno. En otras palabras, cuando ocurre
algo, el microcontrolador reacciona de alguna manera... Por ejemplo, al apretar
el botn del mando a distancia, el microcontrolador lo registra y responde al
comando cambiando de canal, subiendo o bajando el volumen etc. Si el micro-
controlador pasar la mayora del tiempo comprobando varios botones sin parar
- las horas, los das, esto no sera nada prctico. Por lo tanto, el microcontro-
lador aprendi un truco durante su evolucin. En vez de seguir comprobando
algn pin o bit, el microconrolador deja su trabajo de esperar a un experto
que reaccionar slo en caso de que suceda algo digno de atencin. La seal
que informa al procesador central acerca de tal acontecimiento se denomina
INTERRUPCIN.
UNIDAD CENTRAL DE PROCESAMIENTO (CENTRAL PROCESSOR
UNIT - CPU) Como indica su nombre, esto es una unidad que controla todos
los procesos dentro del microcontrolador. Consiste en varias unidades ms pe-
queas, de las que las ms importantes son: Decodicador de instrucciones es
la parte que descodica las instrucciones del programa y acciona otros circuitos
5
basndose en esto. El conjunto de instrucciones que es diferente para cada
familia de microcontrolador expresa las capacidades de este circuito; Unidad
lgica aritmtica (Arithmetical Logical Unit - ALU) realiza todas las opera-
ciones matemticas y lgicas sobre datos; y Acumulador o registro de trabajo.
Es un registro SFR estrechamente relacionado con el funcionamiento de la ALU.
Es utilizado para almacenar todos los datos sobre los que se debe realizar alguna
operacin (sumar, mover). Tambin almacena los resultados preparados para el
procesamiento futuro. Uno de los registros SFR, denominado Registro Status
(PSW), est estrechamente relacionado con el acumulador. Muestra el estado
de un nmero almacenado en el acumulador (el nmero es mayor o menor que
cero etc.) en cualquier instante dado.
2.4 Perifricos Internos BUS El bus est formado por 8, 16 o ms cables.
Hay dos tipos de buses: el bus de direcciones y el bus de datos. El bus de
direcciones consiste en tantas lneas como sean necesarias para direccionar la
memoria. Se utiliza para transmitir la direccin de la CPU a la memoria. El
bus de datos es tan ancho como los datos, en este caso es de 8 bits o lneas de
ancho. Se utiliza para conectar todos los circuitos dentro del microcontrolador.
COMUNICACIN EN SERIE La conexin paralela entre el microcontrolador y
los perifricos a travs de los puertos de entrada/salida es una solucin perfecta
para las distancias cortas - hasta varios metros. No obstante, en otros casos
cuando es necesario establecer comunicacin entre dos dispositivos a largas dis-
tancias no es posible utilizar la conexin paralela. En vez de eso, se utiliza la
conexin en serie. Hoy en da, la mayora de los microcontroladores llevan incor-
porados varios sistemas diferentes para la comunicacin en serie, como un equipo
estndar. Cul de estos sistemas se utilizar en un caso concreto, depende de
muchos factores, de los que ms importantes son: Con cuntos dispositivos
el microcontrolador tiene que intercambiar los datos? Cul es la velocidad
del intercambio de datos obligatoria? Cul es la distancia entre los disposi-
tivos? Es necesario transmitir y recibir los datos simultneamente? Una de
las cosas ms importantes en cuanto a la comunicacin en serie es el Protocolo
que debe ser estrictamente observado. Es un conjunto de reglas que se aplican
obligatoriamente para que los dispositivos puedan interpretar correctamente los
datos que intercambian mutuamente. Afortunadamente, los microcontroladores
se encargan de eso automticamente, as que el trabajo de programador/usuario
es reducido a la escritura y lectura de datos. VELOCIDAD DE TRANSMISIN
SERIAL La velocidad de transmisin serial (baud rate) es el trmino utilizado
para denotar el nmero de bits transmitidos por segundo [bps]. Fjese que este
trmino se reere a bits, y no a bytes! El protocolo normalmente requiere que
cada byte se transmita junto con varios bits de control. Eso quiere decir que un
byte en un ujo de datos serial puede consistir en 11 bits. Por ejemplo, si veloci-
dad de transmisin serial es 300 bps un mximo de 37 y un mnimo de 27 bytes
se pueden transmitir por segundo. Los sistemas de comunicacin serial ms
utilizados son: I2C (INTER INTEGRATED CIRCUIT) - CIRCUITO INTER-
INTEGRADO Circuito inter-integrado es un sistema para el intercambio de
datos serial entre los microcontroladores y los circuitos integrados especializa-
dos de generacin. Se utiliza cuando la distancia entre ellos es corta (el receptor
6
y el transmisor estn normalmente en la misma placa de circuito impreso). La
conexin se establece por medio de dos lneas - una se utiliza para transmitir los
datos, mientras que la otra se utiliza para la sincronizacin (la seal de reloj).
Como se muestra en la gura, un dispositivo es siempre el principal (master
- maestro), el que realiza el direccionamiento de un chip subordinado (slave -
esclavo) antes de que se inicie la comunicacin. De esta manera un microcon-
trolador puede comunicarse con 112 dispositivos diferentes. La velocidad de
transmisin serial es normalmente 100 Kb/seg (el modo estndar) o 10 Kb/seg
(modo de velocidad de transmisin baja). Recientemente han aparecido los sis-
temas con la velocidad de transmisin serial 3.4 Mb/sec. La distancia entre los
dispositivos que se comunican por el bus I2C est limitada a unos metros.
SPI (SERIAL PERIPHERAL INTERFACE BUS) - BUS SERIAL DE IN-
TERFAZ DE PERIFRICOS Un bus serial de interfaz de perifricos es un
sistema para la comunicacin serial que utiliza hasta cuatro lneas (normal-
mente solo son necesarias tres) - para recibir los datos, para transmitir los datos,
para sincronizar y (opcional) para seleccionar el dispositivo con el que se comu-
nica. Esto es la conexin full duplex, lo que signica que los datos se envan
y se reciben simultneamente. La velocidad de transmisin mxima es mayor
que en el sistema de conexin I2C. UART (UNIVERSAL ASYNCHRONOUS
RECEIVER/TRANSMITTER) - TRANSMISOR-RECEPTOR ASNCRONO
UNIVERSAL Este tipo de conexin es asncrona, lo que signica que no se
utiliza una lnea especial para transmitir la seal de reloj. En algunas aplica-
ciones este rasgo es crucial (por ejemplo, en mandar datos a distancia por RF o
por luz infrarroja). Puesto que se utiliza slo una lnea de comunicacin, tanto
el receptor como el transmisor reciben y envan los datos a velocidad misma
que ha sido predenida para mantener la sincronizacin necesaria. Esto es una
manera simple de transmitir datos puesto que bsicamente representa una con-
versin de datos de 8 bits de paralelo a serial. La velocidad de transmisin
no es alta, es hasta 1 Mbit/sec. OSCILADOR Los pulsos uniformes genera-
dos por el oscilador permiten el funcionamiento armnico y sncrono de todos
los circuitos del microcontrolador. El oscilador se congura normalmente de
tal manera que utilice un cristal de cuarzo o resonador cermico para estabi-
lizacin de frecuencia. Adems, puede funcionar como un circuito autnomo
(como oscilador RC). Es importante decir que las instrucciones del programa
no se ejecutan a la velocidad impuesta por el mismo oscilador sino varias veces
ms despacio. Eso ocurre porque cada instruccin se ejecuta en varios ciclos
del oscilador. En algunos microcontroladores se necesita el mismo nmero de
ciclos para ejecutar todas las instrucciones, mientras que en otros el tiempo de
ejecucin no es el mismo para todas las instrucciones. Por consiguiente, si el
sistema utiliza el cristal de cuarzo con una frecuencia de 20 MHZ, el tiempo de
ejecucin de una instruccin de programa no es 50 nS, sino 200, 400 o 800 nS
dependiendo del tipo del microcontrolador. CIRCUITO DE ALIMENTACIN
Hay que mencionar dos cosas dignas de atencin con relacin al circuito de la
fuente de alimentacin de microcontroladores: Brown out es un estado poten-
cialmente peligroso que ocurre al apagar el microcontrolador o en caso de que
el voltaje de la fuente de alimentacin salga de unos mrgenes debido al ruido
7
elctrico. Como el microcontrolador dispone de varios circuitos que funcionan
a niveles de voltaje diferentes, ese estado puede causar un comportamiento de-
scontrolado. Para evitarlo, el microcontrolador normalmente tiene un circuito
incorporado para el brown out reset. El circuito reinicia inmediatamente el mi-
crocontrolador si el voltaje de alimentacin cae por debajo del lmite. El pin
de reset (reinicio), marcado frecuentemente con MCLR (Master Clear Reset),
sirve para el reinicio externo del microcontrolador al aplicar un cero (0) o un uno
(1) lgico dependiendo del tipo del microcontrolador. En caso de que el circuito
brown out no est incorporado, un simple circuito externo para el brown out re-
set se puede conectar al pin MCLR. TEMPORIZADORES/CONTADORES El
oscilador del microcontrolador utiliza cristal de cuarzo para su funcionamiento.
Aunque no se trata de la solucin ms simple, hay muchas razones para uti-
lizarlo. La frecuencia del oscilador es denida con precisin y muy estable, as
que siempre genera los pulsos del mismo ancho, lo que los hace perfectos para
medicin de tiempo. Tales osciladores se utilizan en los relojes de cuarzo. Si es
necesario medir el tiempo transcurrido entre dos eventos, basta con contar los
pulsos generados por este oscilador. Esto es exactamente lo que hace el tem-
porizador. La mayora de los programas utiliza estos cronmetros electrnicos
en miniatura. Generalmente son registros SFR de 8 o 16 bits cuyo contenido se
aumenta automticamente con cada pulso. Una vez que se llena el registro, se
genera una interrupcin! Si el temporizador utiliza el oscilador de cuarzo interno
para su funcionamiento, es posible medir el tiempo entre dos eventos (el valor de
registro en el momento de iniciar la medicin es T1, en el momento de nalizar
la medicin es T2, el tiempo transcurrido es igual al resultado de la resta T2 -
T1). Si los registros se aumentan con los pulsos que vienen de la fuente externa,
tal temporizador se convierte en un contador. Esto es una explicacin simple
de su funcionamiento. Es un poco ms complicado en prctica.
2.5 Las instrucciones del Microcontrolador
Todas las instrucciones se ejecutan en un ciclo. La nicas excepciones pueden
ser las instrucciones de ramicacin condicional o las instrucciones que cambian
el contenido del contador de programa. En ambos casos, dos ciclos de reloj son
necesarios para la ejecucin de la instruccin, mientras que el segundo ciclo se
ejecuta como un NOP (No operation). Las instrucciones de un ciclo consisten
en cuatro ciclos de reloj. Si se utiliza un oscilador de 4 MHz, el tiempo nominal
para la ejecucin de la instruccin es 1mS. En cuanto a las instrucciones de ram-
icacin, el tiempo de ejecucin de la instruccin es 2mS. Juego de instrucciones
de los microcontroladores PIC de 14 bits: Instruccin Descripcin Operacin
Bandera CLK * Instrucciones para la transmisin de datos MOVLW k Mover
literal a W k -> w 1 MOVWF f Mover el contenido de W a f W -> f 1 MOVF
f,d Mover el contenido de f a d f -> d Z 1 1, 2 CLRW Borrar el contenido de W 0
-> W Z 1 CLRF f Borrar el contenido de f 0 -> f Z 1 2 SWAPF f,d Intercambiar
de nibbles en f f(7:4),(3:0) -> f(3:0),(7:4) 1 1, 2 Instrucciones aritmtico - lgicas
ADDLW k Sumar literal a W W+k -> W C, DC, Z 1 ADDWF f,d Sumar el
contenido de W y f W+f -> d C, DC ,Z 1 1, 2 SUBLW k Restar W de literal
k-W -> W C, DC, Z 1 SUBWF f,d Restar W de f f-W -> d C, DC, Z 1 1, 2
ANDLW k AND W con literal W AND k -> W Z 1 ANDWF f,d AND W con f
8
W AND f -> d Z 1 1, 2 IORLW k OR inclusivo de W con literal W OR k -> W
Z 1 IORWF f,d OR inclusivo de W con f W OR f -> d Z 1 1, 2 XORWF f,d OR
exclusivo de W con literal W XOR k -> W Z 1 1, 2 XORLW k OR exclusivo
de W con f W XOR f -> d Z 1 INCF f,d Sumar 1 a f f+1 -> f Z 1 1, 2 DECF
f,d Restar 1 a f f-1 -> f Z 1 1, 2 RLF f,d Rotar F a la izquierda a travs del bit
de Acarreo C 1 1, 2 RRF f,d Rotar F a la derecha a travs del bit de Acarreo C
1 1, 2 COMF f,d Complementar f f -> d Z 1 1, 2 Instrucciones orientadas a bit
BCF f,b Poner a 0 el bit b del registro f 0 -> f(b) 1 1, 2 BSF f,b Poner a 1 el bit
b del registro f 1 -> f(b) 1 1, 2 Instrucciones de control de programa BTFSC f,b
Saltar si bit b de registro f es 0 Skip if f(b) = 0 1 (2) 3 BTFSS f,b Saltar si bit
b de reg. f es 1 Skip if f(b) = 1 1 (2) 3 DECFSZ f,d Disminuir f en 1. Saltar si
el resultado es 0 f-1 -> d skip if Z = 1 1 (2) 1, 2, 3 INCFSZ f,d Incrementar f en
1. Saltar si el resultado es 1 f+1 -> d skip if Z = 0 1 (2) 1, 2, 3 GOTO k Saltar
a una direccin k -> PC 2 CALL k Llamar a una subrutina PC -> TOS, k ->
PC 2 RETURN Retornar de una subrutina TOS -> PC 2 RETLW k Retornar
con literal en W k -> W, TOS -> PC 2 RETFIE Retornar de una interupcin
TOS -> PC, 1 -> GIE 2 Otras instrucciones NOP No operacin TOS -> PC,
1 -> GIE 1 CLRWDT Reiniciar el temporizador perro guardin 0 -> WDT, 1
-> TO, 1 -> PD TO, PD 1 SLEEP Poner en estado de reposo 0 -> WDT, 1
-> TO, 0 -> PD TO, PD 1 *1 Si un registro de E/S est modicado, el valor
utilizado ser el valor presentado en los pines del microcontrolador. *2 Si la in-
struccin se ejecuta en el registro TMR y si d=1, el pre-escalador ser borrado.
*3 Si la instruccin se ejecuta en el registro TMR y si d=1, el pre-escalador ser
borrado.
Bibliografa
Introduccin a microcontroladores, Paul Aguayo S., paguayo@olimex.cl 10
de noviembre de 2004 http://microcontroladoressesv.wordpress.com/algunos-
microcontroladores/
9

You might also like