Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: lcd modul -- anfängerfragen Kategorie: C-Control I V1.1 (von Willi aus Oelde - 11.05.2004 11:13)
 Als Antwort auf lcd modul -- anfängerfragen von Andreas - 10.05.2004 22:17
Hallo erst mal....

anbei Programm mit LCD Ansteuerung im 4-Bit Modus an einer Station.
Alle 6 Ports belegt ( R/W fest !) der Station belegt.
(Heizungssteuerung ....)

Mfg,
Willi aus Oelde


' Programm zur Ansteuerung eines LCD Displays im 4-Bit Mode d.h.
' D4-7,Enable und RS an P1 bis P6 des C-Control angeschlossen !
' (c) 17.9.2000                      Kabeladern beachten !!

' Version 1c mit Nachtabsenkung ! ungeprüft !
' Menue sollte automatisch verlassen werden !
' mit neuer LCD Routine

' ------------ Kurzbeschreibung -------
' F1 drücken       : LED aus = Sommerbetrieb   ( nochmal Winterbetrieb )
' F2 drücken       : LED an  = In Parameterauswahl
' F3 / F4  drücken : Parameter einstellen

' im Sommerbetrieb
' F4 drücken : LED an Schornsteinfegerfunktion ( Kessel und Boilerp. an )
' F3 drücken : LED an = Badewannenfunktion     ( Boiler höher laden )

' im Winterbetrieb ( LED 1 = aus )
' F4 drücken : LED an Schornsteinfegerfunktion ( Kessel und Boilerp. an )
' F3 drücken : LED an = Badewannenfunktion     ( Boiler höher laden )

Define LCD1   byteport [1]

Define B1     Port [1]
Define B2     Port [2]
Define B3     Port [3]
Define B4     Port [4]
Define ENABLE Port [5]
Define RS     Port [6]
Define K1     Port [7]
Define K2     Port [8]

Define F1     Port [9]
Define F2     Port[10]
Define F3     Port[11]
Define F4     Port[12]
Define LED1   Port[13]
Define LED2   Port[14]
Define LED3   Port[15]
Define LED4   Port[16]

Define A1        AD[1]   '
Define A2        AD[2]
Define A3        AD[3]
Define A4        AD[4]

Define T1        AD[5]   ' Temperaturfühler 1
Define T2        AD[6]   ' Temperaturfühler 2
Define U1        AD[7]   ' Spannungsmessung Pufferbatterie
Define U2        AD[8]   ' Spannungsmessung 230 Volt

Define Analog1   DA[1]   ' sollte es geben / Pulsbreitenmoduliert !
Define Analog2   DA[2]   ' sollte es auch geben !?

Define D1      Bit [1]
Define D2      Bit [2]
Define D3      Bit [3]
Define D4      Bit [4]
Define D5      Bit [5]
Define D6      Bit [6]
Define D7      Bit [7]
Define D8      Bit [8]

Define Wert    Byte[ 1]
Define Zahl    Byte[ 2]
Define Temp    Byte[ 3]
Define Temp1   Byte[ 4]
Define Temp2   Byte[ 5]
Define Soll    Byte[ 6]
Define Soll1   Byte[ 7] ' "Aus" für Kessel / Boiler
Define Soll2   Byte[ 8] ' Minimale Boilertemp.
Define AusH    Byte[ 9] ' Merken Ausschaltzeit Minuten
Define AusM    Byte[10] ' Merken Ausschaltzeit Minuten
Define MinK    Byte[11] ' Minimale Kesseltemper
Define AusP    Byte[12] ' Ausschaltzeit Heizungpumpe  (nachts)
Define EinP    Byte[13] ' Einschaltzeit Heizungspumpe (nachts)
Define Lauf    Byte[14] ' Um automatisch aus dem Menue zu kommen
Define StatusB Byte[15] ' Für ein und aus Boilerpumpe
Define StatusK Byte[16] ' Für ein und aus Kesselrelais

