Ціна: 40 грн

Термін: До 30.06.2017

Статус:
Не активно

Категорія: Інформатика

В закладках: 1

Переглядів: 384

Объяснить часть кода программы АЦП на С для микроконтроллеров
int temp, temp1;
char data[4]; // переменная с типом чар
unsigned int count = 0;
void convert(char *data, int c)
{
data[0] = c%10;
c=c/10;
data[1] = c%10;
c=c/10;
data[2] = c%10; 
c=c/10;
data[3] = c%10;
}

char dig2segcode(char d)
{
switch (d) 
{
case 0:
return 0x5F;
case 1:
return 0x06;
case 2:
return 0x3B;
case 3:
return 0x2F;
case 4:
return 0x66; //индикатор
case 5:
return 0x6D;
case 6:
return 0x7D;
case 7:
return 0x07;
case 8:
return 0x7F;
case 9:
return 0x6F;
}
}

ISR(INT0_vect)
{
}

ISR(INT1_vect)
{
}

ISR(TIMER0_OVF_vect)
{
static char i=0;
PORTA &=0x0F;
PORTC = dig2segcode(data[i]);
PORTA = (1«(7-i));
i=(i+1) & 0x03;
}

ISR(ADC_vect)
{
temp=ADC;
temp1 = ADC*0.489; 
convert(data, temp1);
}

int main(void)
{
char i,j;

DDRA = 0xF0; 
DDRC = 0xFF; 
DDRD = 0xB0;
GICR |= 0xC0; 
MCUCR |= 0x0F;
TCCR0 = 0x01; 
TIMSK |= 0x01; 

ADMUX = 0x42; 
ADCSRA = 0xAC;
SFIOR=0x80; 

asm("sei"); 
ADCSRA |= 0x40;
while(1) 
{
}
}
×