napisałem prosty programik do obsługi ds18b20, który miałby mierzyć temperaturę i według zadanych kryteriów włączać ew. wyłączać urządzenia (narazie to tylko diody, ale docelowo będą to przekaźniki).
Po uruchomieniu programu napotkałem na następujący problem: diody które są podłączone do wyjść migają a mają świecić. W przedziale od 10 do 20 miga jedna dioda, a powyżej 20 migają dwie czyli temperatura jest mierzona i sygnał jest podawany na wyjścia zgodnie z moimi zamierzeniami.
I teraz prośba jak zrobić aby diody świeciły, a nie migały??
Poniżej listing programu
ps. programuję dopiero od paru dni więc proszę o wyrozumiałość
Pozdrawiam Fuhu
Kod: Zaznacz cały
$crystal = 8000000
Config Pinc.5 = Output ' piny jako wyjścia
Config Pinc.4 = Output
Config 1wire = Portd.0 ' termometr ds18b20
Dim I As Integer 'zmienne do odczytu temp.
Dim S As Single
Pomiar: 'pomiar temp. na termometrze ds18b20
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
I = 1wread(2)
S = I / 16
Select Case S ' wybór diody
Case 0 To 10 : Goto Zero ' obie diody zgaszone
Case 10 To 20 : Goto Jedna 'jedna dioda świeci
Case 20 To 30 : Goto Dwie 'obie diody świecą
End Select
Zero:
Reset Portc.5 'zgaś obie diody
Reset Portc.4
Goto Pomiar: ' zmierz temp.
Jedna:
Set Portc.5 'dioda 1 świeci
Reset Portc.4 ' dioda 2 zgaszona
Goto Pomiar:
Dwie:
Set Portc.5 'dioda 1 świeci
Set Portc.4 'dioda 2 świeci
Goto Pomiar: