- LiFePO4 Speicher Test         
Ergebnis 1 bis 3 von 3

Thema: Problem mit LCD-ausgabe

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    26.03.2005
    Ort
    Burghausen
    Alter
    41
    Beiträge
    38

    Problem mit LCD-ausgabe

    Anzeige

    E-Bike
    Abend,

    wir haben und auf Arbeit zum Spass ne Bewässerungsanlage für 2 Planzen gebaut, Vorratsbehälter mit Standmessung, Schauchpumpe und 2 Ventile das ganze wird mit ner Logo gesteuert. Zu ner bestimmten Zeit läuft die pumpe an , das erste Ventil wird geöffnet dann schließt das erste und das zweite öffnet, schließt und die pumpe stoppt. Zur Veranschauung

    Bild hier  

    Nun wollt ich das ganze noch mitn nem LCD ausstatten, mit dem prog

    Code:
    $regfile = "m8def.dat"
    $crystal = 7372800
    
    Declare Sub Ventil1
    Declare Sub Ventil2
    Declare Sub Pumpeaus
    
    Ddrd = &B11111111
    Portd.6 = 1
    Portd.7 = 1
    
    Dim A As Bit
    Dim B As Bit
    
    A = Pind.6
    B = Pind.7
    
    Initlcd
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    
     Cls
     Locate 1 , 1
     Lcd "     V0815      "
    
     Wait 2
    
    
     Do
    
     If A = 1 And B = 0 Then
     Call Ventil1
     End If
    
    
     If A = 0 And B = 1 Then
     Call Ventil2
     End If
    
    
     If A = B Then
     Call Pumpeaus
     End If
    
    
    Loop
    
    '------------------------------Unterprogramme----------------------------------
    
    Sub Ventil1
    
          Locate 1 , 1
          Lcd "Pumpe      Ein  "
          Locate 2 , 1
          Lcd "Ventil 1   Auf  "
    
      End Sub
    
    
    Sub Ventil2
    
          Locate 1 , 1
          Lcd "Pumpe      Ein  "
          Locate 2 , 1
          Lcd "Ventil 2   Auf  "
    
      End Sub
    
    
    Sub Pumpeaus
    
          Locate 1 , 1
          Lcd "Pumpe      Aus  "
          Locate 2 , 1
          Lcd "Ventile     Zu  "
    
      End Sub
    Eigentlich ganz simpel, es sollen nur immer die Ports abgefragt werden und dann das entsprechende Bild angezeigt werden. Nur hab ich das problem, das ich immer die anzeige der Sub Pumpeaus zu sehen bekomm. Wenn ich dagegen einen Pin wärend der Progübertragung auf GND lege wird mir das richtige Bild am LCD ausgegeben.

    zum testen hab ich an die ports erstma je an nem taster (parallel ne Led um den Pegel am pin zu sehen).

    Was mach ich falsch?

    Gruss ZB

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    ich weiss jetzt nicht ob ich die logik verstanden habe, aber die letzte If-Abfrage vergleicht nur A mit B, wenn beide gleich sind, also 0 oder 1 sind !
    Evtl. hilfts auch wenn Du alle If-Abfragen zusammenhängst mit ElseIf, dann tritt pro Loop bestimmt nur eine Sub in Aktion.

    Aja, jetzt seh' ich's erst, die Werte für A und B werden ja nie aktualisiert, ausser beim Programmstart !
    entweder am Anfang der Loop die Werte setzen,
    oder statt dem Dim A .. ein :
    Code:
    A Alias Pind.6
    für B genauso, dann wird immer auf die Ports zugegriffen.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    26.03.2005
    Ort
    Burghausen
    Alter
    41
    Beiträge
    38
    Jetz gehts, danke für die schnelle antwort.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests