Pessoal faz tempo que estou aqui num programa que não tenho obtido resultado positivo que pertendo fazer!
Èh o seguinte ,o programa a baixo quero que faz o seguinte logo que ligo o PIC, duarante dois dias não faz nada no Pino_A1, passados dois dias desejo que no Pino_A1 fica trocando de estado de 5 em cinco horas, ou seja 5 horas em estado alto(1) e depois 5 horas no estado baixo(0), eh nesta parte do codigo que eu não tenho qualquer ideia de fazer esta troca de estado e jà là vai uma semana a pesquisar testar,e atè hoje nao tenho um resulatdo positivo!
por isso gostaria que o pessoal desse uma olhada no codigo para poder dar uma ajuda como devo resolveresta problema,pode ser facil mas os meus conhecimentos não voh là
O tempo não tem que ser muito preciso por isso estou a usar o TIMER1.
A parte que tenho duvida vai assinalada, caso algem tenha melhor ideia que quero fazer è bem vinda
Desde jà agradeço
O codigo
- Código: Selecionar todos
#include <18F458.h>
#use delay(clock=20000000)
#fuses HS,NOWDT,NOLVP
int16 segundos=0;
int8 intt=0;
#int_TIMER1
void timer1_isr(void)
{
set_timer1(3036);
++intt;
if(intt>=10)
{
Segundos++;
intt=0;
}
if(segundos==3600)
{
hora=hora +1;
Segundos=0;
}
If (hora==24)
{
Day=day+1;
hora =0;
}
}
void main(void)
{
setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
while(true)
{
while(day<=2);
//***************************************************[color]aqui èh onde tenho a maior difilcudade de realizar o codigo[/color]**********************************//
output_toggle(PIN_A1);
//********************************************************************************************************************************************************************************************//
}wihle( day<10)
output_low(PIN_A1);
}
}
}