Witam.
Napisałem taki kod :
Na wyświetlaczu jest widoczna :
Temperatura otoczenia np 25.5°C
i temperatura załączenia termostatu np.28.0°C.
Chciał bym żeby temperatura OTOCZENIA wyświetlana była jeszcze na wyświetlaczu LED 3 segmentowym w postaci 25.5
A w momencie przejścia do MENU wyświetlacz wygaszał się.
Po czym wracał do normalnej pracy po powrocie temperatur na wyświetlacz LCD.
Proszę o pomoc w dopisaniu kodu.
Poprawiłem tytuł i przeniosłem do właściwego subforum.
[zumek]
Napisałem taki kod :
'termostat do chłodzenia
$regfile = "m16def.DAT"
$crystal = 8000000
Config Portb = Output
Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2
Config Portc = &B1000011
Config 1wire = Portc.5
Dim Temp As Integer , Ss As String * 6
Dim Tzad As Integer , Tzadana As String * 6
Dim Dsid As Byte
Dim Hist As Integer
Declare Sub Pomiar
Declare Sub Ustaw_t
Deflcdchar 0 , 8 , 20 , 11 , 4 , 4 , 4 , 3 , 32 'znak stopnia Celcjusza
Deflcdchar 1 , 28 , 8 , 8 , 8 , 5 , 5 , 5 , 7 'ikonka ustawionej temperatury
Deflcdchar 2 , 32 , 32 , 32 , 32 , 32 , 32 , 31 , 32 ' część ikonki przekaźnika
Portc.2 = 1 : K1 Alias Pinc.2 'Podciągnięcie portów do 1 dla obsługi klawitury
Portc.3 = 1 : K2 Alias Pinc.3
Portc.4 = 1 : K3 Alias Pinc.4
Pk Alias Portc.0
Tzad = 320
Writeeeprom Tzad , 1
Cursor Off
Cls
Pomiar:
Do
Hist = Temp + 10
1wreset
1wwrite &H55
1wverify Dsid
1wwrite &HBE
Temp = 1wread(2)
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 100
Temp = Temp * 10
Temp = Temp / 16
Ss = Str(temp)
Ss = Format(ss , "0.0")
Tzadana = Str(tzad)
Tzadana = Format(tzadana , "0.0")
Cls
Readeeprom Tzad , 1
If Tzad >= Hist Then
Set Pk
Locate 2 , 10
Lcd "CZEKAM"
End If
If Tzad < Temp Then
Reset Pk
End If
Locate 1 , 1
Lcd "T:"
Locate 1 , 4
Lcd ; Ss ; Chr(0) ;
Locate 2 , 1
Lcd ; Chr(1) ; ":"
Locate 2 , 4
Lcd ; Tzadana ; Chr(0)
Wait 2
If K1 = 0 Then
Waitms 30
If K1 = 0 Then
Readeeprom Tzad , 1
Reset Pk
Call Ustaw_t
End If
End If
Loop 'Pętla (koniec programu)
Ustaw_t:
Waitms 150
Cls
Locate 1 , 1
Lcd "Ustawienie temp."
Locate 2 , 1
Lcd "zadanej"
Tzadana = Str(tzad)
Tzadana = Format(tzadana , "0.0")
Locate 2 , 9
Lcd Tzadana ; Chr(0)
If K2 = 0 Then
Waitms 150
If K2 = 0 Then
Tzad = Tzad + 5
If Tzad = 500 Then
Tzad = 0
End If
End If
End If
If K3 = 0 Then
Waitms 150
If K3 = 0 Then
Tzad = Tzad - 5
If Tzad = 0 Then
Tzad = 500
End If
End If
End If
If K1 = 0 Then
Waitms 600
If K1 = 0 Then
Writeeeprom Tzad , 1
Waitms 150
Cls
Locate 1 , 1
Lcd "Temperatura"
Locate 2 , 1
Lcd "ustawiona"
Wait 1
Call Pomiar
End If
End If
Goto Ustaw_tNa wyświetlaczu jest widoczna :
Temperatura otoczenia np 25.5°C
i temperatura załączenia termostatu np.28.0°C.
Chciał bym żeby temperatura OTOCZENIA wyświetlana była jeszcze na wyświetlaczu LED 3 segmentowym w postaci 25.5
A w momencie przejścia do MENU wyświetlacz wygaszał się.
Po czym wracał do normalnej pracy po powrocie temperatur na wyświetlacz LCD.
Proszę o pomoc w dopisaniu kodu.
Poprawiłem tytuł i przeniosłem do właściwego subforum.
[zumek]