; **** Encabezado ****
list p=16F84A
#include P16F84A.inc
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;**** Definicion de variables ****
Contador1 equ 0x0C
Contador2 equ 0x0D
;**** Inicio del Micro ****
Reset
org 0x00 ; Aqui comienza el micro.-
goto Inicio ; Salto a inicio de mi programa.-
; **** Programa Principal ****
;**** Configuracion de puertos ***
org 0x05 ; Origen del codigo de programa.-
Inicio
bsf STATUS,RP0 ; Pasamos de Banco 0 a Banco 1.-
bcf TRISB,0 ; Pin RB0 como salida.-
bcf STATUS,RP0 ; Paso del Banco 1 al Banco 0
bcf PORTB,0 ; El Led comienza apagado.-
;**** Control de Led ****
Bucle
bsf PORTB,0 ; Enciende Led
call Demora_190ms;
bcf PORTB,0 ; Apaga el Led
call Demora_190ms;
goto Bucle ;
;...........................................
;**** Demora ****
Demora_190ms
movlw 0xFF ;
movwf Contador1 ; Iniciamos contador1.-
Repeticion1
movlw 0xFF ;
movwf Contador2 ; Iniciamos contador2
Repeticion2
decfsz Contador2,1 ; Decrementa Contador2 y si es 0 sale.-
goto Repeticion2 ; Si no es 0 repetimos ciclo.-
decfsz Contador1,1 ; Decrementa Contador1.-
goto Repeticion1 ; Si no es cero repetimos ciclo.-
return ; Regresa de la subrutina.-
end