Você está na página 1de 3

TIMER0 COM INTERRUPO

Andrei Carvalho Ribeiro


Universidade Federal do Piau Matrcula: 2012657 5 and!car!rib"hot#ail!co# Resumo Este documento apresenta os resultados e dados da prtica 03 do laborat rio de microcontroladores! "ue consiste em desen#ol#er dois pro$ramas em assembl% para o PIC &'()**+ a partir da I,E do MP-+./ +s interrup01es no TIMER0 e por e#ento e2terno s3o empre$adas para 4a5er um -E, comutar o estado e para no modo 6-EEP 4a5er um -E, piscar duas #e5es #ia bot3o! respecti#amente/ Palavras-chave Interrup03o! TMR0! 6-EEP! assembl%/ $! $%&R'(U)*' Co#o o +r,+rio no#e di-. u#a interru+/0o serve +ara interro#+er o +ro1ra#a i#ediata#ente! (esta #aneira. +ode2se to#ar atitudes instant3neas! As interru+/4es s0o a/4es tratadas direta#ente +elo hard5are. o 6ue as torna #uito r7+idas e dis+onveis e# 6ual6uer +onto do siste#a! Assi# sendo. 6uando u#a interru+/0o acontece. o +ro1ra#a 8 +aralisado. u#a 9un/0o es+ec9ica :de9inida +elo +ro1ra#ador; 8 e<ecutada e de+ois o +ro1ra#a continua a ser e<ecutado do #es#o +onto e# 6ue estava! =<iste# #odelos 6ue ne# +ossue# interru+/4es. co#o 8 o caso. +or e<e#+lo dos P$Cs 12C50>.16C5?. 16C55 e outros de 1era/4es #ais anti1as. #as e# todos os #odelos #ais novos as interru+/4es est0o +resentes! As +rinci+ais interru+/4es s0o: 1 @ $nterru+/4es de &$M=RA 2 @ $nterru+/0o =<terna B @ $nterru+/0o +or Mudan/a de =stado ? @ $nterru+/0o de Fi# na =scrita da ==PR'M 5 @ $nterru+/0o de Co#+arador 6 @ $nterru+/4es de UAAR& 7 @ $nterru+/0o de CCP $$! PR'C=($M=%&'A = R=AUC&A('A Foi desenvolvido dois +ro1ra#as e# asse#blD co# o obEetivo de identi9icar e o 6ue acontece a+,s ser 1erada u#a interru+/0o! ' +ri#eiro +ro1ra#a co#utaria o estado de u# C=( conectado no +ino RF0 da +orta F a cada 0.5 s a+ro<i#ada#ente. utili-ando u#a interru+/0o do timer0!

