Solo he logrado que funcione el pulsador de ON
Código:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C ; En esta posición empieza la RAM de usuario.
ENDC
#DEFINE LED PORTB,0
#DEFINE START1 PORTA,0
#DEFINE START2 PORTA,1
; ZONA DE CÓDIGOS *******************************************************************
ORG 0
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf PORTB ; Las líneas del Puerto B se configuran como salida.
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
btfss START1
goto Fin
call Retardo_20ms
btfss START2
goto Fin
movlw b'01110110' ; Se muestra la letra H
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'00111111' ; Se muestra la letra O
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'00111000' ; Se muestra la letra L
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'01110111' ; Se muestra la letra A
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'00000000' ; Se muestran los segmentos apagados
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 vez para pausar
Fin goto Principal ; Reinicia el ciclo
INCLUDE <RETARDOS.INC>
END
Código:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C ; En esta posición empieza la RAM de usuario.
ENDC
#DEFINE LED PORTB,0
#DEFINE START1 PORTA,0
#DEFINE START2 PORTA,1
; ZONA DE CÓDIGOS *******************************************************************
ORG 0
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf PORTB ; Las líneas del Puerto B se configuran como salida.
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
btfss START1
goto Fin
call Retardo_20ms
btfss START2
goto Fin
movlw b'01110110' ; Se muestra la letra H
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'00111111' ; Se muestra la letra O
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'00111000' ; Se muestra la letra L
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'01110111' ; Se muestra la letra A
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 veces.
movlw b'00000000' ; Se muestran los segmentos apagados
movwf PORTB
call Retardo_500ms ; Llama al retardo 1 vez para pausar
Fin goto Principal ; Reinicia el ciclo
INCLUDE <RETARDOS.INC>
END