' Define Modus   Byte ' Für Betriebsart

Define A  125  ' Wartezeit

Soll1   = 154 ' 52 Grad Set
Soll2   = 130 ' 40 Grad Set
MinK    = 120 ' 35 Grad Minimale Kesseltemperatur

LED1 = 0
LED2 = 0
LED3 = 0
LED4 = 0

EinP = 5
AusP = 23

' SLOWMODE on

Enable = 1 ' Muss 1 sein um nach RESET zu starten !!! 6/2000
RS     = 0 ' Command

Wert = &H02 : Gosub Command  ' 2 ! in den 4 Bit modus schalten
Wert = &H28 : Gosub Command  ' war &28     6/2000
Wert = &H0C : Gosub Command  ' Cursor off ?
Wert = &H01 : Gosub Command  ' Clear Display
'Wert= &H02 : Gosub Command  ' Internal Cursor Home

Pause 1
  Wert =  40  : Gosub Daten ' "("
  Wert =  99  : Gosub Daten ' "c"
  Wert =  41  : Gosub Daten ' ")"
  Wert =  87  : Gosub Daten ' "W"
  Wert =  46  : Gosub Daten ' "."
  Wert =  72  : Gosub Daten ' ""
  Wert =  97  : Gosub Daten ' ""
  Wert = 102  : Gosub Daten ' ""
  Wert = 101  : Gosub Daten ' ""
  Wert = 114  : Gosub Daten ' ""
  Wert = 107  : Gosub Daten ' ""
  Wert = 101  : Gosub Daten ' ""
  Wert = 109  : Gosub Daten ' ""
  Wert = 112  : Gosub Daten ' ""
  Wert = 101  : Gosub Daten ' ""
  Wert = 114  : Gosub Daten ' ""

  Wert = 168  : Gosub Command ' ab 1. Stelle 2. Zeile schreiben !!
  Wert =  32  : Gosub Daten ' " "
  Wert =  86  : Gosub Daten ' "V"
  Wert = 101  : Gosub Daten ' "e"
  Wert = 114  : Gosub Daten ' "r"
  Wert = 115  : Gosub Daten ' "s"
  Wert = 105  : Gosub Daten ' "i"
  Wert = 111  : Gosub Daten ' "o"
  Wert = 110  : Gosub Daten ' "n"
  Wert =  32  : Gosub Daten ' " "
  Wert =  49  : Gosub Daten ' "1"
  Wert =  46  : Gosub Daten ' "."
  Wert =  48  : Gosub Daten ' "0"
  Wert =  99  : Gosub Daten ' "c"
 
Pause 100
Wert = &H01 : Gosub Command  ' Clear Display

Day    = 26
Month  = 10
Hour   = 10
Minute = 30

Gosub Show_Time1 ' Muß, da evtl Startzeit <>0 sek. !

#Sommer
   'Wert=&H02 : Gosub Command  ' Internal Cursor Home
   'Gosub Show_Time
'--------------------------------------------------------------
'-------- Beginn  Sommerprogramm                        -------
'--------------------------------------------------------------
'-------- Kessel muß in K2 Stromsteckdose               -------
'-------- Boiler schaltet abhängig von Kesseltemperatur -------
'--------------------------------------------------------------

'--- Boilerpumpe                  ' TEMP 0-255 entspricht -25,0 bis 102,5 °C!

   If Temp1 < (Temp2-8) then StatusB = 1 ' Wenn Boiler 3°C unter Kesseltemp.
   If Temp1 > (Temp2-4) then StatusB = 0 ' Aus : Wenn Boiler >= Kessel
   If Temp2 <   MinK    then StatusB = 0 ' oder wenn Kessel < 40°C nicht Pumpe

   If LED4=0 then LED4=0 Else StatusB = 1 ' Schornsteinfegertaster !

   If StatusB = 1 then K1 = 1 else K1 = 0

