You are on page 1of 28

30/03/2014

1
ARQUITECTURA DE LOS
MICROCONTROLADORES PIC
Ing. Junior Figueroa Olmedo
Arquie!ura
30/03/2014
2
Arquie!ura
UNIDAD CENTRAL DE
PROCESAMIENTO CPU
Es el cerebro del microcontrolador y acta bajo el control del programa
almacenado en la memoria.
Esta unidad trae las instrucciones del programa (una a una) desde la memoria, las
interpreta (descodifica) y hace que se ejecuten.
Incluye los circuitos para realizar operaciones aritmticas y lgicas elementales con
los datos binarios, en la Unidad Aritmtica Lgica.
El Registro de Trabajo (W), es un registro de bits utilizado para almacenar
todos los datos sobre los que se debe realizar alguna operacin (sumar, mo!er, etc.).
"ambin almacena los resultados preparados para el procesamiento futuro.
30/03/2014
3
UNIDAD CENTRAL DE
PROCESAMIENTO CPU
#a principal diferencia entre ambos se encuentra en la ubicacin del registro de trabajo,
que para los $I%&s se denomina ' ('or(ing )egister), y para los sistemas tradicionales es
el *cumulador.
UNIDAD CENTRAL DE
PROCESAMIENTO CPU
En las arquitecturas tradicionales el acumulador (*%%) est+ a la salida de la *#,, de
modo que el resultado de cualquier operacin aritmtica o lgica siempre es
depositado en el *%%.
En los $I%s, en cambio, el resultado de una operacin aritmtica o lgica puede
depositarse en el registro de trabajo (') o puede lle!arse directamente a cualquier
registro de la memoria de datos, y esto proporciona una gran fle-ibilidad y potencia.
E# registro de Estado o .tatus ($.'), est+ estrechamente relacionado con el
registro de trabajo ('). %uenta con algunos bits que indican determinadas
caracter/sticas del resultado de la operacin realizada en la *#, (si el resultado es
cero, si se ha producido acarreo o prstamo, si el resultado es positi!o o negati!o,
etc.)
30/03/2014
4
LA MEMORIA EN LOS
MICROCONTROLADORES
#a memoria es un conjunto de celdas o localizaciones que se identifican por su
direccin. En cada celda se almacena una palabra.
,na palabra es la unidad lgica de informacin almacenada en un celda de memoria.
.e utilizan palabras de 0, , 01, 02 o 03 bits de longitud. ,na palabra de bits es un
octeto o byte.
#a cantidad de celdas de la memoria define su capacidad. #a capacidad o tama4o de
la memoria se mide en palabras, ya sean en bits, bytes o palabras de 01, 02 o m+s
bits.
LA MEMORIA EN LOS
MICROCONTROLADORES
#a direccin de una celda es el ente que identifica la celda en la memoria. #a forma
m+s simple de identificar las celdas es asignar a cada una un nmero entero
consecuti!o.
#a direccin es el nmero binario (o he-adecimal) que denota la posicin de la
celda en la memoria.
= u, 1, 2, , (N -1) donde 67 nmero de celdas
#gicamente, la cantidad n de bits necesarios para formar la direccin de una celda
es funcin directa de la capacidad de la memoria y est+ dada por8
N = 2
n
30/03/2014
5
LA MEMORIA EN LOS
MICROCONTROLADORES
E"em#lo$
.e tiene una memoria donde para formar la direccin de una celda de bits (0
byte) cualquiera se necesitan 09 bits (n = 1u), as/ pues la cantidad de celdas que
componen la memoria est+ dada por N = 2
10
= 1u24.
#a direcciones posibles son = u, 1, 2, , 1u2S (nmeros enteros). E-presando
estos nmeros en el sistema de numeracin he-adecimal, tal como es costumbre, se
tiene = ub, 1b, 2b, , SFFb.
Entonces la capacidad de la memoria es de 0912 bytes o 0(:
OR%ANO&ACI'N L'%ICA DE LAS
MEMORIAS
#a memoria se organiza normalmente como un todo nico (organizacin lineal) o
por bloques llamados p+ginas.
#as direcciones de las celdas son nmeros binarios consecuti!os.
,na p+gina es una porcin de memoria de tama4o fijo. #as p+ginas est+n una a
continuacin de la otra sin solaparse. %ada p+gina se puede identificar por un
nmero consecuti!o denominado nmero de p+gina.
30/03/2014
6
OR%ANO&ACI'N L'%ICA DE LAS
MEMORIAS
;entro de una p+gina cualquiera, las celdas se identifican por su posicin respecto al
comienzo de la p+gina, llamada desplazamiento.
#a direccin de una celda se compone de dos elementos8 el nmero de la p+gina y el
desplazamiento.
$or ejemplo, en una memoria organizada en p+ginas de 1<3 bytes, una celda que se
encuentra en la p+gina 1 con desplazamiento*<h, tienen una direccin lineal 1*<h.
TIPOS DE MEMORIA
Memoria de Programa$ es no !ol+til y b+sicamente de slo lectura. $ueden ser
de tipo )=> (Read-Only Memory), E$)=> (Erasable Programmable ROM), ="$ (One
Time Programmable) y ?#*.@.
Memoria de Dao($ es fundamentalmente de lectura y escritura y no hace falta
que la informacin permanezca en ella al interrumpir el suministro de energ/a al
microcontrolador, es decir, la memoria es !ol+til. .e utilizan memorias )*> (Random
Access Memory) est+ticas.
Memoria EEPROM )Electrically Erasable Programmable Read-Only
Memory*$ >uchos microcontroladores $I% utilizan cierta de cantidad adicional de
memoria (e-terna) de lectura y escritura, no !ol+til, como parte de la memoria de
datos. El objeti!o de esta memoria es permitir el almacenamiento de datos fijos o
poco !ariables.
Memoria RAM$ Es una memoria de lectura y escritura. @ay dos !ariantes8 la
est+tica y la din+mica. Esttica! la informacin permanece estable indefinidamente
mientras no se suprima la tensin de alimentacin. "inmica! requieren un
refrescamiento peridico de la informacin almacenada.
30/03/2014
7
FAMILIA DE MICROCONTROLADORES PIC
Aama baja8 microcontroladores con instrucciones (palabras) de 01 bits.
Aama media8 microcontroladores con instrucciones (palabras) de 02 bits.
Aama alta8 microcontroladores con instrucciones (palabras) de 01 bits.
CARACTER+STICAS %ENERALES DE LOS PIC
*rquitectura @ar!ard, con memorias de programa y datos separadas.
En la mayor/a de los pC, la memoria de programa es mucho mayor que la de datos.
#a memoria )=> de programa est+ organizada en palabras de 01, 02 03 bits.
#a memoria )*> de datos est+ compuesta por registros de bits.
*rquitectura )I.% (entre BB y CC instrucciones)
"odas las instrucciones son del mismo tama4o8 una palabra de 01, 02 03 bits.
Darios cuentan con cierta cantidad de memoria EE$)=6 para almacenamiento no !ol+til
de datos.
E# acceso a los dispositi!os de EE. se realiza a tra!s de algunos registros de la memoria
de datos ()egistro de ?unciones Especiales F .?)).
.e puede proteger a la memoria de programa frente a copias no autorizadas.
30/03/2014
8
MICROCONTROLADOR PIC,-F../A
)epertorio de B< instrucciones de 02 bits cada una.
#a memoria ?#*.@ de programa tiene una capacidad de ( (0G1) palabras de 02
bits y se organiza en p+ginas de 1( (192) palabras cada una.
#a memoria de datos (.)*> est+tica) est+ formada por registros de bits, tiene
una capacidad de B3 bytes y est+ organizada en 2 bancos.
$osee una memoria EE$)=6 de datos de 1<3 bytes.
"iene una pila de ni!eles, donde se almacenan direcciones de la memoria de
programa.
$osee un sistema de interrupciones para atender interrupciones internas y
e-ternas.
%uenta con < puertos paralelos (*, :, %, ; y E) para la comunicacin paralela con
dispositi!os e-ternos.
$osee tres temporizadores ("imer9, "imer0 y "imer1), dos mdulos de capturaF
comparacinFmodulacin de ancho de pulso (%$$0,1).
$osee puertos serie para comunicacin serie asincrnica y sincrnica, un
con!ertidor *E; de 09 bits asociado a un multiple-or con !arias entradas
analgicas.
30/03/2014
9
MEMORIA RAM DE DATOS
Esta organizada en palabras de bits.
#os registros de funciones especiales (#$R! #%ecial $&nction Registers) son los
registros a tra!s de los cuales se controla al microcontrolador y se accede a sus
diferentes perifricos (con!ertidor *E;, mdulo de comunicacin serial), se
programan sus funciones, etc.
#os registros de propsito general ('PR! 'eneral P&r%ose Registers) constituyen
la memoria de datos propiamente dicha, disponible para el libre uso del usuario en
sus programas.
MEMORIA RAM DE DATOS
Est+ paginada, aunque a las p+ginas de la memoria de datos se le llama bancos.
%ada banco contiene hasta 01 localizaciones de memoria o registros, cuyas
direcciones !an desde 99h a C?h dentro de cada banco.
"odos los microcontroladores de gama media tienen al menos 1 bancos de
registros, es decir, hasta 1<3 registros con las direcciones absolutas 99h a ??h.
El $I%03?CC* posee cuatro bancos de registros con un total de <01 posibles
registros, con las direcciones absolutas 999h a 0??h.
30/03/2014
10
MEMORIA DE DATOS PIC,-F.//A
RE%ISTROS DE FUNCIONES ESPECIALES
30/03/2014
11
MEMORIA DE PRO%RAMA
#a memoria de programa est+ organizada en p+ginas.
El $I%03?CC* posee 2 p+ginas de 1999 palabras cada una. $or tanto la capacidad
de memoria puede llegar a se de 999 palabras. #as palabras de este $I% son de 02
bits.
DIRECCIONAMIENTO DE LA MEMORIA DE
PRO%RAMA
El contador de programa $% (Program Counter) es el registro del microcontrolador
cuya funcin es direccionar la memoria de programa.
El $% almacena direcciones de instrucciones, m+s precisamente, en el $% est+ la
direccin de la siguiente instruccin que hay que ejecutar.
En los microcontroladores de gama media, el $% es de 0B bits, de modo que puede
direccionar el espacio de 999 palabras de la memoria de programa.
%omo la memoria de programa est+ paginada, los bits 01 y 00 del $% dan el nmero
de la p+gina, mientras que los bits del 09 al 9 dan la direccin dentro de la p+gina o
desplazamiento.
30/03/2014
12
LA PILA )STAC0*
LA PILA )STAC0*
%orresponde a una parte de la )*>. %onsiste en un conjunto de ocho registros de
0B bits cada uno y en donde se almacenan direcciones de la memoria de programa.
Es un tipo de estructura de datos con organizacin #I?= (Last In First Out)8 lo ltimo
que entra en la pila es lo primero que sale de ella.
*ntes de que el microcontrolador se ponga a ejecutar una s&br&tina o al ocurrir
una interr&%cin, la direccin de la siguiente instruccin en ser ejecutada
(almacenada en el $%) se coloca en la pila (se apila), o sea, en uno de los registros.
Aracias a eso, despus de ejecutarse una subrutina o una interrupcin, el
microcontrolador sabe dnde continuar con la ejecucin del programa. Esta
direccin se borra (se desapila) despus de !ol!er al programa, ya que no es
necesario guardarla, disponiendo autom+ticamente esas localidades de la pila para
un uso futuro.
30/03/2014
13
LA PILA )STAC0*
;ado el tama4o de la pila, se pueden anidar hasta subrutinasH es decir, desde el
programa principal se puede llamar a una primera subrutina y desde sta a una
segunda subrutina, y de sta a una tercera, y as/ sucesi!amente hasta completar un
total de llamadas.
#a no!ena !ez se sobrescribe el !alor que se almacen al apilar el dato por primera
!ez. #a dcima !ez que se apile, se sobrescribe el !alor que se almacen al apilar el
dato por segunda !ez, etc. ;atos sobrescritos de esta manera no se pueden
recuperar.
6o hay ningn bit de estado para indicar el estado de desbordamiento o
subdesbordamiento de pila. $or esta razn hay que tener un especial cuidado al
escribir un programa.
1ITS DE CONFI%URACI'N
$ermiten que el usuario programe ciertas caracter/sticas del microcontrolador para
adaptarlo mejor a las necesidades de la aplicacin.
%uando se pone en marcha el dispositi!o, el estado de estos bits determina la forma
en que operar+ el microcontrolador.
*unque estos bits normalmente forman parte de la memoria de programa, ocupan
una direccin que no es accesible durante el funcionamiento normal del
microcontrolador. .lo se puede acceder a ellos durante la programacin del
microcontrolador.
#as caracter/sticas que se programan en los bits de configuracin son las siguientes8
El tipo de oscilador
#a habilitacin o no del pero guardi+n.
#a proteccin de la memoria de programa.
#a proteccin de la memoria EE$)=> de datos.
#as caracter/sticas del reset y la alimentacin del dispositi!o.
#os bits de configuracin del $I%03?CC* se agrupan en una IpalabraJ de
configuracin que ocupa la direccin 199Ch de la memoria de programa.
30/03/2014
14
1ITS DE CONFI%URACI'N PIC ,-F.//A
OSCILADOR O RELOJ
"odo microcontrolador requiere de un circuito que le indique la !elocidad de
trabajo, es el llamado oscilador o reloj.
El oscilador genera una onda cuadrada de alta frecuencia (se4al de reloj) que se
utiliza como se4al para sincronizar todas las operaciones del sistema.
Aeneralmente todos los componentes del reloj se encuentran integrados en
propio microcontrolador y tan solo se requieren unos pocos componentes
e-ternos, como un cristal de cuarzo o una red )%, para definir la frecuencia de
trabajo.
E-isten microcontroladores $I% que tienen un oscilador interno ()%) y no
requieren de componentes e-ternos. #a frecuencia de reloj m+-ima depender+ del
tipo de microcontrolador elegido.
#a eleccin de la frecuencia de la se4al de reloj depender+ de la precisin y
!elocidad que la aplicacin a controlar requiera.
30/03/2014
15
OSCILADOR O RELOJ
El modo de funcionamiento del oscilador (fuente de la se4al de reloj, oscilador
interno o e-terno) se selecciona por medio de los bits de la $alabra de
%onfiguracin, cargados en el microcontrolador durante la programacin.
#a eleccin de utilizar un oscilador e-terno o interno depender+ de la aplicacin. .i
se esta dise4ando un cronometro de precisin, un frecuenc/metro o un equipo que
maneje comunicaciones sincron/as de alta frecuencia, se necesitar+ un oscilador
e-terno de cristal, en caso de no necesitar precisin, el interno funcionar+.
OSCILADOR E2TERNO EN MODO LP3
2T 4 5S
El oscilador en los modos #$, K" y @. utilizan un oscilador e-terno dentro del microcontrolador
como una fuente de reloj. #a frecuencia de reloj est+ determinada por un cristal de cuarzo o por
resonadores cer+micos conectados a los pines =.%0 y =.%1.
Modo LP$ $ara aplicaciones de baja potencia. .e utiliza slo para trabajar con cristales de
cuarzo de baja frecuencia (B1 (@z a 199 (@z). *l utilizar este modo el consumo de corriente
ser+ menor que en los dem+s modos.
Modo 2T$ .e utiliza para cristales de cuarzo de frecuencias intermedias (099 (@z a 2 >@z).
El consumo de corriente es media en comparacin con los dem+s modos.
Modo 5S8 $ara aplicaciones de alta !elocidad. .e utiliza para cristales de reloj de frecuencia
m+s alta (2 >@z a 19 >@z). *l utilizar este modo el consumo de corriente ser+ mayor que
en los dem+s modos.
30/03/2014
16
OSCILADOR E2TERNO EN MODO LP3
2T 4 5S
OSCILADOR E2TERNO EN MODO RC 4
RCIO
En la mayor/a de casos el oscilador del microcontrolador puede funcionar a
frecuencias que no son precisamente definidas, as/ que ser/a una prdida de dinero
embeber tales componentes.
#a solucin m+s simple y m+s barata es estas situaciones es utilizar una resistencia y
un capacitor para el funcionamiento del oscilador.
Modo RC$ el pin =.%0 debe estar conectado al circuito )%. #a se4al de frecuencia
del oscilador )% di!idida por 2 est+ disponible en el pin =.%1. Esta se4al se puede
utilizar para la calibracin, sincronizacin o para otros propsitos.
30/03/2014
17
OSCILADOR E2TERNO EN MODO RC 4
RCIO
Modo RCIO$ ;e manera similar, el circuito )% est+ conectado al pin =.%0. Esta
!ez, el pin =.%1 est+ disponible para ser utilizado como pin de EE. de propsito
general.
#a frecuencia de este oscilador se calcula por medio de la frmula f 7 0E" segn la
que8
f 7 frecuencia L@zMH
" 7 )N% 7 constante de tiempo LsMH
) 7 resistencia elctrica L'MH y
% 7 capacitancia del condensador L?M.
OSCILADOR E2TERNO EN MODO EC
El oscliador de reloj e-terno en el modo E% (e-ternal cloc() utiliza un oscilador
e-terno independiente como una fuente de se4al de reloj.
#a m+-ima frecuencia de se4al de reloj est+ limitada a 19 >@z.
30/03/2014
18
OSCILADOR E2TERNO EN MODO EC
#as !entajas del funcionamiento del oscilador e-terno en modo E% son las
siguientes8
#a fuente de reloj e-terna independiente est+ conectada al pin de entrada =.%0.
El pin =.%1 est+ disponible como pin de EE. de propsito general.
Es posible sincronizar el funcionamiento del microcontrolador con los dem+s
componentes incorporados en el dispositi!o.
En este modo el microcontrolador se pone a funcionar inmediatamente despus
de encenderlo. 6o se requiere esperar para estabilizar la frecuencia.
*l deshabilitar temporalmente la fuente de reloj e-terna, se detiene el
funcionamiento del dispositi!o, dejando todos los datos intactos. ;espus de
reiniciar el reloj e-terno, el dispositi!o sigue funcionando como si no hubiera
pasado nada
OSCILADOR INTERNO
El circuito del oscilador interno consiste en dos osciladores separados que se
pueden seleccionar como la fuente del reloj del microcontrolador.
El oscilador ($)*TO#+ est+ calibrado de f+brica y funciona a >hz. #a frecuencia
de este oscilador se puede configurar por el usuario por medio de softOare
utilizando los bits del registro =.%",6E.

El o(!ilador LFINTOSC no est+ calibrado de f+brica y funciona a B0(@z.


.imilar al oscilador e-terno, el interno tambin puede funcionar en !arios modos. El
modo de funcionamiento se selecciona de la misma manera que en el oscilador
e-terno F por medio de los bits que forman $alabra de %onfiguracin. En otras
palabras, todo se lle!a a cabo dentro del softOare antes de escribir un programa en
el microcontrolador.
30/03/2014
19
OSCILADOR INTERNO
OSCILADOR INTERNO EN MODO INTOSC8 El pin =.%0 est+ disponible para ser
utilizado como pin de EE. de propsito general. #a se4al de frecuencia del oscilador interno
di!idida por 2 est+ disponible en el pin =.%1.
OSCILADOR INTERNO EN MODO INTOSCIO$ los dos pines est+n disponibles como
pines de EE. de propsito general.
CONFI%URACI'N DEL OSCILADOR
INTERNO
30/03/2014
20
TEMPORI&ADOR PERRO %UARDI6N
)7ATC5DO% TIMER*
6o es e-tra4o que en microelectrnica se den circunstancias de hardOare o
firmOare no pre!istas por el dise4ador en las que un microcontrolador se quede en
un estado indeterminado del que le sea imposible salir sin una ayuda e-terna.
El perro guardi+n garantiza la seguridad de funcionamiento del microcontrolador,
porque cualquier fallo es detectado a tiempo y se pueden tomar las medidas
necesarias para e!itar situaciones que podr/an ser catastrficas.
Fun!ionamieno$ El oscilador en!/a sus pulsos peridica y permanentemente a la
entrada de reloj del contador. .i el contador llega a contar los 6 pulsos, se desborda,
su salida se acti!a y produce el reset del microcontrolador.
TEMPORI&ADOR PERRO %UARDI6N
)7ATC5DO% TIMER*
El objeti!o del programador es e!itar el desbordamiento, y con ello el reset del
microcontrolador, es poner a 9 el contador del perro guardi+n desde el programa, y
hacerlo a inter!alos de tiempo m+s cortos que el tiempo que se tarda en contar los
6 pulsos.
$ara conseguirlo el programador debe distribuir a lo largo del programa las
instrucciones que borran el conteo del perro guardi+n.
30/03/2014
21
TEMPORI&ADOR PERRO %UARDI6N
)7ATC5DO% TIMER*
.i el programa se ejecuta correctamente, el perro guardi+n nunca se desborda pues
antes de hacerlo ha sido borrado oportunamente desde el programa.
En cambio, si el microcontrolador se pierde y el programa deja de ser ejecutado en
la secuencia correcta, el perro guardi+n no es borrado a tiempo, se desborda y
produce el reset del microcontrolador, con lo que es posible retomar el control y
reconducir el programa por el camino correcto.
MODO DE 1AJO CONSUMO )MODO SLEEP*
%uando el microcontrolador se ha paralizado total o parcialmente para disminuir su
consumo de corriente, se dice que ha entrado a un modo de consumo reducido o de
bajo consumo !o"er do"n# slee! mode$.
>uchas !eces la tarea que debe realizar el microcontrolador consiste
fundamentalmente en esperar la ocurrencia de un e!ento e-terno, como la pulsacin
de una tecla, una interrupcin, etc., y entonces realizar una determinada tarea y
!ol!er a esperar la ocurrencia de un nue!o e!ento e-terno.
>ientras dura la espera con!iene paralizar total o parcialmente al microcontrolador
para disminuir as/ el consumo de corriente (consideracin importante cuando se
utiliza bater/as como fuente de alimentacin).
,na forma pr+ctica de paralizar al microcontrolador es detener el oscilador principal
y hacer que los diferentes bloques del dispositi!o permanezcan en estado est+tico, a
la espera de que ocurra la accin e-terna que saque al microcontrolador de ese
estado.
30/03/2014
22
MODO DE 1AJO CONSUMO )MODO SLEEP*
En estas condiciones, el microcontrolador consume muy poca corriente de la fuente
de alimentacin8 menos de 1 pA en algunos modelos.
En el modo de bajo consumo se entra con la instruccin slee!.
.e sale o se IdespiertaJ del modo de bajo consumo cuando ocurre alguno de estos
tres e!entos8
,- Un reset! el microcontrolador !a directo a ejecutar la instruccin que est+ en
la direccin 99h de la memoria de programa.
.- Un desbordamiento del %erro g&ardin (si est /abilitado)! contina la
ejecucin del programa con la instruccin que sigue a la instruccin slee!.
0- Una interr&%cin e1terna y o %rocedente de alg&no de los md&los
%eri2ricos internos (si est /abilitada)! se ejecuta la instruccin que sigue a
la instruccin slee! y se salta a la direccin 992h de la memoria de programa
en busca de la rutina de atencin a la interrupcin.
FUENTES DE RESET
%uando el microcontrolador est+ en estado de reset, est+ !irtualmente detenido, es
decir, no ejecuta ninguna instruccin del programa.
%uando el microcontrolador sale del estado de reset, el contador de programa $%
adquiere el !alor 99h, de modo que se ejecutan todas las instrucciones que est+n a
partir de esa posicin de memoria apuntada por el $%.
RESET E2TERNO$ ocurre cuando se pone a 9 el terminal >%#). El terminal
>%#) debe estar a 0 durante el funcionamiento normal del microcontrolador. $uede
ocurrir durante el funcionamiento normal del microcontrolador o cuando est en
modo de bajo consumo.
30/03/2014
23
FUENTES DE RESET
RESET POR ENCENDIDO )PUESTA EN MARC5A*$ ocurre si se conecta el
terminal >%#) al terminal I

