Vous êtes sur la page 1sur 3

PROGRAMACIN DE MICROCONTROLADORES PIC

PRCTICA No. 2
LUCES SECUENCIALES
OBJETIVO. El alumno aprender a programar en Lenguaje Ensamblador luces secuenciales,
empleando rutinas de retardo.
MATERIAL EMPLEADO
Microcontrolador PIC 16F84
Tablilla de Pruebas Protoboard!
"scilador de Cristal de Cuar#o de 4 M$#
% Capacitores de cermica de %% pF
8 &E'(s
DESARROLLO
)rma el circuito propuesto en la Prctica *o. 1.
El pro+esor e,plicara el programa para unas &uces -ecuenciales, donde la secuencia
consiste en despla#ar el .it Menos -igni+icati/o &-.! 0acia la i#1uierda, empleando un
retardo entre cambio de 1 segundo.
El pro+esor asignara a cada e1uipo una secuencia 2 retardo distinta a la e,plicada durante
la clase, el e1uipo tendr 1ue 0acer los cambios correspondientes al siguiente programa3
PROGRAMA ASM LUCES SECUENCIALES
455555555555555 I67)&')'E- 55555555555555555555555555555555555555
8 E97 :
+ E97 1
P";T. E97 :60
T;I-. E97 860
-T)T7- E97 :<0
;P: E97 :=0
C"*T)'";1 E97 :C0
C"*T)'";% E97 :'0
C"*T)'";< E97 :E0
4555555555 -ecci>n de ;E-ET 555555555555555555555555555555555555
";6 ::0
6"T" I*ICI)&I?)
";6 :=0
I*ICI)&I?) .-F -T)T7-,;P:
C&;F T;I-.
.CF -T)T7-,;P:
C&;F P";T.
C&;F C"*T)'";1
C&;F C"*T)'";%
M"@&A :,6
M"@AF C"*T)'";<
4555555555 'e+inici>n de -EC7E*CI) 555555555555555555555555555555555555
-EC7E*CI) M"@&A :,:1
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,:%
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,:4
M"@AF P";T.
C)&& ;ET);'"
Elaboro: Ing. Bruno valos Jur!gu" CETIS No. #$ %
PROGRAMACIN DE MICROCONTROLADORES PIC
M"@&A :,:8
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,1:
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,%:
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,4:
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,8:
M"@AF P";T.
C)&& ;ET);'"
M"@&A :,::
M"@AF P";T.
C)&& ;ET);'"
6"T" -EC7E*CI)
4555555555 ;7TI*) 'E ;ET);'" 555555555555555555555555555555555555
;ET);'" 'ECF-? C"*T)'";1,+
6"T" ;ET);'"
'ECF-? C"*T)'";%,+
6"T" ;ET);'"
'ECF-? C"*T)'";<,+
6"T" ;ET);'"
M"@&A :,6
M"@AF C"*T)'";<
;ET7;*
E*'
CALCULO DE TIEMPO DE LA RUTINA DE RETARDO (DELAY)
$a2 situaciones en las 1ue se precisa esperar un determinado tiempo. Estos inter/alos pueden
controlarse mediante 0ard8are o con rutinas de retardo basadas en so+t8are. &a precisi>n de estos
retardos depende del tipo de oscilador. -e obtiene ma2or precisi>n usando osciladores controlados
por cristal de cuar#o.
&a /elocidad a la 1ue se eBecuta el c>digo depende de la /elocidad del oscilador del reloB 2 del
nCmero de ciclos m1uina eBecutados. &as instrucciones necesitan 1 > % ciclos para eBecutarse. 7n
ciclo m1uina es un tiempo usado por el PIC para sincroni#ar los sucesos internos 2 e1ui/ale a
cuatro ciclos de reloB. Por lo tanto, el periodo de un ciclo m1uina es igual a cuatro /eces el periodo
del oscilador principal.

Perodo= 1 !re"#e$"%&

-i la +recuencia del "scilador de ;eloB es de 4 M0#, el perDodo /ale3 1E4 M0# F :.%= G-eg. 7n
ciclo m1uina por lo tanto es de 1 'Se(.
El nCmero de ciclos m1uina necesarios para eBecutar una instrucci>n depende de la misma, a
continuaci>n /o2 a calcular el tiempo e,acto 1ue tarda en eBecutarse la rutina de retardo del
programa propuesto.
Elaboro: Ing. Bruno valos Jur!gu" CETIS No. #$ &
PROGRAMACIN DE MICROCONTROLADORES PIC
I*-T;7CCI"*E- CICLOS
RETARDO DEC)S* CONTADOR1+!
,OTO RETARDO
DEC)S* CONTADOR2+!
,OTO RETARDO
DEC)S* CONTADOR-+!
,OTO RETARDO
MOVL. /01
MOV.) CONTADOR-
RETURN
1 2 2
2
1 2 2
2
1 2 2
2
1
1
2
&a Instrucci>n DEC)S* se eBecuta en 1 ciclo si s>lo decrementa 2 % ciclo si decrementa 2 salta
la instrucci>n siguiente en el +luBo del programa.
Por lo tanto el bucle interno representado con la letras guinda, necesita tres ciclos de
instrucci>n para eBecutarse 2 lo 0ace %== /eces. &a %=6 /e# tarda s>lo % ciclos debido al resultado
1ue es ::0 en el CONTADOR1, la instrucci>n ,OTO es saltada.
El nCmero total de ciclos m1uina eBecutados en el interior del bucle es por tanto3
2330-452=616 "%"7o8
'espuHs de I6I ciclos m1uina internos, el bucle subJe,terno representado con las letras
azules, aKade tres ciclos m1uina 2 /uel/e al bucle interno. El bucle subJe,terno se eBecuta %==
/eces, inclu2endo el bucle interno. )l llegar a %=6, el CONTADOR2 es igual a cero 2 la instrucci>n
'EC-F? se salta la instrucci>n ,OTO.
El nCmero total de ciclos m1uina eBecutados en el bucle subJe,terno con el interno es de3
233096165-452=1:1+-32 "%"7o8
'espuHs de 1L6,<=% ciclos m1uina, el bucle e,terno representado con la letra verde, aKade
tres ciclos m1uina 2 /uel/e a los bucles anteriores. El bucle e,terno se eBecuta = /eces, cuando el
CONTADOR- es igual a cero la instrucci>n 'ECF-? salta la Instrucci>n ,OTO, aKade 6 ciclos
para regresar de la rutina de retardo.
El nCmero total de ciclos de m1uina eBecutados en toda la rutina de retardo es de3

3091:1+-325-451= :;1+6;1 "%"7o8 < 1+///+/// "%"7o8
2 :;1+6;1 'Se(
CONCLUSIONES
Elaboro: Ing. Bruno valos Jur!gu" CETIS No. #$ '

Vous aimerez peut-être aussi