liga led com botão e pisca led
TRANSCRIPT
7/26/2019 Liga Led Com Botão e Pisca Led
http://slidepdf.com/reader/full/liga-led-com-botao-e-pisca-led 1/3
LIGA LED COM BOTÃO E PISCA LED
Jônatas Macêdo Soares
Abstract – This paper presents a
report of the second practice of microcontroers! The main ob"ecti#e of thispractice is to hep st$dents to %et $sed &iththe instr$ctions of assemb' pro%ramin% of PIC()*+,,A! The ana'sis of a pro%ram haspro#ided for st$dents the abiit' to $se theports of microcontroer as inp$ts or o$tp$tsas &e as to contro a dea' b' $sin% theCALL instr$ction!
-es$mo. Este trabaho apresenta $mreat/rio sobre a primeira pr0tica de micro
controador! O principa ob"eti#o destapr0tica 1 a"$dar os a$nos a se famiiari2arcom as instr$34es em assemb' doPIC()*+,,A! A an0ise de $m pro%ramafornece$ aos a$nos a capacidade de $sar asportas do micro controador como entrada o$sa5da a1m de controar $m atraso atra#1s dainstr$36o CALL!
Introdução
Enumeras são as maneiras de controlar determinada ação de um micro controlador
através da programação. Entretanto em alguns
casos um bom domínio da função de cada
instrução do I! não é o suficiente. ara gerar
um atraso" por e#emplo" é necess$rio entender
também a velocidade %ue cada instrução é
e#ecutada.
&e acordo com a %uantidade de ciclos
%ue uma instrução 'gasta( para reali)ar uma
tarefa e com a fre%uência do oscilador utili)ado
no I!" pode*se calcular a duração de cada
instrução" possibilitando assim um controle do
atraso dese+ado.
, combinação entre o controle do
tempo e dos pinos de entrada ou de saída
apresenta ao programador uma grande
aplicabilidade para o I!.
rocedimentos e resultados
e#perimentais
, pr$tica consistiu na an$lise do
seguinte programa-
include /012344a.I5!/ 6inclui biblioteca do
I! a ser usado
7 define valor0 &87998
: define valor7 &87998
; define valor: &878
9
1 cbloc< =#7=
4 cont0
3 cont7
> cont:
0= Endc
00 ??config ?@A?BS! C ?D&A?B22
07
0: 6I5I!IB &B
FBGF,M,
0; bcf SA,AHS" F0 6desliga bit SA,AHS"F06
09 bsf SA,AHS" F= 6liga bit SA,AHS"F=6
escole banco 0
01
04 movl =#ff
03 movf AFIS! 6 a porta c ser$ entrada
0>
7= clrf AFIS& 6 a porta d saída
70
77 bcf SA,AHS" F=
7: movl =#==
7; movf BFA& 6 )era as saídas
79
7/26/2019 Liga Led Com Botão e Pisca Led
http://slidepdf.com/reader/full/liga-led-com-botao-e-pisca-led 2/3
71 le?botao btfss BFA!"= 6testa F!=. Se
ligado" pula pro# lina
74 goto apaga?led 6desvia para rKtulo
'&ESLIG(
73 bsf BFA&"7 6liga F&7 LE&N
7> goto inverte 6desvia para rKtulo 'comeco(
:= apaga?led bcf BFA&"7 6desliga F&7 LE&N
:0
:7 inverte movl O8=======08
:: #orf BFA&"2 6 ou #orf BFA&
:; call atraso
:9 goto le?botao
:1
:4 6FBAI5, &E ,AF,SB &E
AEMB
:3
:> atraso movl valor:
;= movf cont:
;0
;7 recarga7 movl valor7
;: movf cont7
;;
;9 recarga0 movl valor0
;1 movf cont0
;4
;3 dec decfs) cont0
;> goto dec
9= decfs) cont7
90 goto recarga0
97 decfs) cont:
9: goto recarga7
9; return
99
91
94 end 6fim do programa
,o observar cada lina de instrução pode*se
concluir %ue-
* , diretiva ??config é bastante Ptil"
uma ve) %ue configura inicialmente" neste caso"
o não acionamento do D&A e a utili)ação de
um oscilador e#terno.
* !om 'cbloc<( pode*se declarar
vari$veis de forma se%uencial a partir de um
endereço inicial" como feito para as vari$veiscont0" cont7 e cont: %ue estão arma)enadas nos
endereços =@7=" =@70" e =@77
respectivamente. Htili)a*se 'endc( para indicar
o fim das iniciali)açQes em se%uência.
* ara a rotina de atraso são necess$rios
:>:7:0 ciclos de m$%uina. ara um cloc< de
;M) temos um período de 0us" ou se+a" o
atraso gerado é de 0usR:>:7:0=.:>:7:0s.
* ara gerar um atraso de
apro#imadamente 0ms com um cloc< de ;M)"é necess$rio um total de ;=== ciclo de m$%uina.
!omo mostrado na rotina a seguir-
atraso- movl .1
movf =@7=
recarga- movl .77=
movf =@70
dec- decfs) =#70
goto dec
decfs) =#7=
goto recarga
return
* Hma outra forma de alterar o
estado do pino F&= pode ser-
7/26/2019 Liga Led Com Botão e Pisca Led
http://slidepdf.com/reader/full/liga-led-com-botao-e-pisca-led 3/3
inverte- btfss BFA&"=
goto alto
bcf BFA&"=
dela call atraso
goto le?botao
alto bsf BFA&"=
goto dela
!onclusão
,pKs a an$lise do programa percebe*se
a necessidade de saber %uantos ciclos de
m$%uina cada instrução necessita para ser
e#ecutada" principalmente se o programa e#igir
uma precisão maior com relação ao tempo de
trabalo.
2oi possível também verificar %ue
podem e#istir v$rias formas de reali)ar a mesma
tarefa.
Feferências bibliogr$ficas
7(8 PIC()*+,9A Data Sheet: 73T;=T;;*in
Enanced 2las Microcontrollers.