TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: picbot2000 en 11 de Febrero de 2009, 15:10:03
-
Estimados:
Recurro a el conocimeinto del foro, ya queme varios 12c508 sin solución, el tema es asi:
Dependiendo del estado de GPIO.0 deben de prender secuencialmente y con un reatrdo de 250ms desde el GPIO.1 al GPIO.4, mientras el GPIO5 anuncia con un destello que todo esta bien.
Ahora todo funciona a excepcion de de GPIO.2 y GPIO.3, estos no encienden el led correspondiente.
El PIC utilizado es el 12c508A y este el codigo en PBP 2.4
DEFINE NO_CLRWDT
OPTION_REG=%00000000
PTT var GPIO.0
Relay1 var GPIO.1
Relay2 var GPIO.2
Relay3 var GPIO.3
Relay4 var GPIO.4
led var GPIO.5
TRISIO = %00000001
GPIO = %00000000
inicio:
if ptt=1 and Relay1=0 then
high Relay1
pause 250
high Relay2
pause 250
high relay3
pause 250
high relay4
endif
if PTT=0 and Relay1=1 then
low Relay4
pause 250
low Relay3
pause 250
low Relay2
pause 250
low Relay1
endif
pause 100
high led
pause 100
low led
goto inicio
end
Agradezco los comentarios.
-
Primera cosa erronea, GPIO.3 es solo Input, (por no prestar atencion al datashee), necesito los 6 pines, por lo que puedo cambiar GPIO.0 por GPIO.3 y listo, sigo igual con problemas para encender el GPIO.2, quedo a la espera de sus comentarios
-
Hola,
El problema és que tienes que configurar el registro OPTION. Mira el datasheet para mas detalle. Utiliza:
#asm
movlw 0b00011111
option
#endasm
en tu programa. Espero que te ayude!
Saludos!!