LIST P=12F508, r=hex ;originalmente es PIC12C508 yo lo cambie porque uso el 12F508
INCLUDE "P12F508.INC" ;Incluimos la libreria que originalmente era PIC12C508
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC ;Aquí se configuran los fusibles
; Variables
W EQU 0
F EQU 1
OUT1 EQU 0 ;GP0
OUT2 EQU 1 ;GP1
OUT3 EQU 2 ;GP2 ; no se usa GP3 por ser exclusivamente entrada
OUT4 EQU 4 ;GP4
OUT5 EQU 5 ;GP5
AUX1 EQU 0x0C ;variable auxiliar
AUX2 EQU 0x0D ;variable auxiliar
N EQU 0x00
ORG 0x000
clrwdt
movlw b'11000000'
option
movlw b'00001000' ; Configura GP0-GP2 y GP4-GP5 como salida. GP3 solo es entrada
tris GPIO
bcf GPIO,OUT1 ;Borra todas las salidas
bcf GPIO,OUT2
bcf GPIO,OUT3
bcf GPIO,OUT4
bcf GPIO,OUT5
flasher
bsf GPIO,OUT3 ;Enciende el tercer LED
call retardo ;Espera un tiempo
bcf GPIO,OUT3 ;Apaga el tercer LED
call retardo ;Espera un tiempo
bsf GPIO,OUT4 ;Enciende el cuarto LED
call retardo ;Espera un tiempo
bcf GPIO,OUT4 ;Apaga el cuarto LED
call retardo ;Espera un tiempo
goto repetir
repetir
incf N,F
bsf GPIO,OUT2 ;Enciende el tercer LED
call retardo ;Espera un tiempo
bcf GPIO,OUT2 ;Apaga el tercer LED
call retardo ;Espera un tiempo
bsf GPIO,OUT5 ;Enciende el cuarto LED
call retardo ;Espera un tiempo
bcf GPIO,OUT5 ;Apaga el cuarto LED
call retardo ;Espera un tiempo
goto flasher
retardo
movlw 0x80
movwf AUX1
movwf AUX2
Dec_1
decfsz AUX1, F
goto Dec_1
decfsz AUX2, F
goto Dec_1
retlw 0