- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 11 bis 20 von 25

Thema: Nokia 3310 Display am s2313 oder Mega8

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    13.12.2005
    Ort
    Sachsen
    Beiträge
    17
    Hallihallo...

    Ich habe ein altes Nokia 5210 rumliegen gehabt, da dachte ich mir... das display passt gut in den PC zur Überwachung und Steuerung meiner WaKü.

    Hab mir code aus Beispielen übernommen und es läuft auch irgendwie.
    Nur scheinen die Kommandos nicht richtig zu funktionieren, wie z.b. RAM adresse auf NULL, oder invertieren des Displays.
    ich benutze nen Mega16 an 5V, das Display LPH7366 (NOKIA 5210) mit integriertem Controller PCD8544 an 2,9V
    Angesprochen wird das Display mit hard-SPI

    Im Programm soll ersteinmal das LCD getestet werden und dann an erster Stelle ein Rechteck blinken.
    Der Test klappt auch, aber das Rechteck wandert auf dem Bildschirm immer Zeichen für Zeichen weiter.

    Hat jemand vielleicht eine Idee, woran das liegen könnte?
    Hab noch nicht so die Erfahrung mit der Materie...

    Code:
    $regfile = "m16def.dat"
    $crystal = 12000000
    
    Config Portb = Output
    
    Declare Sub Ukommando(byval Wert As Byte)
    Declare Sub Udata(byval Wert As Byte)
    Declare Sub Initialisierung
    Declare Sub Lcdloeschen
    Declare Sub Lcdtest
    Declare Sub Invert
    
    Dim Xx As Byte
    
    Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4
    
    Dc Alias Portb.0
    Ce Alias Portb.2
    Re Alias Portb.1
    
    
    
    Re = 0                                                      'Reset
    Waitus 250
    Re = 1
    
    Spiinit
    
    Weiter:
    
    Initialisierung
    Lcdloeschen
    Lcdtest
    'Initialisierung
    
    Do
    
    Lcdloeschen
    
    Waitms 500
    
    Udata &B11111111
    Udata &B10000001
    Udata &B10000001
    Udata &B10000001
    Udata &B11111111
    Udata &B00000000
    
    Waitms 500
    
    Loop
    
    Sub Invert
    
       Ukommando &H21                                           'Erweiterter Kommando-Mode
       Ukommando &HC8
       Ukommando &H06
       Ukommando &H13
       Ukommando &H0D
       Ukommando &H20                                           'Wieder in den normalen Kommando-Mode
       Ukommando &H21
       Ukommando &H0D
       Ukommando &H20
    
    End Sub
    
    Sub Lcdtest
    
    Lcdloeschen
    
    For Xx = 1 To 84
     Udata &B11111111
     Udata &B11111111
     Udata &B11111111
     Udata &B11111111
     Udata &B11111111
     Udata &B11111111
    Next
    
    Waitms 500
    Ukommando &H24
    Waitms 500
    Ukommando &H20
    Invert
    Waitms 500
    Lcdloeschen
    
    End Sub
    Sub Initialisierung
       Ukommando &H21                                           'Erweiterter Kommando-Mode
       Ukommando &HC8
       Ukommando &H06
       Ukommando &H13
       Ukommando &H20                                           'Wieder in den normalen Kommando-Mode
       Ukommando &H0C
    End Sub
    
    Sub Lcdloeschen
    Local I As Word
       Ukommando &H0C                                           'Normaler Bildschirm
       Ukommando &H80
       Ukommando &H21                                           'Erweiterter Kommando-Mode
       'Ukommando &H80                                           'Setze RAM-Adresse auf 0
       Ukommando &H20                                           'Normaler Kommando-Mode
       Ukommando &H0C                                           'Normaler Bildschirm
       Ukommando &H80                                           'Setze RAM-Adresse auf 0
       Dc = 1                                                   'Sicherstellen, dass man im Daten-Mode ist
       For I = 0 To 503
          Udata &H00
       Next
    
       Ukommando &H0C                                           'Normaler Bildschirm
       Ukommando &H80                                           'RAM auf adresse 0
    End Sub
    
    '------------------------------------------------------------------------------
    
    Sub Ukommando(byval Wert As Byte)
       Dc = 0                                                   'in den Kommando-Mode
       Spiout Wert , 1
       Dc = 1                                                   'zurück in den Daten-Mode
    End Sub
    
    Sub Udata(byval Wert As Byte)
       Dc = 1                                                   'um sicher zu gehen, dass man auch wirklich im Datenmode ist
       Ce = 0
       Spiout Wert , 1
       Ce = 1
    End Sub
    Danke schonmal, wäre gut, wenn jemand nen Gedanken dazu hätte...
    Stefan
    Angehängte Dateien Angehängte Dateien

Berechtigungen

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

12V Akku bauen