-         

Ergebnis 1 bis 7 von 7

Thema: Display 16*1 probleme

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    04.08.2007
    Ort
    Bregenz
    Alter
    41
    Beiträge
    72

    Display 16*1 probleme

    Anzeige

    Guten tag

    Hab ein problem mit ein display 16*1 (displaytech 161a) die einzige form um was zu schreiben ist es so zu behandeln als wäre ein 8*2 zeichen display , als hardware hab ich ein atmega 8 das läuft auf 8 mhz intern frequenz , mein problem ist es das alles funktioniert einwandfrei aber nur 10 minuten danach kommen 8 schwarze kästchen am display , wenn ich die stromzufuhr unterbreche hab ich wieder mein text und läuft alles normal nach 10 minuten kommen wieder die kästchen an was könnte es liegen ? , ich hab 2 gleiche schaltungen und beide verhalten sich gleich .

    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    
    
    
    
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
    
    
    Config Lcd = 16 * 1
    
    
    
    
    
    Config Portb.1 = Input
    Config Portb.2 = Input
    Config Portd.0 = Input
    
    Config Portc.1 = Output
    Config Portc.2 = Output
    
    Portb.1 = 1
    Portb.2 = 1
    Portd.0 = 1
    
    Dim Dummy As Eram Word
    Dim Speicher As Eram Word
    Dim Splaufzeit As Eram Word
    Dim Laufzeit As Word
    Dim Zeit As Word
    Dim Minuten As Word
    Dim Aktlaufzeit As Word
    Dim Gesmuenz As Word
    Dim A As Byte
    Gesmuenz = Speicher
    Laufzeit = Splaufzeit
    
    Cursor Off
    Locate 1 , 1
    Lcd "Gesamt"
    Locate 2 , 1
    Lcd Gesmuenz
    Do
     Portc.2 = 1
    
    If Pinb.1 = 0 Then
      Gosub Incrlaufzeit
      End If
    
    If Pinb.2 = 0 Then
      Gosub Decrlaufzeit
      End If
    
    
    
      If Pind.0 = 1 Then
    
     Gesmuenz = Gesmuenz + 1
     Speicher = Gesmuenz
     Minuten = Laufzeit * 60
     Aktlaufzeit = Minuten
     Cls
    Locate 1 , 1
    Lcd "Gesamt"
    Locate 2 , 1
    Lcd Gesmuenz
     Gosub Startzeit
     End If
    
    Loop
    
    
    
    
      Startzeit:
     Do
    Decr Aktlaufzeit
      Portc.1 = 1
      Waitms 1044
    If Aktlaufzeit =< 0 Then
    Portc.1 = 0
    Portc.2 = 0
    Wait 1
    
       End If
       Loop Until Aktlaufzeit = 0
    
      Return
    
    
     Incrlaufzeit:
    
     Cls
     Incr Laufzeit
     Locate 1 , 1
     Lcd "Minuten"
     Locate 2 , 1
     Lcd Laufzeit
     Waitms 500
    Cls
     Splaufzeit = Laufzeit
     Locate 1 , 1
    Lcd "Gesamt"
    Locate 2 , 1
    Lcd Gesmuenz
    
     Return
    
     Decrlaufzeit:
    
     Cls
     Decr Laufzeit
     Locate 1 , 1
     Lcd "Minuten"
     Locate 2 , 1
     Lcd Laufzeit
    Waitms 500
     Cls
      Splaufzeit = Laufzeit
      Locate 1 , 1
    Lcd "Gesamt"
    Locate 2 , 1
    Lcd Gesmuenz
    
     Return

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Vermutlich hängt sich einer von beiden auf.
    Kannst du an den Controller ne LED hängen? Dann könnte man die LED mal blinken lassen (nicht mit Timer, sondern über die Software direkt); Wenn das Display dann die Balken zeigt und die LED nichts mehr tut, wirds ein Controller-Problem sein.

    Kann es sein, dass in dem Code auch ein "Loop" abgeht?
    Zumindest ist da ein "Do" (Unter Startzeit zu viel.
    #ifndef MfG
    #define MfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    04.08.2007
    Ort
    Bregenz
    Alter
    41
    Beiträge
    72
    hallo
    Danke für deine schnelle antwort , ich hab 2 relais am ausgang von men atmega , die tun so wie es sein soll , die schalten ein und aus in den richtigen zeitpunkt , ich denke das es nicht abstürz aber werde das mit den led trotzdem ausprobieren.
    das mit den do ist so das ich am ende ein loop until geschrieben hab , es tut mir leid das mein code nicht so aufgeräumt ist , kann es sein das ich der display falsch initialisiere ? , weil mein display verhaltet sich wie ein 8*2 diplay .

    gruss Carlos

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    @ Carlos31

    Es ist fast sicher so, wie du vermutest. Das kannst du im Datenblatt deines Displays noch überprüfen. Bei meisten 1x16 Displays ist die Zeile als 2x8 von Displaykontroller gesteuert und sie müssen wie zweizeilige initialisiert werden.

    MfG

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    War das bei Bascom mit diesen Pseudo-2x8-LCDs nicht so, dass die mit
    "Config Lcd = 16 * 1a" statt "Config Lcd = 16 * 1" initialisiert werden sollten?
    (Würde auch zur Displaybezeichnung 161A passen)
    #ifndef MfG
    #define MfG

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    04.08.2007
    Ort
    Bregenz
    Alter
    41
    Beiträge
    72
    hallo:
    Vielen dank für die antworten , jetzt bin ich ein bischen weiter .
    hab die ganze schaltung auf mein steckbrett aufgebaut und funktioniert wie es sein soll , mit mein original program , wenn ich die stromzufuhr von mein atmega weg nehme (um ein absturz zu simulieren) bleibt alles gleich mit mein lcd da ich vor den do loop der münzen gesamt drauf schreibe.
    Die 2 schaltungen das probleme machen sind in ein rittal kasten eingebaut , hab die schaltung in ein rasterplatine aufgebaut und als sandwich mit abstandsbolzen hinter mein display befestigt , kann es sein das ich zu wenig zum entstöre benutze ? , hab 1 *100 nf kondensator für mein display und eins für mein atmega , mit meine 2 relais schalte ich 230 v.
    kan es sein das ich gnd von meine schaltung mit erde verbinden muss ?
    vielen dank für eure antworten in voraus

    Carlos

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    04.08.2007
    Ort
    Bregenz
    Alter
    41
    Beiträge
    72
    hatt keiner eine idee ?

Berechtigungen

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