de alimentacin del microcontrolador (por un


peque4o lapso de tiempo).
El microcontrolador detecta la de la tensin de alimentacin (flanco de subida en
I

), pro!ocando con ello un reset que garantiza el correcto inicio de trabajo del
microcontrolador.
.i la fuente de alimentacin tiene un tiempo de establecimiento ele!ado, hay que
garantizar que la tensin en el terminal >%#) permanezca por debajo del umbral
hasta que I

alcance un !alor adecuado (?igura b).


FUENTES DE RESET
RESET POR DES1ORDAMIENTO DEL PERRO %UARDIAN$ ocurre
cuando se desborda el temporizador denominado perro guardi+n (%&T' %atc(dog
Timer). El desbordamiento se produce si desde el programa que est+ ejecutando el
microcontrolador, no se borra a tiempo el resultado del conteo que realiza este
temporizador.
El reset por desbordamiento del perro guardi+n puede ocurrir durante el
funcionamiento normal del microcontrolador.
.i el ';" se desborda mientras el microcontrolador est+ en el modo de bajo
consumo, el microcontrolador sale de dicho modo, pero no se produce un reset, sino
que contina la ejecucin del programa con la instruccin que sigue a la instruccin
slee!.
30/03/2014
24
FUENTES DE RESET
RESET POR FALLO EN L ALIMENTACI'N$ =curre cuando hay una
disminucin brusca y transitoria de la tensin de alimentacin. El microcontrolador
incluye un circuito que produce un reset en estas condiciones y mantiene dicho
estado mientras la tensin de alimentacin I

