Witam, mam problem z przetwornikiem Analogowo-Cyfrowym. Mianowicie, układ podłączony do wyświetlacza LED - 4x7SEG, Zasilanie ADc podłączone według noty katalogowej, z Cewką odsprzęgającą itp.
Oto inicjalizacja Przetwornika:
Oraz rozpoczęcie przetwarzania.
Jak próbuję wyświetlić liczbę (int) z przedziału 0-9999, wyświetla idealnie.
Już nie wiem co jest nie tak.
Oto pełne źródło i schemat w eaglu:
Oto inicjalizacja Przetwornika:
void ADCrun(void)
{
//
// ADMUX = REFS1 | REFS0 | ADLAR | MUX4 | MUX3 | MUX2 | MUX1 | MUX0
// MUX4:0 = 0 - adc z PA0
// REFS1:0 = 01; - zewnetrzne zrodlo odniesienia
ADMUX = 0;
ADMUX = (1<<ADLAR);
ADCSR = (1<<ADEN) | (1<<ADPS2) | (0<<ADPS0);
}
Oraz rozpoczęcie przetwarzania.
void ADCmierz(char port)
{
ADMUX &= 0xF8; //0b11111000;
ADMUX |= (port & 0x07);//0b00000111
ADCSR |= (1<<ADSC);
}
Jak próbuję wyświetlić liczbę (int) z przedziału 0-9999, wyświetla idealnie.
Już nie wiem co jest nie tak.
Oto pełne źródło i schemat w eaglu: