Курсовая работа: Разработка универсального шестиканального термометра
TCCR0=((1<<CS01)|(1<<CS00)); // start TCNT0 CLK/64(частота тактирования таймеров)
_WDR(); //сбросить сторожевик
WDTCR|=((1<<WDE)|(1<<WDP0)|(1<<WDP1));//включить сторожевик 130 ms
for(;;); // LOOP FOREVER
}// end of main
#pragma vector=ADC_vect
__interrupt void ADC_proc (void)
{
// АЦП закнчил преобразование
_SEI();
_WDR(); // сброс сторожевого таймера
ampl=ADC;
dis_flag |= (1<<dis_measure_ok);
//set_mux;
}
#pragma vector=TIMER0_OVF_vect
__interrupt void ovf0_proc (void)
{
//диспетчер
TCNT0=t0_init; // перезапуск TCNT0
_SEI(); // разрешить сложенные прерывания
t0_ext-=1;
if (!t0_ext)
{// счетчик досчитал
t0_ext=t0_ext_init; //перезапуск дополнительного делителя
//отработка 10 ms
// счетчик на 500 ms
count_50 -=1;
_WDR(); //сбросить сторожевик