'--------------------  Brennerschaltung  ----------------------------
   Soll = Soll2
   If Hour  >  19   then Soll    = 120 ' 35° ' Ab 20:00 nur 35 °C
   If Hour  <  05   then Soll    = 114 ' 32° ' Nach 4:59 Uhr Temp. höher !

   If Temp1 < Soll  then StatusK = 1 ' Wenn Boiler unter xx dann "Brenner ein"
   ' Muss nicht sein
   If Temp1 > Soll1 then StatusK = 0 ' Wenn Boiler  Ã¼ber yy dann "Brenner aus"

   If Temp1 > Soll1 then LED3    = 0 ' Wenn Boiler  Ã¼ber yy dann "Wanne aus"
   If Temp2 > 220   then StatusK = 0 ' Wenn Brenner über 85°C dann " AUS  "

   If LED3=0 then LED3=0 Else StatusK = 1 ' Wannentaster !
   
   If LED4=0 then LED4=0 Else StatusK = 1 ' Schornsteinfegertaster ! 22B
   'If LED4=-1 then StatusK = 1 ' Schornsteinfegertaster ! 14B

   If StatusK = 0   then K2=0 else K2=1
   '----------------------------------------------------------------------
   if StatusK = 0 then goto Jump1    ' Wenn nicht ein, Zeit nicht setzen

   AusH = Hour
   AusM = Minute
Goto Jump1

'--------------------------------------------------------------
'-------- Beginn  Winterprogramm                       --------
'--------------------------------------------------------------
'-------- Kessel muß in Dauerstromsteckdose            --------
'-------- Boiler schaltet unabhängig von Kessel        --------
'-------- Heizungspumpe schaltet beim Boilerladen aus  --------
'-------- Pumpe nachts aus                ?            --------
'--------------------------------------------------------------
#Winter
   'LED4 = 0       ' Im Winter keine Schornsteinfegerfunktion !
   
'--------------------  Boilerschaltung   ----------------------
   Soll = Soll2
   If Hour  >  19   then Soll    = 122 ' 36
   If Hour  <  05   then Soll    = 114 ' 32 ' Nach 4:59 Uhr Temp. höher !

   If LED3=0        then LED3 = 0 Else StatusK = 1 ' Wannentaster ! 22-Byte
   ' IF LED3 <> 0 Then StatusK=1  '14 Byte

   If Temp1 < Soll  then K1 = 1 ' Wenn Boiler unter xx dann "Boiler ein"
   If Temp1 > Soll1 then K1 = 0 ' Wenn Boiler  Ã¼ber yy dann "Boiler aus"

   If Temp1 > Soll1 then LED3 = 0 ' Wenn Boiler  Ã¼ber yy dann "Wanne aus"

   If Temp1 < Soll  then AusH = Hour
   If Temp1 < Soll  then AusM = Minute

'-----------------------------------------------------------

'--------  Heizungspumpenschaltung  im Winter  -------------
   If K1 = 0 then StatusK = 0      'Wenn Boiler läuft, Heizpumpe aus! 14-Byte
   'StatusK = K1                   ' alternativ 4-Bytes
   
   If LED4  =  0  then Goto Jump0  ' nicht Nachtabsenkungstaste

   ' Erst mal einschalten, wenn "EinP" -Zeit überschritten ist
   If Hour >= EinP then StatusK = 1 ' jetzt Nachtabsenkungstaste
   
   'Jetzt prüfen ob nach oder vor 0 / 24:00
   If AusP >  EinP then Goto Jump   ' Wenn aus vor 00:00 Uhr liegt
   If Hour <= AusP then StatusK = 0 ' Wenn aus nach 00:00 liegt
   Goto Jump0
   
#Jump
   If Hour >=  AusP then StatusK = 0 ' Wenn Zeit > Ausschaltzeit

#Jump0
   If StatusK = 0 then K2 = 0 Else K2  = 1 ' Wenn Boiler läuft, Heizpumpe aus!
   ' alternativ : K2 = StatusK
'--------------------------------------------------------------
'---------------   Ende  Winterprogramm      ------------------
'--------------------------------------------------------------