est por debajo de un cierto umbral.


%uando I

se recupera, el estado de reset se mantiene durante un periodo de C1


ms. ;e esta forma se garantiza que el oscilador principal y I

estn en sus !alores


nominales cuando salga del estado de reset.
CIRCUITO INTERNO DE RESET
#a figura muestra el esquema lgico del circuito interno que produce el reset de los
microcontroladores $I% y las posibles fuentes de reset enunciadas anteriormente.
El circuito garantiza que en el momento de abandonar el estado reset, el
microcontrolador se encuentre en condiciones estables que permitan su correcto
funcionamiento.
30/03/2014
25
CIRCUITO INTERNO DE RESET
El circuito debe asegurar que la salida del estado de reset se produzca slo si la
fuente de alimentacin ha alcanzado un !alor estable y suficientemente alto.
El circuito interno tambin debe de garantizar que el microcontrolador abandone el
estado de reset slo si el oscilador principal est+ en rgimen estable. >ientras la
amplitud y frecuencia del oscilador no sean estables el microcontrolador debe
permanecer en el estado de reset.
#as caracter/sticas de algunas fuentes de reloj se pueden programar mediante la
palabra de configuracin del microcontrolador (:=)E6,';")
CICLOS DE M6QUINA 4 EJECUCI'N DE
INSTRUCCIONES
#os pulsos generados por el oscilador principal (=.%0) son di!ididos internamente
para generar cuatro se4ales denominadas P0, P1, PB y P2, que sincronizan todo el
trabajo interno del microcontrolador.
%ada cuatro pulsos del oscilador principal se tiene un ciclo de m+quina (%>).
30/03/2014
26
CICLOS DE M6QUINA 4 EJECUCI'N DE
INSTRUCCIONES
;urante el tiempo P0 de cada ciclo de m+quina, el contador de programa ($%) se
incrementa, apuntando hacia la instruccin que debe ser buscada, lo cual ocurre
durante el tiempo P2. $aralelamente, durante todo el %> (desde P0 a P2) se est+
ejecutando la instruccin anterior.
#a ejecucin de una instruccin cualquiera se realiza en tres fases8 b3s4&eda,
descodi2icacin y ejec&cin. En la fase de bsqueda, el microcontrolador lee la
instruccin que est+ en la memoria de programa y la lle!a a la %$,. En la fase de
descodificacin, la %$, determina cu+l es la operacin indicada en la instruccin. En
la fase de ejecucin, se ejecuta la operacin pre!ista por la instruccin.
#a ejecucin de una instruccin se realiza en dos ciclos de m+quina. En el primer %>
se busca la instruccin en la memoria de programa y en el segundo %> se
descodifica y ejecuta la instruccin.
En realidad, debido al mecanismo de segmentado (!i!eline), ese segundo %> se
solapa, en el tiempo, con el primer %> de la siguiente instruccin, resultando que en
promedio se ejecute una instruccin por ciclo de m+quina.
DIA%RAMA DE CONE2IONADO PIC,-F.//A
30/03/2014
27
DIA%RAMA DE CONE2IONADO PIC,-F.//A
DIA%RAMA DE CONE2IONADO PIC,-F.//A
30/03/2014
28
DIA%RAMA DE CONE2IONADO PIC,-F.//A

You might also like