- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Warum sehe ich auf dem LCD nichts?

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Anzeige

    E-Bike
    hört sich für mich nach timingproblem an.
    stimmt auch deine taktfrequenz sicher?

    $crystal = 1000000 1MHz?
    oder eventuell doch 2 oder 4 oder 8 MHz?

    Bei der initialisierungscheint was nicht recht zu stimmen ...
    eine mögliche abhilfe währe "zu Fuß" zu initialisieren.

    Schick mal nen Link zum Datenblatt von dem Dings
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Am LCD solte der Pin RW richtigen Pegel haben (mir fällt gerade nicht ein welcher) , aber der bereitete mir auch einigen Ärger.

    ansonsten :

    waitms 100
    initlcd

    und dann klappt die Ausgabe.

    Gento

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    ??? das Display hat doch nur eine Zeile ???
    Ja, aber manche 16*1 LCDs sind so aufgebaut, daß die ersten 8 zeichen als Zeile 1 und die zweiten 8 Zeichen als Zeile 2 behandelt werden.
    Deshalb auch das "16*1" mit dem Zusatz "a" beim Bascom LCD init.
    Das ist für die "zweizeiligen Einzeiler"
    Beim Einschalten ohne Ansteuerung sollte auf dem "a" Display auch nur eine Hälfte schwarz sein.
    Beim "normalen" 16*1 ist dann alles schwarz.

    Gruß
    Christopher

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Hi Leute,
    Timingproblem ---- ich benutze den internen Quarz sollte 1000000 sein.
    Pegel an RW -------- liegt fest an GND

    nun zum "zweizeiligen Einzeiler" --- scheint der Lösung schon sehr nahe zu kommen
    habe auch gelernt wie man einen Programmcode einsetzt
    Ich habe ein kleines Testprog. geschrieben, wobei ich es einmal mit 16*1a und einmal mit 16*1 getestet habe.
    Code:
     $regfile = "m16def.dat"                                    'Die Anweisung bestimmt Controllertyp, hier AVR Mega 16
     $crystal = 1000000                                         'Die Frequenz des internen Oszilators
     Config Lcd = 16 * 1                                        'Display
     Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
     Config Lcdbus = 4
     Dim A As Single
     Dim B As Single
     A = 4.0
     B = 12.1
     Initlcd
     Do
     Cls
     Locate 1 , 1
     Lcd "test1 1234567890"
     Wait 2
     Cls
     Locate 1 , 1
     Lcd "test2 " ; A ; " " ; B
     Wait 2
     Cls
     Locate 1 , 1
     Lcd "test3"
     Locate 2 , 1
     Lcd A ; B
     Wait 2
     Loop
    Die ausgaben waren schon recht merkwürdig
    Bei 16*1a
    test1_12
    test2_4.0_12.100
    test3___00003790

    bei 16*1
    test1_12
    test2_4.
    test3___4.012.10

    was merkwürdig ist , ist das test1 nirgendswo als "test1_1234567890" ausgegeben wurde.
    NaJa was soll´s, werden das Ding schon irgendwie schaukeln.
    =D> vielen dank für die tollen Tips, wäre sonst bestimmt noch beim Ärgern, jetzt kann ich schon wieder

    Gruß
    Rolf

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Da isser wieder,
    es läuft alles. Ich benutze nun 16*1a und habe meine Ausgaben als 2 * 8 Zeichen konfiguriert.
    \/ \/ \/ \/ \/

    vielen vielen dank euch allen

    Gruß
    Rolf

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    hi,

    dann kannst du mir vielleicht helfen?

    ich habe R/W auf GND, die Kontrastspannung lässt sich prima regeln. betriebsspannung stimmt auch alles.

    Ich habe aber sehr wenig programmiererfahrung und habe dein programm von oben genommen. Aber da hab ich nur 8 ausgefüllte kästchen. Ich habe dieses LCD von Pollin für 2,95 mit dem HD44780
    Es hat eigentlich 16*1, aber vllt. muss man auch 8*2 machen.

    Kannst du bitte mal dein programm schicken, was nun läuft?

    vielen Dank

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Hi T.J.
    das höhrt sich so an als wenn du das gleiche Display hast wie ich.
    die esten 8 Zeichen werden mit
    Locate 1,1
    Lcd "text" (Zeichen 1-8 )
    angesprochen
    die 2.ten 8 Zeichen mit
    Locate 2,1
    Lcd "Text" (Zeichen 9-16)
    dabei ist dann das erste Zeichen an der 9,ten Stelle.

    Ich hoffe Du kannst was damit anfangen.

    Gruß
    Rolf

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    ok, aber ich habe vor allem wenn ich anschalte nur 8 kontrastkästchen

    ist das Programm von oben soweit richtig?

    hier mal meine Variante:

    Code:
    $regfile = "m16def.dat"                                   
     $crystal = 1000000                                         
     Config Lcd = 16 * 1a                                       'Display
     Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
     Config Lcdbus = 4
    
     Ddrd = &B11100000                                           
    Portd = &B00000000
    
    Portd.5 = 1
    Portd.6 = 0
    
     Dim A As Single
     Dim B As Single
     A = 4.0
     B = 12.1
     Initlcd
     Do
    
       Toggle Portd.5
       Toggle Portd.6
    
     Cls
     Locate 1 , 1
     Lcd "test1 1234567890"
     Wait 2
     Cls
     Locate 1 , 1
     Lcd "test2 " ; A ; " " ; B
     Wait 2
     Cls
     Locate 1 , 1
     Lcd "test3"
     Locate 2 , 1
     Lcd A ; B
     Wait 2
     Loop

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    sooo, es läuft nun.

    da ich Port d genommen hatte musste JTAG deaktiviert werden.

    danke für deine Hilfe \/

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Hi T.J.
    sorry das ich gestern nicht mehr geantwortet habe, aber ich hatte leider keine Zeit.
    Umsobesser finde ich es das Du selbst die Lösung gefunden hast.

    Gruß
    Rolf

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Labornetzteil AliExpress