Sei sulla pagina 1di 8

Interrupciones Externas

Programacin Microcontrolador AVR


Escuela Militar de Ingenieria
Ing. Germn Pereira Muoz
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
2
Interrupciones Externas
E !"Mega1#
respon$e a % $i&erentes
Interrupciones-seaes
externas apica$as a os
pines.
'E(E" )pin 9*
I+"0 )pin 1# , P-2*
I+"1 )pin 1. , P-/*
I+"2 )pin / , P02*
reset
int0
in
t1
int2
Vectores de Reset y de Interrupciones
E 1ector 'eset pue$e ser con&igura$o en a seccion $e
0ootoa$er usan$o e 2it $e con&iguracion 033"'("
4 5os 1ectores $e interrupcion pue$en ser con&igura$os en a
seccion $e 0ootoa$er usan$o e 2it I6(E5 $e registro
Genera Interrupt 7onto 'egister )GI7'*
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
/


Fuentes de Reset del AVR:
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
%
Fuentes de Reset
JTAG: 0an$era $e 8"!G 'eset.
Watchdog Reset: 9a2iita$o e "imer :atc;$og <
su perio$o expia$o
ro!n"out Reset: -etector 0ro=n-out -etector
;a2iita$o < a tensi>n $e aimentaci>n por $e2a?o $e
um2ra
E#ternal Reset: +i1e 2a?o en e pin /'E(E" , pin
$e entra$a
Po!er"on Reset: 6ota?e $e aimentacion se
encuentra por $e2a?o $e um2ra $e Po=er-on 'eset
M7@7(' pro1ee in&ormaci>n so2re Aue &uente $e reset &ue e
origen $e reset $e 7P@
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
B
AVR Fuentes de RESET
!6' 3peraci>n 5>gica $e 'eset
E :atc;$og timer es usa$o
para $eterminar cuanto ser
e $ea< para a$icionar
$espuCs $e un resetDn.
Esto es esta2eci$o por e
!6' a os &usi2es
%.1ms 2ien o #Bms.
09/09/10 # Ing. Germn Pereira Muoz -
Interrupciones Externas


Voltajes Umbrales del Reset
E?empoE
Po=er-on 'eset
E?empoE
0ro=n 3ut 'eset
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
.
Operacin AVR ro!nout
5a $etecci>n $e ni1e 0ro=n out )03-* pue$e ser con&igura$o entre 2..6 a %.06.
6cc $e2e estar por $e2a?o $e ni1e 62o$ $urante ms $e 2u(.
03- circuito tiene100m6 ;istCresis para e1itar e 'E(E" $e2i$o a pro2emas
tCcnicos.
03- $e2e estar ;a2iita$o por a programaci>n $e &usi2e 03-.
2us
09/09/10 F Ing. Germn Pereira Muoz -
Interrupciones Externas
AVR Fuentes de RESET
:atc;$og timer
E =atc;$og timer es un recurso $e ;ar$=are Aue a<u$a a Aue un programa
err>neo entre en un $e nue1o en un esta$o $e &uncionamiento correcto
E programa $e2e peri>$icamente resetear e =atc;$og timer antes $e Aue se
apague.
(i e timer se apagaG e Microcontroa$or < es $e esperar Aue to$os os
peri&Cricos sean resetea$os
E timer $e2e ser $i&Hci $e resetearG excepto por un comportamiento $e
so&t=are
09/09/10 9 Ing. Germn Pereira Muoz -
Interrupciones Externas
Fuentes de Reset


:atc;$og timer
E =atc;$og timer $e !6' tiene un reo? separa$o $e 1M;z.
3c;o cicos $e tiempo $e reo? pue$en ser escogi$os.
E =atc;$og timer es resetea$o por a instrucci>n :-' $e Watchdog Reset.
(i e timer ega a un o1er&o=G e Microcontroa$or se resetea como si a &uente
$e aimentaci>n &uera retira$a < 1ueta a conectar.

9a< tres ni1ees $e seguri$a$ se pue$e a?ustar e =atc;$og timer .

5os ni1ees $e seguri$a$ son programa$os por os &use 2its.
Estos no se pue$e cam2iar a menos Aue sea reprograma$o.
09/09/10 10 Ing. Germn Pereira Muoz -
Interrupciones Externas
Fuentes de Reset
:atc;$og "imer 7ontro 'egister ):-"7'*
watchdog change enable:
-e2e ser puesto en 1 cuan$o :-E es puesto en zero.
(i es setea$o en unoG 9: sera impia$o ca$a % cicos $e cocI
watchdog enable: 7uan$o esta en unoG =atc;$og es
;a2iita$oG cuan$o esta en zero $es;a2iita$o.
(oo pue$e ser impia$o cuan$o e 2it :-7E tam2iCn esta en uno.
Para $es;a2iitar e =atc;$og timerE )imposi2e en e ni1e $e seguri$a$ 2*
1. (imutneamente escri2ir uno >gico en :-7E < :-E.
2. -entro $e % cicos escri2ir 0 en :-E.
watchdog timer prescalerE $etermina e preescaer para e
=atc;$og timer
09/09/10 11 Ing. Germn Pereira Muoz -
Interrupciones Externas
AVR Fuentes de RESET
:atc;$og "imer 7ontro 'egister ):-"7'*
watchdog timer prescalerE $etermina e preescaer
para e =atc;$og timer
09/09/10 12 Ing. Germn Pereira Muoz -
Interrupciones Externas
AVR Fuentes de RESET


:atc;$og timer ni1ees $e seguri$a$
+i1e $e seguri$a$ 0E
:-" iniciamente $es;a2iita$o
Pue$e ser ;a2iita$o con a escritura $e1e 2it :-E
E Perio$o "imeout pue$e ser cam2ia$o en cuaAuier tiempo
Para $es;a2iitaroE
-(imutaneamente setear a uno :-7E < :-E
-7on % c<cos $e reo?G escri2ir e 2it :-E a cero >gico
+i1e $e seguri$a$ 1E
:-" iniciamente $es;a2iita$o
Pue$e ser ;a2iita$o con a escritura $e1e 2it :-E
E perio$o "imeout o su $es;a2iita$o reAuiere secuencia $e tiempo
Para $es;a2iitar o cam2iar e "imeoutE
-(imutaneamenteG setear a uno :-7E < :-E
-7on % cicos $e reo?G escri2ir en os 2its :-E < :-P
como $esee pero con e 2it :-7E setea$o en 0.
09/09/10 1/ Ing. Germn Pereira Muoz -
Interrupciones Externas
AVR Fuentes de RESET
:atc;$og timer ni1ees $e (eguri$a$
+i1e $e (eguri$a$ 2E
:-" iniciamente ;a2iita$oG e 2it :-E siempre se ee como
uno >gico
:-" no pue$e ser $es;a2iita$o
E perio$o "imeout pue$e ser cam2ia$oG pero reAuiere una
secuencia $e tiempo
Para $es;a2iitar o cam2iar e timeoutE
-(imutneamente setear a uno :-7E < :-E
-7on % cicos $e reo?G escri2ir :-P como se $esee con
e 2it :-7E en cero. E 1aor $e 2it :-E es irree1ante.
09/09/10 1% Ing. Germn Pereira Muoz -
Interrupciones Externas
!6' Juentes $e 'E(E"
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
1B
7on&iguraci>n $e Interrupciones Externas
0asa$as en 7on$itiones
K Mientras e ni1e es 2a?o
-isparo 2asa$o en E1entos
K 7uan$o e ni1e cam2ia )togge*
K Janco $e 0a?a$a )negati1o "ransici>n 1 a 0*
K Janco $e !scen$ente )positi1o "ransicion 0 a 1*


Interrupciones E"ternas Int#$ Int% e Int&
Int0 conecta$o a P-2
Int1 conecte$o a P-/
Int2 conecta$o a P02
3peracion asincronaE pue$e $espertar a 7P@
Janco $esen$ente/ascen$ente o por ni1e 2a?o pue$e $isparar
a interrupcionG $e&ini$o por os 2irts $e Interrupt (ense contro
M7@7'
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
1#
I+"1
I+"0
I(7x< Interrupt sense 7ontro 2its
00 , +i1e 2a?o
01 , 7am2io $e ni1e
10 , Janco $e 0a?a$a
11 , Janco $e su2i$a
Interrupciones E"ternas
Int#$ Int% e Int&
Int0G Int1 e Int2 para ser ;a2iita$as por Genera Interrupt
7ontro 'egister GI7' )L I-2it en ('EG*
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
1.
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
1F
'egistro $e 2an$eras $e Interrupcion
Genera GI7'
@na 2an$era en 1 in$ica Aue existe una
interrupci>n pen$iente
K Estas 2an$eras son usa$as soo cuan$o se usa $isparos
por Janco o por cam2io $e ni1e
En a con&iguraci>n por ni1e estas 2an$eras siempre estan en
0
K @n e1ento especi&ico $e cam2io pue$e coocar en 1 a
2an$eraM $e2e ser puesta en 0 manuamente o por e
ser1icio $e Interrupci>n


09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
19
-isparos $e +i1e
E procesa$or 1eri&ica os ni1ees en os
pines I+"0 e I+"1 ca$a cico $e reo?
Pusos mu< cortos )menores a un cico $e
reo?* pue$en no ser $etecta$os )sin cam2io
en e &anco*
K 5a interrupcion $e ni1e 2a?o pue$e ocurrir soo
si e pin se encuentra en ni1e 2a?o a &ina $e a
instruccion actua
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
20
'egistro M7@7('
'egistro $e Esta$o < 7ontro M7@
I(72 , 0it $e contro $e (ensi2ii$a$
K 0 , Janco $e 2a?a$a
K 1 , Janco $e (u2i$a
Esta interrupci>n no o&rece otros tipos $e $isparos
I+"2
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
21
Interrupciones por (o&t=are
(i os pines $e una Interrupci>n externa son
con&igura$os como sai$asG e programa
pue$e coocar os 1aores 0 o 1 en os pines
$e interrupci>n
K Esta acci>n pue$e $isparar una interrupci>n $e
acuer$o a a con&iguraci>n $e a Interrupci>n
Externa
K -es$e Aue una instrucci>n causa una
interrupci>nG esta es ama$a interrupcion por
(o&t=are


E?empo Interrupciones Externas
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
22
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
2/
09/09/10 Ing. Germn Pereira Muoz -
Interrupciones Externas
2%

Potrebbero piacerti anche