; ARCHIVO CONTADOR.ASM ; CODIGO FUENTE PARA EL MICROCONTROLADOR PIC16F88 ; LEE LOS MICROSWITCHES, Y ESCRIBE EL VALOR BINARIO EN LEDS B4...B1 ; SI EL VALOR DE LOS SWITCHES ES DE '1001', ENCIENDE Y APAGA EL RELE. ; VERSION PARA OSCILADOR CRISTAL 4 MHZ ; CPU configuration ; (It's a 16F628, XT OSCILADOR ; watchdog timer off, power-up timer on) processor 16f88 include BANCO0 MACRO BCF STATUS,RP0 BCF STATUS,RP1 ENDM BANCO1 MACRO BSF STATUS,RP0 BCF STATUS,RP1 ENDM org 0 clrf PCLATH goto WEB org 3 WEB BANCO0 bcf RCSTA,SPEN ;DESHABILITA UART BANCO1 movlw 7 movwf CMCON clrf CVRCON clrf ANSEL MOVLW 1EH ;RA0=SALIDA, RA1..RA4=ENTRADAS MOVWF TRISA ;PROGRAMA LA DIRECCIÓN DE LOS BITS MOVLW 00H ;RB0..RB7=SALIDAS MOVWF TRISB BANCO0 LOOP MOVF PORTA,W ;leer el puerto A ANDLW 1EH MOVWF PORTB ;escribe en leds SUBLW 12H ;resta 1E para comparar BTFSC STATUS,Z GOTO RELE GOTO LOOP RELE BSF PORTA,0 ;activa relevador CALL RETRASO BCF PORTA,0 ;desactiva relevador CALL RETRASO GOTO LOOP RETRASO MOVLW D'250' ;retraso de 200 ms. MOVWF 20H MOVLW D'250' LOOP1 MOVWF 21H LOOP2 DECFSZ 21H GOTO LOOP2 DECFSZ 20H GOTO LOOP1 RETURN END