Practica 1.2.1.doc
-
Upload
brandon-lopez -
Category
Documents
-
view
22 -
download
0
Transcript of Practica 1.2.1.doc
Ejercicio 1.2.1: Encendido y apagado de un LED con intermitencia de aproximadamente 1 segundo.
;Ejercicio 1.2.1: Encendido y apagado de un LED con intermitencia de aproximadamente 1 segundo
list p=16f84a
; *****DEFINICION DE REGISTROS UTILIZADOS (MEMORIA RAM)****
statusequ03h
ptoaequ05h
;el puerto A esta en la direccin 05 de la RAM
ptobequ06h
;el puerto B est en la direccin 06 de la RAM
trisaequ85h
;registro de configuracin del puerto A
trisbequ86h
;registro de configuracin del puerto B
rp0equ5
;el bit 5 del registro STATUS
PDel0equ12h
PDel1equ13h
PDel2equ14h
org00
;el Vector de Reset es la direccion 00
gotoinicio
;se salta al inicio del programa
org 05
;el programa empieza en la direccion de memoria 0005h
;-------------------------------------------------------------
; Generado con PDEL ver SP r 1.0 el 24/10/2013 Hs 10:09:09 a.m.
; Descripcion: Delay 1000000 ciclos
;-------------------------------------------------------------
Retardo movlw .14 ; 1 set nmero de repeticin (C)
movwf PDel0 ; 1 |
PLoop0 movlw .72 ; 1 set nmero de repeticin (B)
movwf PDel1 ; 1 |
PLoop1 movlw .247 ; 1 set nmero de repeticin (A)
movwf PDel2 ; 1 |
PLoop2 clrwdt
; 1 clear watchdog
decfsz PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto PLoop1 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (C)
goto PLoop0 ; 2 no, loop
PDelL1
goto PDelL2 ; 2 ciclos delay
PDelL2
clrwdt
; 1 ciclo delay
return ; 2+2 Fin.
;-------------------------------------------------------------
; ***** EMPIEZA EL PROGRAMA *******
inicio
bsfstatus,rp0;se ubica en el banco 1 de la RAM
movlwb'00000000';se carga el registro w con los bits 00000000
movwftrisb
;se programan los pines del puerto b como salidas
movlwb'00011111';se programan los pines del puerto a como entradas
bcfstatus,rp0;se ubica en el banco 0 de la RAM
clrfptob
ciclo
bsfptob,0
;enciende el led de la salida RB0
callretardo
;llama la subrutina retardo
bcfptob,0
;apaga el led de la salida RB0
callretardo
;llama la subrutina retardo
goto ciclo
end