Курсовая работа: Устройство цифровой фильтрации на основе микроконтроллера фирмы AVR ATmega16
ADMUX |= (1 << REFS0); //Internal Reference 2,56V selected
ADMUX |= (1 << REFS1);
SFIOR = 0;
#asm("sei");
}
3.4 Проектирование процедуры чтения данных с АЦП
Сигнал со входа АЦП преобразовывается по установке бита ADSC в 1. Затем ожидается выставления флага конца преобразования ADIF в 1. После того, как ADIF = 1 данные сохраняются во временной переменной.
unsigned int ReadADC()
{
unsigned int TMP;
unsigned int ADC;
ADCSRA |= 1<<ADSC; //запуститьАЦПнапреобразование
if (!(ADCSRA & (1<<ADIF)) )//флаг конца преобразования
//если преобразование закончилось
{
TMP=ADCH;
TMP=(TMP<<8);
TMP=TMP + ADCL;
ADCSRA=(ADCSRA | (1<<ADSC)); //запускАЦПснова
}
ADC=TMP;
CLRBIT(ADCSRA,ADEN); //выключитьАЦП
returnADC;
}
3.5 Проектирование процедуры работы интегратора
unsigned int Integrator(unsigned int in)
{
static unsigned int KH=8;
static unsigned int KL=10; //K=0.8 for economy memory pri uveli4enii to4nosti
static unsigned int x_in, x1, x2[2], x3[2], x4, y_out;