logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Obsługa DAC0808, PCF8591, ADC0820 w C dla ATMega128 (WinAVR)

webmortiz 12 Lis 2007 00:35 1326 2
REKLAMA
  • #1 4471898
    webmortiz
    Poziom 20  
    Posty: 467
    Pomógł: 24
    Ocena: 15
    Witam!

    Czy posiada ktos gotowce obslugi przetwornikow DAC0808, PCF8591 oraz ADC0820 w jezyku C(WinAVR)? Bardzo bylbym wdzieczny.

    Pozdrawiam!
  • REKLAMA
  • Pomocny post
    #2 4471990
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 134
    DAC0808 - nie ma kompletnie żadnej filozofii. POdłączasz go do jakiegokolwiek ośmiobitowego portu, ustawiasz kierunek (DDRx = 0xff;) i zapiszujesz wartość (PORTx = wartosc;).

    PCF8591 - http://elportal.pl/index.php?module=ContentExpress&func=print&ceid=287
    część szósta, pobierz listingi.

    ADC0820 - podobnie jak DAC0808 podłączasz do portu ośmiobitowego. Wejście /CS możesz na stałe połączyć z masą. Wejście MODE łączysz z masą (tryb pracy tylko z odczytem). Wejście /RD (odczyt) łączysz z dowolną linią innego portu. Na tą linię podajesz stan niski, co rozpoczyna konwersję i czekasz na stan wysoki na linii RDY (oczywiście i ta musi być połączona z którąś z linii dowolnego portu ATmegi. Linia RDY jest typu "otwarty dren", stąd też konieczność stosowania na niej podciągania do logicznej jedynki (odpowiadający linii bit w rejestrze DDR w stan niski (wejście), a w rejestrze PORT stan wysoki - uaktywnione wewnętrzne podciąganie do zasilania). W innej wersji możesz połączyć linię /INT z wejsciem przerwania i ustawić przerwanie na wyzwalane zboczem opadającym.
    Po pojawieniu się stanu wysokiego na RDY, lub w procedurze przerwania zewnętrznego odczytujesz stan z ośmiobitowego portu. Po odczytaniu danych przełączasz linię /RD w stan logicznej jedynki, czekasz conajmniej 500ns, po czym możesz rozpocżąć olejną konwersję według powyższej procedury.
  • #3 4478804
    webmortiz
    Poziom 20  
    Posty: 467
    Pomógł: 24
    Ocena: 15
    WOW! Konkretna odpowiedz! Nie do konca o to mi chodzilo, ale rzeczywiscie mi to pomoze. Chodzi o to ze na systemy adaptacyjne musze napisac program(uklad ma pelnic role regulatora) do gotowego ukladu z ATMega128, zrobionego przez kogos, do ktorego dostalem schematy. Nie mam raczej czasu bawic sie na tym przedmiocie w technike mikroprocesorowa, ale widze ze bede musial. Mimo to wielki dzieki i mysle ze temat mozna zamknac... Jak sie zamyka temat?

    P.S. I sory za buga w temacie ;) Mialo byc A/C C/A :: Zawsze mi sie to myli ;)
REKLAMA