#Jump1
   '--- Parameter einstellen / Betriebsart wählen ---
   If not F2 then Gosub Select             ' Betriebsmodi einstellen 10-Byte
   'Print Second
   If F1 then goto S1                      ' Nicht gedrückt
   Tog LED1   ' 2-Byte
   ' If LED1 = 0 then LED1 = 1 Else LED1 = 0 ' Sonst "Sommer " setzen
#S1
   If F3 then goto S3                      ' Nicht gedrückt
   Tog LED3   ' 2-Byte
   'If LED3 = 0 then LED3 = 1 Else LED3 = 0 ' Sonst "Wanne " setzen 22-Byte
#S3
   If F4 then goto S4                      ' Nicht gedrückt
   Tog LED4   ' 2-Byte
   'If LED4 = 0 then LED4 = 1 Else LED4 = 0 ' Sonst "Schornsteinfeger" setzen
#S4

   Wert=&H02 : Gosub Command  ' Internal Cursor Home
   Gosub Show_Time

If LED1 = 0 then goto Sommer else goto Winter

END  '______________________________________________________________________



#Show_TIME
'Datum schreiben nur bei Minutenwechsel
   If Second > 0 then Goto Sekunde

'---------  LCD Reset   ----------
   Enable = 1                     ' Muss 1 sein um nach RESET zu starten
   RS     = 0                     ' Kommando ein
   Wert   = 3    : Gosub Daten1
   Wert   = 3    : Gosub Daten1
   Wert   = 3    : Gosub Daten1
   Wert   = 2    : Gosub Daten1   ' 4 Bit Mode setzen
   Wert   = &H28 : Gosub Command  ' war &28     6/2000
   Wert   = &H0C : Gosub Command  ' Cursor off
   Wert   = &H01 : Gosub Command  ' Display Clear
'----------------------------------

#Show_Time1
   Wert = &H02 : Gosub Command  ' Internal Cursor Home
'---------------------------
' Ausschaltzeit ausgeben
  'Zahl = AusH   : Gosub Ausg_Zahl2 : Wert=58 : Gosub Daten ' ":"
  'Zahl = AusM   : Gosub Ausg_Zahl2 : Wert=32 : Gosub Daten ' Space

   Wert = 32     : Gosub Daten        ' " " Leerzeichen augeben
   Zahl = Day    : Gosub Ausg_Zahl2 : Wert=46 : Gosub Daten ' "."
   Zahl = Month  : Gosub Ausg_Zahl2 : Wert=32 : Gosub Daten ' Space
   'Zahl = Year   : Gosub Ausg_Zahl2

   '--- Uhrzeit schreiben
   Zahl = Hour   : Gosub Ausg_Zahl2 : Wert=58 : Gosub Daten ' ":"
   Zahl = Minute : Gosub Ausg_Zahl2 : Wert=58 : Gosub Daten ' ":"

#Sekunde
   Wert = 141    : Gosub Command    ' ab xx. Stelle 1. Zeile schreiben 128+18 !
   Zahl = Second : Gosub Ausg_Zahl2  ' return kommt automatisch durch Temp.

#Show_Temp
   '--- Temperaturen schreiben
   Wert = 168  : Gosub Command ' ab 1. Stelle 2. Zeile schreiben !!
   Temp = T1   : Temp1=T1 : Wert=66 : Gosub Daten : Gosub Ausg_Temp
   Temp = T2   : Temp2=T2 : Wert=32 : Gosub Daten
   Wert = 75   : Gosub Daten ' "K"
   Gosub Ausg_Temp
 ' Temp = Soll1 : Gosub Ausg_Temp
   Temp = Soll  : Wert=32 : Gosub Daten  ' " "

#Ausg_Temp
   Zahl = TEMP/2-25
   Gosub Ausg_Zahl2  ' nur 2 stellig ausgeben !
   Wert=46 : Gosub Daten
   If (Temp and 1) Then Wert=53 Else Wert=48 ' .5 oder .0 ausgeben
Goto Daten   ' Return kommt von Daten     2-Byte short jump

#Command
   RS     = 0  ' Register set Command  2 x zum testen ob weniger Displayfehler
               ' war : Gosub Daten
   B4     = D8 ' Wert AND 128
   B3     = D7 ' Wert AND  64
   B2     = D6 ' Wert AND  32
   B1     = D5 ' Wert AND  16
   Enable = 1
   Enable = 0
   B4     = D4 ' Wert AND 8
   B3     = D3 ' Wert AND 4
   B2     = D2 ' Wert AND 2
   B1     = D1 ' Wert AND 1
   ' Enable = 1 '6 Bytes !
   'Enable = 0
   Tog  Enable ' 2 - Bytes
   Tog  Enable ' 2 - Bytes
   RS     = 1  ' Register set to Data
Return

#Ausg_Zahl2
  Wert=Zahl/10+48 ' Gosub Daten

  B4     = D8 ' Wert AND 128
  B3     = D7 ' Wert AND  64
  B2     = D6 ' Wert AND  32
  B1     = D5 ' Wert AND  16
  Enable = 1
  Enable = 0
  B4     = D4 ' Wert AND 8
  B3     = D3 ' Wert AND 4
  B2     = D2 ' Wert AND 2
  B1     = D1 ' Wert AND 1
  Enable = 1
  Enable = 0
 
  Wert=Zahl Mod 10+48 ' geht von allein ins return !

#Daten
  B4 = D8 ' Wert AND 128
  B3 = D7 ' Wert AND  64
  B2 = D6 ' Wert AND  32
  B1 = D5 ' Wert AND  16
  Enable = 1
  Enable = 0
 'Enable = 1

#Daten1
  B4 = D4 ' Wert AND 8
  B3 = D3 ' Wert AND 4
  B2 = D2 ' Wert AND 2
  B1 = D1 ' Wert AND 1
  Enable = 1
  Enable = 0
Return

#Select
  ' If F2 then return ' Wenn nicht F2 dann zurück
  LED2 = 1
  Lauf = 0
  Beep 500,30,0
  ' ------- Eingabe Boiler fordert an bei xx Soll1 -------
  Wert = &H02  : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = &H01  : Gosub Command  ' Display Clear
  Pause  1
  Wert = 83    : Gosub Daten ' "S"
  Wert = 111   : Gosub Daten ' "o"
  Wert = 108   : Gosub Daten ' "l"
  Wert = 108   : Gosub Daten ' "l"
  Wert = 32    : Gosub Daten ' Leerzeichen
  Wert = 49    : Gosub Daten ' "1"
  Wert = 61    : Gosub Daten ' "="
  Wert = 135   : Gosub Command
  TEMP = Soll1 : Gosub Ausg_TEMP
#Loop
  If not F3 then Soll1 = Soll1+1 Else Goto Loop1
  Beep 1000,5,0
  Wert = 135  : Gosub Command : TEMP=Soll1 : Gosub Ausg_TEMP
#Loop1
  If not F4 then Soll1 = Soll1-1 Else Goto Loop2
  Beep 2000,5,0
  Wert = 135  : Gosub Command : TEMP=Soll1 : Gosub Ausg_TEMP
#Loop2
  Lauf    = Lauf +1
  If Lauf > A then Jump2
  If F2 Then goto Loop
  Lauf = 0
 
'------ Eingabe min. Boiler -------
Beep 700,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = 83   : Gosub Daten ' "S"
  Wert = 111  : Gosub Daten ' "o"
  Wert = 108  : Gosub Daten ' "l"
  Wert = 108  : Gosub Daten ' "l"
  Wert = 32   : Gosub Daten ' Leerzeichen
  Wert = 50   : Gosub Daten ' "2"
  Wert = 61   : Gosub Daten ' "="
  Wert = 135  : Gosub Command : TEMP=Soll2 : Gosub Ausg_TEMP
#Loop5
  If not F3 then Soll2=Soll2+1 Else Goto Loop3
  Beep 2000,5,0 : Wert=135 : Gosub Command : TEMP=Soll2 : Gosub Ausg_TEMP
#Loop3
  If not F4 then Soll2=Soll2-1 Else Goto Loop4
  Beep 4000,5,0 : Wert=135 : Gosub Command : TEMP=Soll2 : Gosub Ausg_TEMP
#Loop4
  Lauf  = Lauf +1
  If Lauf > A then Jump2
  If F2 Then Goto Loop5
  Lauf = 0
 
'------ Eingabe Uhrzeit Stunden -------
Beep 1000,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = 83   : Gosub Daten ' "S"
  Wert = 116  : Gosub Daten ' "t"
  Wert = 117  : Gosub Daten ' "u"
  Wert = 110  : Gosub Daten ' "n"
  Wert = 100  : Gosub Daten ' "d"
  Wert = 101  : Gosub Daten ' "e"
  Wert = 61   : Gosub Daten ' "="
  Wert = 135  : Gosub Command
  Zahl = Hour : Gosub Ausg_Zahl2
#Loop6
  If not F3 then Hour=Hour+1 Else Goto Loop7
  Beep 2000,5,0 : Wert=135 : Gosub Command : Zahl=Hour : Gosub Ausg_Zahl2
#Loop7
  If not F4 then Hour=Hour-1 Else Goto Loop8
  Beep 3000,5,0 : Wert=135 : Gosub Command : Zahl=Hour : Gosub Ausg_Zahl2
#Loop8
  Lauf    = Lauf +1 : If Lauf > A then Jump2
  If F2 Then Goto Loop6
  Lauf = 0
 
'------ Eingabe Uhrzeit Minuten -------
Beep 200,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = 77   : Gosub Daten ' "M"
  Wert = 105  : Gosub Daten ' "i"
  Wert = 110  : Gosub Daten ' "n"
  Wert = 117  : Gosub Daten ' "u"
  Wert = 116  : Gosub Daten ' "t"
  Wert = 101  : Gosub Daten ' "e"
  Wert = 61   : Gosub Daten ' "="
  Wert = 135  : Gosub Command : Zahl=Minute : Gosub Ausg_Zahl2
#Loop9
  If not F3 then Minute=Minute+1 Else Goto Loop10
  Beep 2000,5,0 : Wert=135 : Gosub Command : Zahl=Minute : Gosub Ausg_Zahl2
#Loop10
  If not F4 then Minute=Minute-1 Else Goto Loop11
  Beep 4000,5,0 : Wert=135  : Gosub Command : Zahl=Minute : Gosub Ausg_Zahl2
#Loop11
  Lauf = Lauf +1 : If Lauf > A then Jump2
  If F2 Then Goto Loop9
  Lauf = 0
'------ Ausgabe Ausschaltzeit -------
Beep 200,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Wait 10
  Wert = 65   : Gosub Daten ' "A"
  Wert = 117  : Gosub Daten ' "u"
  Wert = 115  : Gosub Daten ' "s"
  Wert = 32   : Gosub Daten ' " "
  Wert = 117  : Gosub Daten ' "u"
  Wert = 109  : Gosub Daten ' "m"
  Wert = 32   : Gosub Daten ' " "
  Wert = 135  : Gosub Command
  ' Ausschaltzeit ausgeben
  Zahl = AusH   : Gosub Ausg_Zahl2 : Wert=58 : Gosub Daten ' ":"
  Zahl = AusM   : Gosub Ausg_Zahl2 : Wert=32 : Gosub Daten ' Space
  Lauf = 0
#Loop12
  Lauf = Lauf +1 : If Lauf > A then Jump2
  If F2 Then Goto Loop12
'-------------------------------------------


