; ARCHIVO CONTADOR.ASM ; CODIGO FUENTE PARA EL MICROCONTROLADOR PIC16F84 ; 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 16F84, XT OSCILADOR ; watchdog timer off, power-up timer on) processor 16f84 include __config _XT_OSC & _WDT_OFF & _PWRTE_ON ORG 0 PUERTOA BSF STATUS,RP0 ;ELIJE EL BANCO DE REGISTROS ESPECIALES 1 MOVLW 1EH ;RA0=SALIDA, RA1..RA4=ENTRADAS MOVWF TRISA ;PROGRAMA LA DIRECCIÓN DE LOS BITS MOVLW 00H ;RB0..RB7=SALIDAS MOVWF TRISB BCF STATUS,RP0 ;ELIGE EL BANCO 0 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