ADC w ATmega8 grrrrrr....

Mar 13, 2005 6 Replies

Witam, maly to ma zwiazek z elektronika ale jednak. Proboje 'bawic' sie przetwornikiem ADC w w/w procku. Podlaczam do PC0 napiecie regulowane potencjometrem i chce wyswietlic aktualna zawartosc rejestru ADCL na wyswietlaczu. Oto fragment programu w C: ... initlcd(); //inicjuje sobie LCD piszilcd(0x0c); //instrukcja do LCD (bez kursora i migania) czysclcd(); ADCSRA=1<<ADEN|1<<ADSC|1<<ADFR; //ADFR=1 czyli free runing ADMUX=1<<REFS0; //jako referencyjne AVCC z C podpietym do AREF while(1) { lcdxy(0,0); //kursor w lewym gornym rogu piszdlcd(ADCL); //dana do LCD (zawartosc rej. ADCL) } }



No i wszystko jest prawie OK. Resetuje kontroler i wyswietla mi sie w lewym gornym rogu (0,0) na wyswietlaczu znak ASCII o kodzie takim jak zawartosc ADCL w momencie resetu. Ale zmiana napiecia jest widoczna na wyswietlaczu tylko gdy go zresetuje. Gdy tego nie robie to zmiana potencjometru nic nie daje i na LCD wisi jakas literka z pierwszego pomiaru. Czyli tak jakby to free running ktore mowi o ciaglym probkowaniu nie dziala. Czy ja cos zle rozumiem? Jestem b. poczatkujacy. Z gory dziekuje za kazda pomoc. Mesayah



nie u¿ywa³em nigdy FR a tylko pojedyncze pomiary wywolywane przerwaniem czasowym, ale... DS na stronie 205 " When ADCL is read the ADC Data Register is NOT UPDATED until ADCH is read"

czy z tego nie wynika, ze wypadaloby odczytac jeszce ADCH ?

chociazby

char smiec; while(1) { lcdxy(0,0); //kursor w lewym gornym rogu piszdlcd(ADCL); //dana do LCD (zawartosc rej. ADCL) smiec = ADCH; }

murmi

Serdecznie witam szukam jakiego¶ przetwornika A/C 16 bit I2C . Mo¿e kto¶ podpowie czego szukaæ Marek S

W swoim poscie murmi pado:

Hosanna!! No wlasnie o to biegalo. Twoja modyfikacja programu i teraz smiga jak szalony. 100 krotne dzieki za szybka i precyzyjna odpowiedz. Nastepnym razem przeczytam do konca rozdzial zanim o cos spytam;) Pozdrawiam Mesayah

cieszê siê ¿e pomog³em :):):)

Chyba pisa³e¶, ¿e dopiero zaczynasz z uP (zreszt± to dok³adnie tak jak ja :P), niemniej od razu Ci powiem: zainteresuj siê przerwaniami - to nietrudna i baaaaaaaardzo po¿yteczna rzecz :) wstawienie takiego pomiaru do petli nieskonczonej jest zazwyczaj malo optymalne i rzadko ma sens "fizyczny" - no ale zale¿y CO i JAK sie mierzy

pozdrawiam

murmi

W swoim poscie murmi pado:

Zgadza sie, dopiero zaczynam i poki co podoba mi sie;) Co do przerwan to bawilem sie troszke na procku AT2313 i z detektora OPT101 i diody IR zrobilem calkiem niezly wykrywacz przekroczenia wiazki - czujnik zblizajacych sie rodzicow;)

Mam tego swiadomosc, ale to byl moj pierwszy kontakt z ADC i nawet nie gryzlo. Teraz mnie czeka troszku gorsza sprawa mianowicie wyswielic wartosc pomiaru na PC. Ale to nie dzis:) Teraz jestem jeszcze pod wrazeniem tego w czym mi pomogles i ide spac:)

Pozdrawiam Mesayah

U¿ytkownik "Marek S" snipped-for-privacy@op.pl napisa³ w wiadomo¶ci news:d12g00$min$ snipped-for-privacy@nemesis.news.tpi.pl...

formatting link
pozdr. szogun

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required