'------ Eingabe Min.Kessel -------
Beep 200,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = 077  : Gosub Daten ' "M"
  Wert = 105  : Gosub Daten ' "i"
  Wert = 110  : Gosub Daten ' "n"
  Wert = 046  : Gosub Daten ' "."
  Wert = 075  : Gosub Daten ' "K"
  Wert = 101  : Gosub Daten ' "e"
  Wert = 061  : Gosub Daten ' "="
  Wert = 135  : Gosub Command : TEMP=MinK : Gosub Ausg_TEMP
#Loop13
  If not F3 then MinK=MinK+1 Else Goto Loop14
  Beep 2000,5,0 : Wert=135 : Gosub Command : TEMP=MinK : Gosub Ausg_TEMP
#Loop14
  If not F4 then MinK=MinK-1 Else Goto Loop15
  Beep 4000,5,0 : Wert=135 : Gosub Command : TEMP=MinK : Gosub Ausg_TEMP
#Loop15
  Lauf = Lauf +1 : If Lauf > A then Jump2
  If F2 Then Goto Loop13
  Lauf = 0                     ' 4-Byte

'------ Eingabe Aus.Heizungspumpe -------
Beep 200,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = 065  : Gosub Daten ' "A"
  Wert = 117  : Gosub Daten ' "u"
  Wert = 115  : Gosub Daten ' "s"
  Wert = 046  : Gosub Daten ' "."
  Wert = 072  : Gosub Daten ' "H"
  Wert = 080  : Gosub Daten ' "P"
  Wert = 061  : Gosub Daten ' "="
 
  Wert = 135  : Gosub Command : Zahl= AusP : Gosub Ausg_Zahl2
#Loop16
  If not F3 then AusP=AusP+1 Else Goto Loop17
  Beep 2000,5,0 : Wert=135 : Gosub Command : Zahl=AusP : Gosub Ausg_Zahl2
#Loop17
  If not F4 then AusP=AusP-1 Else Goto Loop18
  Beep 4000,5,0 : Wert=135 : Gosub Command : Zahl=AusP : Gosub Ausg_Zahl2
#Loop18
  Lauf = Lauf +1 : If Lauf > A then Jump2
  If F2 Then Goto Loop16
  Lauf = 0
 
'------ Eingabe Ein.Heizungspumpe -------
Beep 200,50,0
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  Pause 1
  Wert = 069  : Gosub Daten ' "E"
  Wert = 105  : Gosub Daten ' "i"
  Wert = 110  : Gosub Daten ' "n"
  Wert = 046  : Gosub Daten ' "."
  Wert = 072  : Gosub Daten ' "H"
  Wert = 080  : Gosub Daten ' "P"
  Wert = 061  : Gosub Daten ' "="

  Wert = 135  : Gosub Command : Zahl= AusP : Gosub Ausg_Zahl2
#Loop19
  If not F3 then EinP=EinP+1 Else Goto Loop20
  Beep 2000,5,0 : Wert=135 : Gosub Command : Zahl=EinP : Gosub Ausg_Zahl2
#Loop20
  If not F4 then EinP=EinP-1 Else Goto Loop21
  Beep 4000,5,0 : Wert=135 : Gosub Command : Zahl=EinP : Gosub Ausg_Zahl2
#Loop21
  Lauf = Lauf +1 : If Lauf > A then Jump2
  If F2 Then Goto Loop19

#Jump2
  Wert = &H01 : Gosub Command  ' Display Clear
  Wert = &H02 : Gosub Command  ' Internal Cursor Home
  LED2 = 0
Goto Show_Time1 ' Return gespart und Zeitausgabe erzwingen


 Antwort schreiben

Bisherige Antworten:

Re: lcd modul -- anfängerfragen (von Andreas - 12.05.2004 22:44)
    Re: lcd modul -- anfängerfragen (von Willi aus Oelde - 13.05.2004 9:54)
        Re: lcd modul -- noch größere Anfängerfrage (von Volker - 21.02.2005 22:45)
        Re: lcd modul -- anfängerfragen (von Andreas - 14.05.2004 21:41)