Anda di halaman 1dari 5

Reporte

Programa para que cuando se cierra un interruptor, se enciende un LED por


cerca de 1 segundo. El LED esta encendido cuando el Bit7=0 en el puerto A.
Espera hasta que el sw se modifica y el proceso se repite.
Cdigo de programacin:

Debug:

Explicacin:
Primero se puso una etiqueta con el nombre de INICIO y poniendo activado al
perro guardin para que se est checando y no haya error en el programa o al
menos en la parte del programa que estar checando que no falle.

Con la siguiente instruccin BSET n ponemos el bit 7 del registro del puerto B
en 1.

Luego ponemos en cero los bits 0 y 7 del registro del puerto B con la
instruccin BCLR n, cargamos luego un #01 en el acumulador y lo
guardamos con la instruccin STA en el registro PTBPE en donde as se
habilita el pull-up interno en el bit 0.

Lo siguiente fue que se puso una nueva etiqueta ahora con el nombre de
ENCENDIDO haciendo referencia ahora a la parte de la programacin que se
encargara del encendido del LED. Y se empez con la instruccin BSET n,
para poner en 1 el bit 7 del registro del puerto B, luego se us la instruccin
BRSET n para que se hiciera una comparacin y brinco dependiendo del
resultado, y bueno con la instruccin pide que si el bit 7 del registro del puerto
B es 1 se producir un salto a la etiqueta y eso se har hasta que el sistema
identifique que el bit 7 del registro del puerto B es 0 lo cual indica que se ha
cerrado el interruptor y se encender el LED, y se continuara con la siguiente
lnea. Y lo siguiente es un brinco a una subrutina de un retardo, donde lo
tenemos con la etiqueta RETARDO_1 y cuando termina la subrutina regresa y
contina con la siguiente instruccin que es un salto o brinco a la etiqueta
APGADO.

Ahora se muestra lo que se realiza dentro de la subrutina de APAGADO ya


mencionada anteriormente, y bueno como se realizara un ciclo y se ocupa que
no haya alguna falla se pone al inicio al perro guardin y empezamos con la
instruccin BRCLR n que declara que si el bit 0 del registro del puerto B est
en 1 se dar un brinco a la etiqueta APAGADO, hasta que el bit 0 este en
0 y se contine con la siguiente instruccin que hace un brinco a la subrutina
de RETARDO_1 y regresa y ahora con la instruccin BCLR n se pone en 0
el bit 0 del registro del puerto B, y luego se hace en dos ocasiones el brinco a la

subrutina RETARDO_2 para


aproximadamente 1 segundo.

as

conseguir

finalmente

un

retardo

de

Ahora est la etiqueta de RETARDO_1 donde empezamos con el perro


guardin para evitar fallas, y bueno utilizamos la instruccin MOV en dos
ocasiones, para mover el nmero #$FF a las direcciones $80 y $80.
Luego se usan dos etiquetas de LAZO_2 y LAZO_1, y luego con la instruccin
DBNZ que hace una comparacin entre el valor en la direccin declarada con
el valor 0 y si no son iguales se salta a la etiqueta declarada y el valor de la
direccin declarada se va decrementando en 1 en cada ocasin, y es lo mismo
que sucede en la etiqueta RETARDO_2 pero ahora con 3 direcciones($82, $83
y $84) para las instrucciones MOV y moviendo los nmeros #$0A y
#$FF(2) respectivamente, y las comparaciones con la instruccin DBNZ
para as dar por terminada nuestra configuracin del programa.

Imgenes del proyecto en fsico:

Anda mungkin juga menyukai