; ARCHIVO CONTADOR.ASM ; CODIGO FUENTE PARA EL MICROCONTROLADOR PIC16F628 ; CUENTA BINARIA EN LOS LEDS. RETRASO DE 500 MS. ; VERSION PARA OSCILADOR CRISTAL 4 MHZ ; CPU configuration ; (It's a 16F628, XT OSCILADOR ; watchdog timer off, power-up timer on) processor 16f628 include __config _XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _BODEN_OFF & _LVP_OFF J equ H'20' K equ H'21' org 0 movlw 0x7 movwf CMCON movlw 0x0 movwf VRCON inicio: movlw B'00000000' tris PORTB ; bits del puerto B son salidas movlw B'00000000' ; w := 00000000 movwf PORTB ; inicializa port B =0 increment: incf PORTB,F call retro goto increment ; RETRASO DE 0.5 SEGUNDOS retro: movlw D'100' ; w := 200 decimal movwf J ; J := w jloop: movwf K ; K := w kloop: decfsz K,f ; K = K-1, skip next if zero goto kloop decfsz J,f ; J = J-1, skip next if zero goto jloop return end