#include "main.h"
#define LED1 PIN_A2
#define LED2 PIN_A3 // LEDky
#define LED3 PIN_A5
#define CIDLO 8 // Port A/D prevodniku
#define TAD 8 // Doba na prevod jednoho bitu
void main()
{
int8 t; // Promenna pro nacteni hodnoty z cidla
setup_adc_ports(AN0); // Povolime analogovy vstup 0
setup_adc(ADC_CLOCK_DIV_8); // Delicka hodin pro prevodnik
// setup_psp(PSP_DISABLED); // Tento HW ma pouze PIC16F877A
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_adc_channel(CIDLO); // Pripojime cidlo na A/D prevodnik
delay_us(20); // Pockame na nabiti kapacit po prepnuti
while(TRUE){
t=read_adc(); // Prvni precteni cidla
//printf("%d\n\r",t);
if(t>00&&t<40){
output_low(LED2);
output_low(LED3);
output_high(LED1);
//rozsvit modrou
}
else if(t>39&&t<80){
output_low(LED3);
output_high (LED1); // Zhasneme LED
delay_us(100);
output_low (LED1); // Rozsvitime LED
delay_us(100);
output_low (LED2); // Rozsvitime LED
delay_us(100);
output_high (LED2); // Zhasneme LED
delay_us(100);
//rozsvit modrou+zelenou
}
else if(t>79&&t<100){
output_low(LED3);
output_low(LED1);
output_high(LED2);
//rozvit zelenou
}
else if(t>99&&t<115){
output_low(LED1);
output_high (LED3); // Zhasneme LED
delay_us(100);
output_low (LED3); // Rozsvitime LED
delay_us(100);
output_low (LED2); // Rozsvitime LED
delay_us(100);
output_high (LED2); // Zhasneme LED
delay_us(100);
//rozsvit zelenou+cervenou
}
else if(t>114){
output_low(LED1);
output_low(LED2);
output_high(LED3);
//rozsvit cervenou
}
}}