Witam
Jako że z mikrokontrolerami dopiero zaczynam chciał bym zrobić termometr, a właściwie to przerobić program. Obecnie na lcd mam wyświetlane wszystkie wyniki a chciał bym aby były 4 przyciski i każdy odpowiadał za inny czujnik. To znaczy np. jak wcisnę 1 przycisk to pojawia się informacja z pierwszego czujnika, a jak wcisnę następny to z następnego. Na zasadzie prób i błędów próbowałem i niestety nic z tego. Jedynie co udało mi się zrobić to jak przytrzymam przycisk to się wyświetla temperatura a ja chcę aby jednorazowe przyciśnięcie zmieniało wynik.
poniżej kod jaki obecnie posiadam. Docelowo mają być wykorzystane 4 przyciski. Proszę was bardzo o pomoc, bo wiem że możecie to rozwiązać
Jako że z mikrokontrolerami dopiero zaczynam chciał bym zrobić termometr, a właściwie to przerobić program. Obecnie na lcd mam wyświetlane wszystkie wyniki a chciał bym aby były 4 przyciski i każdy odpowiadał za inny czujnik. To znaczy np. jak wcisnę 1 przycisk to pojawia się informacja z pierwszego czujnika, a jak wcisnę następny to z następnego. Na zasadzie prób i błędów próbowałem i niestety nic z tego. Jedynie co udało mi się zrobić to jak przytrzymam przycisk to się wyświetla temperatura a ja chcę aby jednorazowe przyciśnięcie zmieniało wynik.
poniżej kod jaki obecnie posiadam. Docelowo mają być wykorzystane 4 przyciski. Proszę was bardzo o pomoc, bo wiem że możecie to rozwiązać
$regfile = "m8def.dat"
$crystal = 8000000
Config Pinc.5 = Input
Config Pinc.4 = Input
Config Pinc.3 = Input
Config Pinc.2 = Input
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
Config 1wire = Portd.5
Deflcdchar 0 , 8 , 20 , 11 , 4 , 4 , 4 , 3 , 32
Cursor Off
Cls
Lcd "TEST LCD" ;
Lowerline
Lcd "TERMOMETR 2011 "
Wait 5
Cls
Cursor Off
Cls
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte
Dim Dsid3(8) As Byte
Dim Dsid4(8) As Byte
Dim I1 As Integer , Ss As String * 6
Dim I2 As Integer
Dim I3 As Integer ,
Dim I4 As Integer
S1 Alias Pinc.5
'nazwy S1
S2 Alias Pinc.4
'nazwy S2
S3 Alias Pinc.3
'nazwy S3
S4 Alias Pinc.2
'nazwy S4
Cursor Off
Cls
Dsid1(1) = 1wsearchfirst()
Dsid2(1) = 1wsearchnext()
Dsid3(1) = 1wsearchnext()
Dsid4(1) = 1wsearchnext()
Do
1wreset
1wwrite &H55
1wverify Dsid1(1) 'wysyłamy adres pierwszego czujnika
1wwrite &HBE
I1 = 1wread(2)
'---------------------------------
1wreset
1wwrite &H55
1wverify Dsid2(1) 'wysylam adres drugiego czujnika
1wwrite &HBE
I2 = 1wread(2)
'---------------------------------
1wreset
1wwrite &HCC
1wwrite &H44
Wait 1
Cls
If S1 = 0 Then
Waitms 25
If S1 = 0 Then
I1 = I1 * 10
I1 = I1 / 16
'If I1 > 0 Then Cls
Ss = Str(i1)
Ss = Format(ss , " 0.0")
Locate 1 , 1
Lcd "wlaczono 1:" ; Ss ; Chr(0) ;
End If
End If
If S2 = 0 Then
Waitms 25
If S2 = 0 Then
I2 = I2 * 10
I2 = I2 / 16
'If I2 > 0 Then Cls
Ss = Str(i2)
Ss = Format(ss , " 0.0")
Locate 1 , 1
Lcd "wlaczono 2:" ; Ss ; Chr(0) ;
End If
End If
Loop
