hace 10 años
yorch 2014, le modifiqué un poco el código para que cuando pulse entonces espere a que no esté pulsado y ahí sí encienda el led, éste queda encendido hasta que a voluntad Ud. pulse de nuevo y cuando suelte el pulsador entonces se apague
list p=16f84a ;el dispositivo es el 16f84a
;------------------------------------------------------------
PORTB equ 06 ;el puerto b seubica en 06 de la RAM
TRISB equ 86
STATUS equ 03
;------------------------------------------------------------
reset org 0 ;reset en direccion 00h
goto comenzar ;se lleva el control a comienzo
comenzar clrf PORTB ;borra los latch de salida
bsf STATUS,5
movlw 02h ;se carga w con 02h
movwf TRISB ;se selecciona como entrada a RB1
bcf STATUS,5 ;selecciona banco 0
inicio
btfss PORTB,1 ;¿entrada 1?¿interruptor pulsado?
goto inicio ; si no vuelve a inicio
espera
btfsc POTRB,1 ;interruptor no pulsado?
goto espera ;si continúa pulsado entonces va a espera
bcf PORTB,0 ;si no está pulsado enciende led
apaga
btfss PORTB,1 ;¿entrada 1?¿interruptor pulsado?
goto apaga ; si no está pulsado vuelve a apaga
espera2
btfsc POTRB,1 ;interruptor no pulsado?
goto espera2 ;si continúa pulsado entonces va a espera2
bcf PORTB,0 ;si no está pulsado apaga el led
goto inicio ;comienza de nuevo
END ;fin del programa
¿Realmente quieres cerrar esta reparación?
Sí
No
¿Realmente quieres reabrir esta reparación?
Sí
No
¿Realmente quieres borrar este post?
Sí
No