Hola a todos, habro este post porque tengo un problema con mi programa, me estoy iniciando en estos temas y estoy un poco verde.
El tema es el siguient:
Mi programa consiste en poder seleccionar mediante 2 pulsadores 4 velocidades, cada una de las velocidades "mueve" a la vez un motor dc y parpadee un led a una determinada velocidad.
Como ejemplo podrian ser:
100rpm y high 5: pause 500: low 5: pause 500
300rpm y high 5: pause 300: low 5: pause 300
500rpm y high 5: pause 100: low 5: pause 100
El problema esta en que cuando selecciono por ejemplo la velocidad 1, al intentar cambiar a la 2 el pulsador no responde, se queda como "colgado" si insisto a las 5, 6 pulsaciones consigo cambiar de velocidad. En el codigo solo e implementado el led, y me gustaria poder solucionar el tema cuelgues antes de implementar el pwm del motor DC y complicar el codigo con sensores y demas que tengo que añadir al codigo.
XTAL = 4
cont var word
cmcon=7
TRISB=0
TRISA=%00000011
PORTB=0
cont=1
inicio:
if PORTA.0=0 then
cont=cont*2
if cont>=16 then
cont=16
endif
pause 200
else
cont=cont
endif
if PORTA.1=0 then
cont=cont/2
if cont<=1 then
cont=1
endif
pause 200
else
cont=cont
endif
if cont = 1
High PORTB.7 ;Indicador led de circuito apagado
pause 30
high 5
pause 700
low 5
pause 700
else
low portb.7
endif
if cont = 2
High 0 ;Led velocidad 1
high 5
pause 500
low 5
pause 500
else
low portb.0
endif
if cont = 4
high 0
high 1 ;Led velocidad 2
high 5
pause 400
low 5
pause 400
else
low portb.1
endif
if cont = 8
high 0
high 1
high 2 ;Led velocidad 3
high 5
pause 200
low 5
pause 200
else
low portb.2
endif
if cont = 16
high 0
high 1
high 2
high 3 ;Led velocidad 4
high 5
pause 100
low 5
pause 100
else
low portb.3
endif
goto inicio
end
Tambien e probado haciendolo con subrutinas, pero el problema persiste. Utilizo un PIC16F628A
Saludos y gracias.