Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

ds 1820 po raz kolejny

pawel jucha
-
-
Posty:5
Rejestracja:2 mar 2005, o 10:23
Lokalizacja:wroclaw
ds 1820 po raz kolejny

Postautor: pawel jucha » 7 mar 2005, o 19:05

Witam. Mam następujący problem. Posiadam zestaw zmontowany z btc (na atmega8) i podłączyłem do niego ds 1820 (juz 3 zeby wyeliminować możliwość wadliwego egzemplarza). Program wczytałem ze strony producenta i nic... to znaczy ustawia sie zmienna err na 1. Nie podłaczyłem jeszcze wyświetlacza więc może cos mierzy ale chyba jak zmienna err jest na 1 to nie ma na co liczyć. Aha programator też mam "firmowy".
Zmienna err jest wyprowadzona na diode

Kod: Zaznacz cały

----------------------------------------------------------------------------------------------------- 'Program obs³ugi jednego uk³adu DS1820 do³¹czonego 'do magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o czêstotliwoœci oscylatora 'taktuj¹cego mikrokontroler Config Lcd = 16 * 2 'konfiguracja typu wyœwietlacza 'LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 'konfiguracja linii 'mikrokontrolera‚ do których 'do³¹czono wyœwietlacz 'LCD Config Portd = Output Config 1wire = Portb.0 'konfiguracja linii magistrali '1-Wire Declare Sub Odcz_temp 'procedura odczytu temperatury 'z uk³adu DS1820 Dim Temperatura(2) As Byte 'tablica dwóch zmiennych typu 'Byte do pamiêtania wartoœci 'temperatury 'definicja znaku stopnia Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32 Do 'pocz¹tek pêtli programu Call Odcz_temp 'wywo³anie procedury pomiaru 'temperatury Cls 'czyszczenie ekranu LCD If Temperatura(2) = 0 Then 'jeœli wartoœæ Temperatura(2)= '=0, to temperatura dodatnia 'wyœwietla temperatury dodatnie Lcd "Temp: " ; Temperatura(1) ; Chr(0) ; "C" Else 'w przeciwnym razie 'wyœwietla temperatury ujemne Lcd "Temp: -" ; Temperatura(1) ; Chr(0) ; "C" End If Loop 'koniec pêtli Do...Loop End 'koniec programu Sub Odcz_temp 'definicja procedury pomiaru 'temperatury 1wreset 'reset magistrali 1-Wire 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite &H44 'start pomiaru temperatury Waitms 750 'opóŸnienie na czas pomiaru 1wreset 'reset magistrali 1-Wire 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite &HBE 'komenda odczytu zmierzonej 'temperatury Temperatura(1) = 1wread(2) 'odczyt zmierzonej temperatury 'do tablicy Temperatura 1wreset 'reset magistrali 1-Wire If Err = 1 Then 'jeœli uk³ad do³¹czony do 'magistrali nie odpowiada, to Portd = &B00000000 Waitms 500 Portd = &B11111111 Waitms 500 Portd = &B00000000 Do 'nieskoñczona pêtla w celu 'wstrzymania dzia³ania programu Loop End If If Temperatura(2) > 0 Then 'jeœli zmienna Temperatura(2) '> 0, to temperatura ujemna 'przeliczenie temperatury 'ujemnej Temperatura(1) = 256 - Temperatura(1) End If 'koniec warunku Temperatura(1) = Temperatura(1) / 2 'dalsze przeliczenie odczytanej 'temperatury dodatniej jak 'i ujemnej End Sub ----------------------------------------------------------------------------------

Panowie i Panie serdedcznie proszę o pomoc bo mnie termin magisterki goni

za odpowiedz z gory dziekuje :
Paweł Jucha
Ostatnio zmieniony 27 mar 2007, o 20:44 przez pawel jucha, łącznie zmieniany 1 raz.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 37 gości