Boa Noite,
Estou fazendo um trabalho para meu curso, presciso configurar o tempo correto de mudança da luz do semáforo.
Fiz um arquivo no protheus para usar o codigo mas o tempo do PIC nao bate. Detalhe tenho que fazer sem usar a Variavel __Delay_ms
tem como configurar o Clock do Pic para um valor fixo, por exemplo 8Mhz??
Obrigado desde já.
* File: semaforo.c
#pragma config PBADEN = OFF // RB0:RB4 I/O Digital
#pragma config OSC = HS
#pragma config WDT = OFF // Watchdog Timer disable
#pragma config LVP = OFF // ICSP. Low Power Programing disable
#pragma config DEBUG = OFF
#include <xc.h>
void TEMPO (unsigned short long T,unsigned short long T2){
T2 = 0;
while (T2 < T){
T2++;
}
}
void main (void){
TRISD = 0b00000000; // configurado todas portas como saidas
int x;
x=2;
while (x==2){
RD2 = 0; //Acende Verde A
RD3 = 0; //Acende Vermelho B
TEMPO (200000,0); //20s
RD2 = 1; //Apaga Verde A
RD1 = 0; //Acende Amarelo A
TEMPO (50000,0); //5s
RD1 = 1; //Apaga Amarrelo A
RD0 = 0; //Acende Vermelho A
TEMPO (30000,0); //3s
RD3 = 1; //Apaga Vermelho B
RD5 = 0; //Acende Verde B
TEMPO (100000,0); //10s
RD5 = 1; //Apaga Verde B
RD4 = 0; //Acende Amarelo B
TEMPO (50000,0); //5s
RD4 = 1; //Apaga Amarelo B
RD3 = 0; //Acende Vermelho B
TEMPO (30000,0); //3
RD0 = 1; //Apaga Vermelho A
}
}
Semafaro.rar