home *** CD-ROM | disk | FTP | other *** search
- '**************************************
- '
- ' C-Control/BASIC TEMPLCD.BAS
- '
- ' Aufgabe:
- '
- ' - Innen- und Au▀enTemp1eratur
- ' - Minimum/Maximum
- ' - Anzeige ⁿber 2x8-LCD-Modul
- '
- '**************************************
- ' --- Definitionen --------------------
-
-
- define Datenbus byteport[1]
- define RS port[9]
- define RW port[10]
- define E port[11]
- define Daten byte
-
- define Taster port[16]
- define Eingang1 AD[1]
- define Eingang2 AD[2]
- define Temp word
- define Temp1Min word
- define Temp1Max word
- define Temp2Min word
- define Temp2Max word
- define Zahl word
- define Sekunde byte
-
- ' --- Programmoperationen -------------
-
- gosub Init
- Temp1Min = 999
- Temp1Max = 0
- Temp2Min = 999
- Temp2Max = 0
- #Loop
- Daten = 0
- gosub Cursor
- looktab TempTab, Eingang1, Temp
- if Temp1Min > Temp then Temp1Min = Temp
- if Temp1Max < Temp then Temp1Max = Temp
- gosub TempAusgabe
- Daten = 64
- gosub Cursor
- looktab TempTab, Eingang2, Temp
- if Temp2Min > Temp then Temp2Min = Temp
- if Temp2Max < Temp then Temp2Max = Temp
- gosub TempAusgabe
-
- #Loop2
- if Sekunde = second then goto Loop2
- Sekunde = second
-
- if Sekunde = 0 then goto MinAusgabe
- if Sekunde = 1 then goto Maxausgabe
- if Sekunde = 10 then goto Minausgabe
- if Sekunde = 11 then goto Maxausgabe
- if Sekunde = 20 then goto Minausgabe
- if Sekunde = 21 then goto Maxausgabe
- if Sekunde = 30 then goto Minausgabe
- if Sekunde = 31 then goto Maxausgabe
- if Sekunde = 40 then goto Minausgabe
- if Sekunde = 41 then goto Maxausgabe
- if Sekunde = 50 then goto Minausgabe
- if Sekunde = 51 then goto Maxausgabe
- if (not Taster) then gosub MinMaxReset
- goto Loop
-
- #Init
- E=0
- Daten = &H38 'Initialisierung
- gosub Kommando
- Daten = &H0E 'Display einschalten
- gosub Kommando
- Daten = &H01
- gosub Kommando
- return
-
- #Kommando
- RW = 0
- RS = 0
- Datenbus = Daten
- pulse E
- return
-
- #Zeichen
- RW = 0
- RS = 1
- Datenbus = Daten
- pulse E
- return
-
- #Cursor
- RW = 0
- RS = 0
- Datenbus = Daten + &H80
- pulse E
- return
-
- #MinMaxReset
- Temp1Min = 999
- Temp1Max = 0
- Temp2Min = 999
- Temp2Max = 0
- return
-
- #MinAusgabe
- Daten = 0
- gosub Cursor
- Daten = 109 '"m"
- gosub Zeichen
- Daten = 105 '"i"
- gosub Zeichen
- Daten = 110 '"n"
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- Temp = Temp1Min
- gosub TempAusgabe
- Daten = 64
- gosub Cursor
- Daten = 109 '"m"
- gosub Zeichen
- Daten = 105 '"i"
- gosub Zeichen
- Daten = 110 '"n"
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- Temp = Temp2Min
- gosub TempAusgabe
- goto Loop2
-
- #MaxAusgabe
- Daten = 0
- gosub Cursor
- Daten = 109 '"m"
- gosub Zeichen
- Daten = 97 '"a"
- gosub Zeichen
- Daten = 120 '"x"
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- Temp = Temp1Max
- gosub TempAusgabe
- Daten = 64
- gosub Cursor
- Daten = 109 '"m"
- gosub Zeichen
- Daten = 97 '"a"
- gosub Zeichen
- Daten = 120 '"x"
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- Temp = Temp2Max
- gosub TempAusgabe
- goto Loop2
-
- #TempAusgabe '##.#░C
- Daten = (Temp / 100) + 48
- gosub Zeichen
- Zahl = (Temp mod 100)
- Daten = (Zahl / 10) + 48
- gosub Zeichen
- Daten = 46 '"."
- gosub Zeichen
- Daten = (Zahl mod 10) + 48
- gosub Zeichen
- Daten = 223 '"░"
- gosub Zeichen
- Daten = 67 '"C"
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- Daten = 32 '" "
- gosub Zeichen
- return
-
- end
-
- table TempTab ".\TABLES\KTY2.TAB"
-
-
-