Witam,
mam mały problem: jest sobie program który ma za zadanie wyświetlać 2 zmienne na wyświetlaczu LCD. Pomiar 1 zmiennej trwa 750ms, pomiar 2 zmiennej trwa 100ms. Chcąc wyświetlić obie zmienne używam polecenia Call pomiar1 oraz Call pomiar2. Jeżeli mam tak napisany program to odświeżanie wyświetlanych wyników mam co 850ms. Chciałbym, aby odświeżanie było 100ms (zależy mi głownie na odświeżaniu 2 zmiennej).
Jak wykonać częstszą aktualizacje danych na LCD?
mam mały problem: jest sobie program który ma za zadanie wyświetlać 2 zmienne na wyświetlaczu LCD. Pomiar 1 zmiennej trwa 750ms, pomiar 2 zmiennej trwa 100ms. Chcąc wyświetlić obie zmienne używam polecenia Call pomiar1 oraz Call pomiar2. Jeżeli mam tak napisany program to odświeżanie wyświetlanych wyników mam co 850ms. Chciałbym, aby odświeżanie było 100ms (zależy mi głownie na odświeżaniu 2 zmiennej).
Jak wykonać częstszą aktualizacje danych na LCD?
Sub Temp_obroty
Do
Call Licz_obroty
Call Odcz_temp
Cls
Locate 1 , 1
Lcd "T:" ; Napis ; Chr(1) ; "C"
If Wynik > 9999 Then
Locate 2 , 1
Lcd "Ob:" ; Wynik
Else
Locate 2 , 1
Lcd "Obr:" ; Wynik
End If
If S1 = 0 Then
Gosub Termometr
End If
Loop
End Sub
Sub Licz_obroty
Timer1 = 0
Start Timer1
Waitms 100
Stop Timer1
Wynik = Timer1 * 100
End Sub
Sub Odcz_temp
1wreset 'reset
1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM
1wwrite &H44 'dokonaj konwersji
Waitms 750 'przeczekaj czas konwersji
1wreset 'reset
1wwrite &HCC 'rozkaz adresowy SKIP ROM
1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu DS18x20
Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty
T = Odczyt(2) 'przepisz starszy bajt do zmiennej typu Integer
Shift T , Left , 8 'przesuń ten bajt w lewo na wyższe pozycje
T = T + Odczyt(1) 'przepisz - dodaj młodszy bajt
T1 = T * 0.0625 'wyra? w stopniach Celsjusza, wynik wpisz do zmiennej Single
Napis = Fusing(t1 , "#.#")
End Sub