hola, quiero exponeros una duda aver si alguien le ha pasado tambien. he de decir q soy muy novato. tengo un programa. mediante un pulsador en el portb.0 y un led en el portb.1 cadavez que pulso el pulsador hace un cambio se enciende el led pulso el led parpadea pulso y el led se apaga. la duda es quiero lo mismo en portb.2 pulsador y portb.3 led no consigo hacer q funcionen los dos a la vez.
el programa:
trisb.0=1
trisb.1=0
trisb.2=1
trisb.3=0
pul var portb.0
led var portb.1
pul2 var portb.2
led2 var portb.3
led2=0
led=0
;---------------------------------------------------------------------
; led
;---------------------------------------------------------------------
encendido:
if pul=1 then encendido
if pul=0 then rebote
pwm1:
if pul=1 then pwm1
if pul=0 then rebote3
apagado:
if pul=1 then parpadeo
if pul=0 then rebote2
rebote:
if pul=0 then rebote
pause 200
led=1
goto pwm1
rebote2:
if pul=0 then rebote2
pause 200
led=0
goto encendido
rebote3:
if pul=0 then rebote3
if pul=1 then parpadeo
parpadeo:
led=0
if pul=0 then apagado
pause 200
led=1
if pul=0 then apagado
pause 200
goto apagado
;----------------------------------------------------------------
; led2
;----------------------------------------------------------------
aencendido:
if pul2=1 then aencendido
if pul2=0 then arebote
apwm1:
if pul2=1 then apwm1
if pul2=0 then arebote3
aapagado:
if pul2=1 then aparpadeo
if pul2=0 then arebote2
arebote:
if pul2=0 then arebote
pause 200
led2=1
goto apwm1
arebote2:
if pul2=0 then arebote2
pause 200
led2=0
goto aencendido
arebote3:
if pul2=0 then arebote3
if pul2=1 then aparpadeo
aparpadeo:
led2=0
if pul2=0 then aapagado
pause 200
led2=1
if pul2=0 then aapagado
pause 200
goto aapagado
la idea es generar un PWM en un 16f84A.Mediante un solo pulsador se consiguen 5 posiciones de salida, que son , Apagado, 700mA, 1500mA, y 2000mA, 3000mA
Alimentando el circuito con 7.2v (2 baterias de litio de 3.7v) y uso un 7805 para alimentar la parte del 16F84A.
y quiero un doble canal que es lo que no consigo hacer.
el programa:
trisb.0=1
trisb.1=0
trisb.2=1
trisb.3=0
pul var portb.0
led var portb.1
pul2 var portb.2
led2 var portb.3
led2=0
led=0
;---------------------------------------------------------------------
; led
;---------------------------------------------------------------------
encendido:
if pul=1 then encendido
if pul=0 then rebote
pwm1:
if pul=1 then pwm1
if pul=0 then rebote3
apagado:
if pul=1 then parpadeo
if pul=0 then rebote2
rebote:
if pul=0 then rebote
pause 200
led=1
goto pwm1
rebote2:
if pul=0 then rebote2
pause 200
led=0
goto encendido
rebote3:
if pul=0 then rebote3
if pul=1 then parpadeo
parpadeo:
led=0
if pul=0 then apagado
pause 200
led=1
if pul=0 then apagado
pause 200
goto apagado
;----------------------------------------------------------------
; led2
;----------------------------------------------------------------
aencendido:
if pul2=1 then aencendido
if pul2=0 then arebote
apwm1:
if pul2=1 then apwm1
if pul2=0 then arebote3
aapagado:
if pul2=1 then aparpadeo
if pul2=0 then arebote2
arebote:
if pul2=0 then arebote
pause 200
led2=1
goto apwm1
arebote2:
if pul2=0 then arebote2
pause 200
led2=0
goto aencendido
arebote3:
if pul2=0 then arebote3
if pul2=1 then aparpadeo
aparpadeo:
led2=0
if pul2=0 then aapagado
pause 200
led2=1
if pul2=0 then aapagado
pause 200
goto aapagado
la idea es generar un PWM en un 16f84A.Mediante un solo pulsador se consiguen 5 posiciones de salida, que son , Apagado, 700mA, 1500mA, y 2000mA, 3000mA
Alimentando el circuito con 7.2v (2 baterias de litio de 3.7v) y uso un 7805 para alimentar la parte del 16F84A.
y quiero un doble canal que es lo que no consigo hacer.
Última edición: