wenas amigos!
Acabo de empezar a dar mis primeros pasos con la programacion en ensamblador
y me gustaria saber como puedo acer k con una pulsacion en un pulsador
encienda un led y con otra pulsacion en el mismo pulsador lo apage...
yo lo e intentao pero no me sale...
aki expongo el codigo k ice aver si me ayudais

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C
Contador ; El contador a visualizar.
ENDC
#DEFINE Pulsador PORTA,4 ; Pulsador conectado a RA4.
#DEFINE Salida0 PORTB,0
On EQU b"00000001" ;Definimos que Led"s se encenderan
Off EQU b"00000000" ;Definimos que Led"s se apagaran
; Source Code **************************************************************************
ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf PORTB ; Estas líneas configuradas como salidas.
bsf Pulsador ; Línea del pulsador configurada como entrada.
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
btfsc Pulsador ; ¿Esta el pulsador presionado?
goto Fin ; ¿No?Pues vuelve a leerlo
call Retardo_20ms ;Retardo para que se estabilizen los rebotes de tension
btfsc Pulsador ; Comprueba si era un rebote
goto Fin ; Era un rebote y sale fuera.
goto Estado ;No era un rebote y pasa a la siguiente funcion
EsperaDejePulsar
btfss Pulsador
goto EsperaDejePulsar ; No. Espera que deje de pulsar.
Fin
goto Principal
Estado
btfsc PORTB,0
goto Function_On
goto Function_Off
Function_On
movlw On
movwf PORTB
goto Fin
Function_Off
movlw Off
movwf PORTB
goto Fin
INCLUDE <RETARDOS.INC> ; Subrutinas de retardo.
END ; Fin del programa.
Gracias por vuestra ayuda
