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%