Hola, ante todo me presento soy jose ramón, y hace tiempo que me gustan los pic (por hobby y para hobby) pero siempre por un motivo o otro lo tengo que dejar y ahora he vuelto a intentar hacer un proyecto como casi todos que intento hacer de iluminación con led para maquetas...
La duda que tengo es como hacer varios efectos diferentes por cada patilla del micro.
necesito hacer una serie de destellos el primer grupo lo tengo son 2 led ese funciona bien pero no pasa a hacer el siguiente efecto que son 3 led, todos los efectos se tienen que ejecutar a la vez... no se si me explico.
Este es el codigo (si se puede mejorar se aceptan ideas):
program efectos
dim repeticion as byte
TRISA = 0
MAIN:
' //Programa 1
inicio_s:
porta.1 = 1
porta.0 = 1
DELAY_MS(200)
porta.1 = 0
porta.0 = 0
DELAY_MS(255)
porta.1 = 1
DELAY_MS(20)
porta.0 = 1
DELAY_MS(100)
porta.1 = 0
porta.0 = 0
DELAY_MS(220)
porta.1 = 1
DELAY_MS(40)
porta.0 = 1
DELAY_MS(240)
porta.1 = 0
porta.0 = 0
DELAY_MS(220)
s:
inc (repeticion)
porta.1 = 1
porta.0 = 1
delay_ms(30)
porta.1 = 0
porta.0 = 0
delay_ms(70)
porta.1 = 1
delay_ms(20)
porta.0 = 1
delay_ms(10)
porta.1 = 0
porta.0 = 0
delay_ms(5)
porta.1 = 1
delay_ms(40)
porta.0 = 1
delay_ms(30)
porta.1 = 0
porta.0 = 0
delay_ms(50)
if repeticion =40 then
repeticion = 0
delay_ms(3000)
goto inicio_s
else
goto s
end if
' //programa 2
f:
porta.2 = 1
porta.3 = 1
DELAY_MS(200)
porta.2 = 0
porta.3 = 0
DELAY_MS(255)
porta.2 = 1
DELAY_MS(20)
porta.3 = 1
DELAY_MS(100)
porta.2 = 0
porta.3 = 0
DELAY_MS(220)
porta.2 = 1
DELAY_MS(40)
porta.3 = 1
DELAY_MS(240)
porta.2 = 0
porta.3 = 0
DELAY_MS(220)
porta.2 = 1
porta.3 = 1
DELAY_MS(220)
END.
El problema esta en el goto a inicio "s" que inicia de nuevo el proceso sin ir al de las "f" como se puede solucionar? tendria que hacer varios programas y luego incluirlos con la orden include?
Un saludo a todos y gracias de antemano.