(i$ura & 7 -E, piscando atra#8s de interrup03o $erada pelo TMR0 ' c,di1o desenvolvido 8 a+resentado no 6uadro abai<o:
G$%CCU(= HP16FI77A!$%CJ KKC'%F$L K>&K'AC M KN(&K'FF M KCOPK'FF G(=F$%= FA%P0 FCF A&A&UA. RP0 G(=F$%= FA%P1 FAF A&A&UA. RP0 G(=F$%= C=( P'R&F. 0 CFC'CP 0>20 C'%&A('R =%(C 'RL 0>00 L'&' $%$C$' 'RL 0>0? FCF $%&C'%. 2 (=CFAQ C'%&A('R R=&F$= M'OCN !I M'ONF C'%&A('R M'OCN FR00000001R >'RNF P'R&F R=&F$= $%$C$' CCRF P'R&F FA%P1 M'OCN FR00000000R M'ONF &R$AF M'OCN FR10000111R M'ONF 'P&$'%KR=L M'OCN FR10100000R M'ONF $%&C'% FA%P0 M'OCN !I M'ONF C'%&A('R L'&' S =%(

+l$oritmo & 7 Pro$rama pisca -E,

u# bot0o conectado no +ino RF0Y$%& 9aria o C=( +iscar nova#ente. retornando +ara o #odo AC==P!
G$%CCU(= HP16FI77A!$%CJ KKC'%F$L K>&K'AC M KN(&K'FF M KCOPK'FF G(=F$%= FA%P0 FCF A&A&UA. RP0 G(=F$%= FA%P1 FAF A&A&UA. RP0 G(=F$%= F'&A' P'R&F. 0 G(=F$%= C=( P'R&F. 1 CFC'CP 0>20 AU>1 AU>2 AU>B =%(C OAC'R =ZU !255 'RL 0>00 L'&' $%$C$' 'RL 0>0? FCF $%&C'%. 1 M'OCN FR00000010R >'RNF P'R&F CACC (=CA[ R=&F$= $%$C$' FA%P1 M'OCN FR00000001R M'ONF &R$AF M'OCN FR11000000R M'ONF 'P&$'%KR=L M'OCN FR10010000R M'ONF $%&C'% FA%P0 CACC (=CA[ AC==P L'&' S21 (=CA[ M'OCN !B M'ONF AU>B C''P0 M'OCN OAC'R M'ONF AU>2 C''P1 M'OCN OAC'R M'ONF AU>1 C''P2 (=CFAQ AU>1 L'&' C''P2 (=CFAQ AU>2 L'&' C''P1 M'OCN FR00000010R >'RNF P'R&F (=CFAQ AU>B L'&' C''P0 R=&UR% =%(

%o +ri#eiro +ro1ra#a RF1 da P'R&F 9oi utili-ado +ara o C=(. e +ortando con9i1urado atrav8s do bit 1 do &R$AF co#o sada! A con9i1ura/0o do 'P&$'%KR=L +er#itiu desabilitar os resistores de pull-up e habilitar o +rescaler no &MR0 co# 1:256! Portando. considerando atrav8s do +rescaler 6ue o ciclo de #76uina levasse a1ora 256 Ts e 6ue o estouro do &MR0 ocorre na transi/0o do 0<FF +ara 0<00. levaria: 256 Ts U 256 V 655B6 Ts W 97cil notar 6ue o te#+o de I estouros do &MR0 8 toleravel#ente i1ual a 0.5 s! U#a vari7vel C'%&A('R recebe o valor da 6uantidade de estouros necess7rios +ara o &MR0. e a cada interru+/0o seu valor 8 decre#entado. 6uando seu conteXdo 8 -ero. acontece a co#uta/0o de estado do C=( e o valor da vari7vel C'%&A('R 8 iniciali-ado +ara 6ue o #es#o 9unciona#ento seEa sucessiva#ente obtido! Oale le#brar 6ue +ara utili-ar#os u#a deter#inada interru+/0o. deve#os +ri#eira#ente li1ar sua chave individual. li1ando de+ois a chave de 1ru+o :se e<istir; e +or Xlti#o a chave 1eral! =ssas con9i1ura/4es s0o alcan/adas a +artir do devido #anuseio dos bits do re1istrador $%&C'%! %esse e<e#+lo 9oi setado o bit L$= :chave 1eral; e o bit &MR0$= :chave individual;! ' se1undo +ro1ra#a 9aria u# C=( +iscar duas ve-es e e# se1uida o #icrocontrolador seria colocado e# #odo de bai<o consu#o. a +artir de u#a interru+/0o e<terna

+l$oritmo 9 7 Pro$rama pisca -E, com bot3o U#a con9i1ura/0o be# se#elhante e# rela/0o ao +ro1ra#a anterior 9oi e#+re1ada. +or8# dois +inos da P'R&F 9ora# usados! ' +ino RF0 9oi con9i1urado co#o entrada e o +ino RF1 co#o sada re+resentando. res+ectiva#ente. o bot0o e o C=(! Oari7veis au<iliares 9ora# #anuseadas +ara o desenvolvi#ento de u#a rotina de delaD onde aconteceria as 6uatro co#uta/4es de estado do C=(!

A +rinci+al di9eren/a e# rela/0o ao +ro1ra#a anterior +ode ser vista no trata#ento do re1istrador $%&C'%. #ais u#a ve- a chave 1eral 9oi setada. +or8# dessa ve- a chave habilitadora $%&= 9oi setada. indicando o trata#ento de u#a interru+/0o e<terna! W i#+ortante ressaltar 6ue as 9la1s de interru+/0o s0o setadas 6uando ocorre u#a interru+/0o. inde+endente#ente do estado de sua chave 1eral ou individual. e antes do t8r#ino da interru+/0o o so9t5are do usu7rio deve asse1urar 6ue as 9la1s E7 tenha# sido li#+as!

R=&F$= $%$C$' FA%P1 M'OCN FR10000110R M'ONF 'P&$'%KR=L M'OCN FR10100000R M'ONF $%&C'% FA%P0 M'OCN !15? M'ONF C'%&A('R M'OCN !1B1 M'ONF &MR0 L'&' S =%(

+l$oritmo 3 7 Rotina de Interrup03o de &!0 s com toler;ncia de &< $! C'%CCUA*' A +r7tica se #ostrou satis9at,ria e esclarecedora acerca do trata#ento de interru+/4es devido ao &MR0 e a eventos e<ternos via +ino RF0! A utili-a/0o de interru+/0o do &i#er0 e o uso e trata#ento da interru+/0o +elo RF0Y$%& ocorrera# se# 1randes +roble#as! Contudo devido ^ 9alta de te#+o n0o 9oi +ossvel 1ravar os +ro1ra#as no P$C16FI77A e t0o +ouco 9a-er #edi/4es co# #ulti#etro a res+eito do seu consu#o no #odo Alee+! (i$ura 9 7 :C em modo 6-EEP! -E, piscando atra#8s de interrup03o e2terna/ Co#o o +r,+rio no#e E7 di-. o #odo Alee+ coloca o TC +ara \dor#ir]! =sta 8 u#a das #elhores #aneiras de econo#i-ar ener1ia e# siste#as 6ue +ode# 9icar +aralisados te#+oraria#ente! Co#o o obEetivo do siste#a 8 +iscar o C=( a+enas 6uando o bot0o 9or acionado. a utili-a/0o do #odo Alee+ torna2se ideal! =ste #odo 8 ta#b8# #uito utili-ado e# siste#as ali#entados +or +ilhas ou baterias. +ois o P$C +ode +assar a consu#ir #enos 6ue 1 TA! Para entrar#os no #odo Alee+. deve#os e<ecutar a instru/0o AC==P! U#a ve- dentro desse. +ode#os sair dele atrav8s de u#a interru+/0o e<terna 1erada no +ino RF0!
G$%CCU(= HP16FI77A!$%CJ KKC'%F$L K>&K'AC M KCOPK'FF M KN(&K'FF G(=F$%= FA%P0 FCF A&A&UA. RP0 G(=F$%= FA%P1 FAF A&A&UA. RP0 CFC'CP 0>20 C'%&A('R =%(C 'RL 0>00 L'&' $%$C$' 'RL 0>0? FCF $%&C'%. 2 (=CFAQ C'%&A('R R=&F$= M'OCN !15? M'ONF C'%&A('R M'OCN !1B1 M'ONF &MR0

F$FC$'LRAF$A _1` %otas de aulas da disci+lina de #icrocontroladores do +ro9essor Qurita! Acesso e# 6 de Eaneiro de 201?! htt+:YY555!u9+i!edu!brYsubsiteFilesY-uritaYar6uivosY9ilesY UFP$2MicrocontroladoresK52Microcontroladores2 v1K1!+d9 _2` Microchi+ &ec! $nc!. \P$C16FI7>A 2 2IY?0Y??2Pin =nhanced Flash Microcontrollers]. (ata Aheet. 200B! _B` (esbravando o P$C A#+liado e Atuali-ado +ara P$C 16F62IA! =ditora Wrica! I ed! _?` Conectando o P$C 16FI77A Recursos Avan/ados! =ditora Wrica! B ed!