Hola gente del foro, hace mucho no pasaba por aca, y ahora ando necesitando si me pueden dar una manito con esto.
ME "he hecho" un temporizador con el PIC 12F629, para que controle 3 tiempos.
EL programita seria este:
(NOTA: Si, el inicio, donde seteo los puerto y todo eso lo saque copy-paste de internet.)
Aparentemente, probandolo en PROTEUS y en PIC Simulator. no da errores. Pero,mi conflicto viene aca:
Los tiempos que puse para probar el programa son infimos, yo necesito tiempos de 18hs(64800000 ms), 12hs(43200000 ms), etc. Valores en horas de medio día en adelante.
Hay algun problema si pongo esos calores en el programa? Es factible? En caso de ser SI, con mucho error sera?
Una vez mas les agradezco recontra re mil muchisisismo la buena onda, la generosidad de su tiempo y conocimientos y la paciencia.
SAludos!!!
ME "he hecho" un temporizador con el PIC 12F629, para que controle 3 tiempos.
EL programita seria este:
Código:
'--------------------------INICIO------------------------------------
TRISIO = %111001 'GP4 y GP5 y 3 son entradas; GP0 y GP1 y 2 son salidas
CMCON = %111111 'deshabilita comparadores
GPIO = 0 'pone a 0 todas las salidas
WaitUs 0 'establece una demora para el oscilador interno
'--------------------------NOMBRO VARIABLES------------------------
Symbol llave = GPIO.3 'Determ puerto 4 llave
Symbol intermedio = GPIO.4 'Determ puerto 3 el medio
Symbol rele = GPIO.1 'Determ pto 1 220V
Symbol contador = GPIO.2 'Numero de ciclos llevados = dias
'--------------------------CERO------------------------------------
timer: 'Programa gral
If llave = 1 Then 'Condicional, si la llave esta prendida
Goto tiempo2 'responde con tiempo2
Else 'sino
Goto tiempo1 'responde tiempo1
Endif 'fin del condic
'--------------------------PRIMERO----------------------------------
tiempo1: 'Tiempos para 1
If intermedio = 1 Then
Goto tiempointermedio 'Vaya a tiempointermedio
Else
rele = 1
WaitMs 8
rele = 0
WaitMs 8
Endif
Goto timer
'--------------------------SEGUNDO----------------------------------
tiempo2: 'Tiempos para 2
If intermedio = 1 Then
Goto tiempointermedio 'Vaya a tiempointermedio
Else
rele = 1
WaitMs 10
rele = 0
WaitMs 10
Endif
Goto timer
'--------------------------TERCERO---------------------------------
tiempointermedio: 'Tiempos para el medio
rele = 1
WaitMs 1
rele = 0
WaitMs 5
Goto timer
'--------------------------FIN--------------------------------------
End
(NOTA: Si, el inicio, donde seteo los puerto y todo eso lo saque copy-paste de internet.)
Aparentemente, probandolo en PROTEUS y en PIC Simulator. no da errores. Pero,mi conflicto viene aca:
Los tiempos que puse para probar el programa son infimos, yo necesito tiempos de 18hs(64800000 ms), 12hs(43200000 ms), etc. Valores en horas de medio día en adelante.
Hay algun problema si pongo esos calores en el programa? Es factible? En caso de ser SI, con mucho error sera?
Una vez mas les agradezco recontra re mil muchisisismo la buena onda, la generosidad de su tiempo y conocimientos y la paciencia.
SAludos!!!
Última edición por un moderador: