Forum www.nestor-electronic.pl Strona Główna www.nestor-electronic.pl
Forum sterowników procesorowych- programy BASCOM
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

ds18b20 * 3 + menu

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.nestor-electronic.pl Strona Główna -> Pomoc w programowaniu BASCOM
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
laska_ll
Nowy


Dołączył: 02 Wrz 2009
Posty: 2

PostWysłany: Sro Wrz 02, 2009 1:34 am    Temat postu: ds18b20 * 3 + menu Odpowiedz z cytatem

Witam,
mam takie pytanie jak napisać kod obsługi trzech ds18b20 ale w ten sposób żeby na ekranie pojawiała się temperatura kolejno

1.Silnika
2.Na zewnątrz
3.Wewnątrz

wszystko to przełączane jednym przyciskiem?
Proszę o pomoc.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
SunRiv
Zawsze na posterunku


Dołączył: 11 Lut 2009
Posty: 321
Skąd: Opole

PostWysłany: Sro Wrz 02, 2009 4:17 pm    Temat postu: Odpowiedz z cytatem

masz obsługe DS18B20

reszta to juz prosta sprawa prawda ??

Kod:

Config 1wire = P1.0 'konfiguracja magistrali 1wire
Config Lcd = 16 * 1a 'konfiguracja wyswietlacza
Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia
Dim T1 As Single
Dim T2 As Single
Dim B1 As Byte , B2 As Byte , R As Byte
Dim Tmp As String * 6
Dim Znak As String * 1
R = &HFF
Declare Sub 1wr 'podprogram resetujacy magistrale 1w
Cursor Off
Cls

Do
1wr 'podprogram 1wr
1wwrite &HCC 'komenda skip ROM
1wwrite &H44 'komenda convert T
Waitms 250
Waitms 250
1wr 'podprogram 1wr
1wwrite &HCC 'komenda skip ROM
1wwrite &HBE 'komenda read

B1 = 1wread() 'odczyt z termometru
B2 = 1wread()

1wr 'podprogram 1wr

If B2 >= 248 Then 'w przypadku temperatur ujemnych
B1 = R - B1 'Od 255 Odejmujemy B1
B2 = R - B2 'od 255 odejmujemy B2
Znak = "-"
Else
Znak = "+"
End If
T1 = B1 / 16 'Przesuniecie w pawo o 4 bajty
T2 = B2 * 16 'przesuniecie w lewo o 4 bajty
T1 = T1 + T2

Tmp = Fusing(t1 , ###.&&)
Cls
Lcd Znak ; Tmp ; Chr(1) ; "C "

Waitms 250
Waitms 250
Waitms 250
Waitms 50
Loop

Sub 1wr 'podprogram resetujacy magistrale
1wreset
End Sub

_________________
Subaru Libero SDX-SR 94"
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
laska_ll
Nowy


Dołączył: 02 Wrz 2009
Posty: 2

PostWysłany: Sro Wrz 02, 2009 4:29 pm    Temat postu: Odpowiedz z cytatem

Jeśli ktoś jest biegły z tego tematu to zapewne.
Ja nie jestem
Korzystam z Atmega8 i wyświetlacza 2*8.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.nestor-electronic.pl Strona Główna -> Pomoc w programowaniu BASCOM Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Powered by phpBB © 2001, 2005 phpBB Group