TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: JLT-malibeto en 11 de Enero de 2003, 21:24:00
-
Datos:
Para programar uso el programa Flash BASIC.
Estoy iniciandome en la prog. de PIC´s.
Encaré un ejercicio para practicar que es el sig.:
*Encender un motor C.A. (por medio de un relé o contactor) durante 10 minutos cada 8 horas.
Preguntas:
Está bién como calculo el Delay?
Para simularlo en el Virtual Breadboard, hay alguna otra forma que no sea modif. el código y achicar los tiempos para que no tenga que estar 2 dias esperando?
El código que al compilar me da OK es el sig:
Código:
PIC 16F84
FREQ 10
OSCILLATOR CRYSTAL
BYTE CONT1,RIEGOAUTO,RIEGOON
WORD CONT2
"** MICROCONT=14F84 **
"** PORT A=ENTRADAS; PORT B=SALIDAS **
SetPort A , %00000
PortOut B , %00000000
"** A,0 SELECIÓN AUTOMATICO **
PinRd A , 0 , RIEGOAUTO
riego_auto :
IF RIEGOAUTO =1 THEN
FOR CONT1 = 1 TO 60
"** 10SEG. X 60 = 10MIN. **
PinHigh B , 0
DELAY 10000, 0
NEXT
PinLow B , 0
FOR CONT2 = 1 TO 2880
"** 10SEG X 2880SEG = 480MIN = 8HS **
DELAY 10000, 0
NEXT
GOTO riego_auto
END IF
"* * * JLT-Malibe s.g.i. * * *
Saludos y espero que alguno me desasne. 
JLT
-
Te recomendaria cambiar de soft, el Flash Basic tiene demasiados BUG"s (fallos) creo que podrias usar el microcode studio y el compilador PBP.
de todas formas en tu programa puedes sacer el PinHigh B , 0 del bucle de tiempo.
IF RIEGOAUTO =1 THEN
PinHigh B , 0 activas el motor
FOR CONT1 = 1 TO 60 esperas los 10 minutos
"** 10SEG. X 60 = 10MIN. **
DELAY 10000, 0
NEXT
PinLow B , 0 y lo desactivas
de todas formas una vez que entres en el bucle ya no puedes pararlo hasta que termineel ciclo completo (LOS DIEZ MINUTOS DE RIEGO Y LA ESPERA DE 8 HORAS)auque desactives la entrada de RIEGOAUTO
saludos
-
Me habia olvidado de logearme.
Ahora si, Gracias....
-
te recomiendo q te bajes un programa q se llama PIC DELAYER q genera codigo para el pic con la temporizacion q quieras yo me lo baje de www.x-robotics.com