Banner publicitario de PCBWay

Encendido de un led por dos botones Ayuda (microcode)

Hola soy nuevo en micros estoy haciendo un programa que me encienda un led cuando las dos entradas son 1 y se apage cuando las dos entradas son 0 y que se mantenga en lo que esta cuando las entradas sean (1 y 0 o, 0 y 1)
Código:
define osc 4
      trisa.1=1
      trisa.0=1
      trisa.2=0
      porta.0=0
      Porta.1=0
      porta.2=0
           
    prog:
IF porta.1=0 xor porta.0=0 THEN llenar ;pregunta si portb.3=0 para ir a encen
if porta.1=1 xor porta.0=1 then vaciar
GOTO llenar ;ir a pro
llenar:
HIGH porta.2 ;encender el led
PAUSE 3000 ;esperar 1 segundo
GOTO prog
end
vaciar:
Low porta.2 ;encender el led
PAUSE 3000 ;esperar 1 segundo
GOTO prog
end


pues con este codigo no se me cumple lo que quiero que cuando sean (1 y 0 o, 0 y 1) no me altere la posicion anterior

el pic16f628A estoy usando
la imagen del circuito
 
hola, ami me sale de esta forma pruevala y analiza el circuito:

trisa.0=1
trisa.1=1
trisa.2=0
pul var porta.0
led var porta.2
pul2 var porta.1


led=0

;---------------------------------------------------------------------
; led
;---------------------------------------------------------------------
encendido:
if pul+pul2=1 then encendido ; la suma de los pulsadores=1 se queda en espera
if pul and pul2 then rebote ; si los pul se comportan como puerta and entonces sigue el programa

apagado:
if pul and pul2 then apagado
if pul+pul2=1 then apagado
if pul+pul2=0 then rebote2
rebote:
if pul+pul2=1 then encendido
pause 200
led=1
goto apagado
rebote2:
if pul and pul2 then apagado
if pul+pul2=1 then apagado
pause 200
led=0
goto encendido
end
 
hola, ami me sale de esta forma pruevala y analiza el circuito:

trisa.0=1
trisa.1=1
trisa.2=0
pul var porta.0
led var porta.2
pul2 var porta.1


led=0

;---------------------------------------------------------------------
; led
;---------------------------------------------------------------------
encendido:
if pul+pul2=1 then encendido ; la suma de los pulsadores=1 se queda en espera
if pul and pul2 then rebote ; si los pul se comportan como puerta and entonces sigue el programa

apagado:
if pul and pul2 then apagado
if pul+pul2=1 then apagado
if pul+pul2=0 then rebote2
rebote:
if pul+pul2=1 then encendido
pause 200
led=1
goto apagado
rebote2:
if pul and pul2 then apagado
if pul+pul2=1 then apagado
pause 200
led=0
goto encendido
end



Muchas gracias funciona bien
 
Atrás
Arriba