Symulacja ADC w AVR Studio 3.56

Czy ktoś z Was symulował ADC w AVRStudio v. 3.56? Próbuję zasymulować przetwornik w Tiny15 Konfiguruję odpowiednio ADMUX, ADCSR:

ldi R30,0xE3 out ADMUX,R30

- napięcie referencyjne 2,56V, wypuszczone na PB0, wyrównanie do lewej włączone, pomiar z kanału PB4/ADC3 ldi R30,0x80 ; 87 out ADCSR,R30

- zasilanie przetwornika włączone, konwersja na razie nie, free running nie, przerwanie nie, preskaler zegara na CK/2

No i w procedurze która ma mierzyć napięcie z potencjometru daję:

sbi ADCSR,ADSC ;uruchamiamy ADC

dacconv_wait:

sbic ADCSR,ADSC rjmp dacconv_wait

I ni chu-chu - procesor pozostaje w tej pętli, wbrew zapewnieniom z PDFa, bit ADSC nie ustawia się na zero. WTF??? Co najdziwniejsze w rzeczywistym układzie program najwyraźniej pętlę opuszcza, ale nie mierzy, zaraz to jeszcze dokładniej zbadam, chociaż takie rzeczy jak dochodzenie napięcia do właściwej nóżki itp. sprawdziłem. Czyżby jakiś błąd w konfiguracji przetwornika?

W ADCSR mam obecnie ustawiony preskaler na CK/2, a więc pierwsza konwersja po włączeniu zasilania, która jest dłuższa i zajmuje 25 cykli zegara ADC powinna zostać wykonana po 50 cyklach procesora, tak się jednak nie dzieje...

Reply to
__Maciek
Loading thread data ...

Mon, 29 Oct 2007 16:44:17 +0100 jednostka biologiczna o nazwie __Maciek <i80c586@cyberspace_NO_SPAM_.org> wyslala do portu 119 jednego z serwerow news nastepujace dane:

A jednak w rzeczywistym układzie działa, dałem w jednym miejscu BRGE zamiast BRSH i liczba była traktowana jak ze znakiem, co powodowało, że od połowy zakresu potencjometru nie działało... A więc mój program nie działa teraz już tylko w AVR Studio. Dobrze że te ich procesory mają trochę mniej błędów niż programy :-)

Reply to
__Maciek

Użytkownik __Maciek napisał:

Między innymi z tego powodu od dłuższego czasu trzymam się z daleka od AVRStudio. Sporo siwych włosów mi przybyło właśnie z powodu obsługi ADC. W moim przypadku zakończenie konwersji nie zgłaszało przerwania. Po kilku dniach rwania włosów związanego z szukaniem błędu w swoim programie... wgrałem go w końcu do procka i okazało się, że program hula aż miło. Ze swojej strony polecam VMLAB, choć i on nie pozbawiony jest błędów (m.in. niepoprawnie symuluje pracę liczników w trybie FastPWM). Dodatkową zaletą tego programu jest możliwość symulowania różnych peryferiów (wyświetlacze LCD, diody LED, rezystory, potencjometry, bramki logiczne, klawiatura itp.), a prawdziwym wodotryskiem ostatniej wersji jest możliwość tworzenia własnych peryferiów w języku C++.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Mon, 29 Oct 2007 18:14:12 +0100 jednostka biologiczna o nazwie Grzegorz Kurczyk snipped-for-privacy@control.slupsk.pl> wyslala do portu

119 jednego z serwerow news nastepujace dane:

Dzięki, zaraz wypróbuję, pewnie kosztuje grube $$...

Reply to
__Maciek

Użytkownik __Maciek napisał:

Grube 0.00$ ;-)

Od jakiegoś czasu jest darmowy. Szkoda tylko, że również od tego czasu przestał być rozwijany :-(

Może kiedyś producent udostępni źródła...

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Grzegorz Kurczyk pisze:

Witam , a czy gdzieś w sieci są jakieś nietypowe komponenty (np. szukam bezskutecznie wyświetlacza LED 7seg) ?

Reply to
Irek_K

Użytkownik Irek_K napisał:

Nie znalazłem takowych. Klepie je sobie sam.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.