Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ADuC824 i czujnik temperatury

02 Lis 2005 22:54 2161 14
  • Poziom 20  
    Witam
    Mam do zrobienia projekt z systemów mikroprocesorowych: czujnik temperatury na ADuC824. Chodzi o to żeby temperatura z wbudowanego czujnika była wyświetlana na wyświetlaczu LCD. Program ma być napisany w asemblerze. I nie zabardzo wiem jak się do tego zabrać. Jak ktoś by podał jakieś tytuły lub materiały gdzie znajde coś na ten temat to byłbym bardzo wdzięczny.
  • Poziom 15  
    Wejdź na stronkę:
    http://www.analog.com/en/prod/0,2877,ADUC824,00.html
    i na Application Notes. Tam znajdziesz przykladowe programy m.in. do odczytu wewnętrznego czujnika temperatury (w assemblerze). A co do LCD to radzę poczytać dokumentacje techniczną. W ostatecznym przypadku mogę jakiś przykładowy program przeslać na maila...
  • Poziom 20  
    Przydałyby się jakieś informacje w języku polskim.
  • Poziom 12  
    Witam.

    Jeżeli chodzi o wyświetlacz LCD na HD44780 to polecam artykuły z Elektroniki dla Wszystkich, numery 11, 12/1997 i 1, 3/1998. Natomiast z polskim opisem samego ADuC to może być spory problem.

    Pozdrawiam PŁ :-)
  • Poziom 20  
    Obsługa wyświetlacza mniej mnie interesuje. Bardziej odzczyt temperatury.

    PŁ rulez :)
  • Poziom 20  
    Hmm. Nie ma osoby która by się na tym znała? Próbuje czytać Data Sheeta, ale ciężko mi coś z tego skumać. Parę informacji wyczytałem, ale to ciągle mało.
  • VIP Zasłużony dla elektroda
    Robiłem projekt który mierzył temperature na tym procku, ale moja działka kończyła się na zaprojektowaniu hardwaru do tego ustrojstwa i obliczeniu wszystkiego co potrzebne ;) więc jak ci to pomoże to prosze o kontakt.
  • Poziom 20  
    Ja z kolei muszę go zaprogramować żeby temperatura była wysyłana na wyświetlacz lcd. Z wyświetlaczem większych kłopotów pewnie ie będzie tylko z temperaturą.
  • VIP Zasłużony dla elektroda
    To zależy jakich urzyjesz czujników temperatury, bo z analogowymi nie ma większych problemów, co zaś tyczy 1Wire lub I2C i innych magistrali szeregowych to część tematów była poruszana na forum.... Ja stosowałem zwykłego LM35.

    Pozdrawiam
  • Poziom 20  
    Trzeba użyć czujnika, który jest wbudowany w mikroprocesor. Już wiem że dla temperatury 0°C zwraca wartość 8000H, dla 1°C 8001 itd.
  • Pomocny post
    VIP Zasłużony dla elektroda
    Aby mierzyć temperature z wewnętrznego czujnika musisz go "podłączyć" do ADC. Aby to zrobic musisz odpowiednio ustawić bity w rejestrze ADCCON2 SFR - bity CS3-1 a póżniej to już tylko odczytywanie wartości z przetwornika
  • Poziom 20  
    No no. Dobrze zaczyynasz. Może coś więcej.
    Właśnie zabieram się naukę zsemblera. Może jednak coś z tego będzie :)
  • Pomocny post
    Poziom 15  
    Witam!!!
    Częśc programu która cie interesuje to:

    TEMPLOOP:
    MOV ADCMODE, #12H ; INITIATE A SINGLE AUX CONV
    JNB RDY1,$ ; Wait for conversion results

    ; conversion result ready
    ; a value of 80h in AD1H=0degC

    MOV A, ADC1H ; 80h=0, FFh=+127, 00h=-128
    CLR C
    SUBB A, #80H ; convert to 2's comp
    ; FFh=-1, 80h=-128, 00h=0, 7Fh=+127

    W akumulatorze pozostaje temperatura j/w 00H = 0°C , 80H = -128°C, 7fH = +127°C.
    Wcześniej jest konfiguracja timera, przetworników, UART, a później konwersja HEX na ASCII, wysłanie do portu UART i opóźnienie. Wystarczy wyciągnąc część programu odpowiedzialną za konwersje wraz z początkowymi ustawieniami przekonwertowac z HEX na ASCII i wysłać na LCD.
    Powyżej jest tylko część programu a w załączniku reszta.
    Jakby cos bylo nie zrozumiałe to pisz...
  • Poziom 20  
    Vedy1 wielkie dzięki za program. Po małych i większych przeróbkach cały projekt śmiga :). Temperaturka jest ładnie wyświetlana na LCD.

    Dziękuję za zainteresowanie tematem.