-         

Ergebnis 1 bis 4 von 4

Thema: LCD zeigt nichts an

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270

    LCD zeigt nichts an

    Anzeige

    Hallo Leute,

    ich habe mir hier eine Schaltung mit einem LCD-Display aufgebaut.
    Hardwarebeschaltung hängt im Anhang.
    Das Programm dazu sieht wie folgt aus:
    (sollte doch eigentlich korrekt sein)
    Code:
    $regfile = "m8def.dat"
    $crystal = 4000000
    
    'DDR = &B76543210   ; 0=Eingang  ; 1=Ausgang
    Ddrb = &B00111100
    Ddrc = &B00001110
    Ddrd = &B00000001
    Portb = &B00000000
    Portc = &B00000000
    Portd = &B00000000
    
    Config Sda = Portc.4                                        'Data-Line für I2C-Bus
    Config Scl = Portc.5                                        'Tackt für I2C-Bus
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portc.1 , Rs = Portc.3
    Config Lcdbus = 4
    
    Do
    Set Portd.0
    Wait 1
      Cls
      Locate 1 , 1
      Lcd "Hallo Welt"
    Reset Portd.0
    Wait 1
    Loop
    So, wenn ich nun die Schaltung aktiviere, dann leuchtet am Display die erste Zeile. Mehr passiert nicht.
    Der Pin D0 wechselt unerbittlich von 0 auf 1 und wieder zurück. Der Controller scheint also einwandfrei zu laufen und auch auf den Pins PB2-5 wird immer wieder etwas gesendet.
    RW habe ich nachgemssen, ist 0V
    Bin so langsam echt ratlos.

    Das einzige was mir äußerst komisch vorkommt:
    Der Pin D0 wechselt seinen Status nur alle etwa 3,5 Sekunden...
    Könnte da der fehler liegen, das auch nichts am Display angezeigt wird?

    Angeschlossen ist ein 4 MHz Quarzbaustein.
    Fusebits sind wie folgt gesetzt:
    Low Fuse: 11100001
    High Fuse: 11011001
    Lockbits: 11111111
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltplan_neu_902.jpg  

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Hast du D0-D3 des LCDs an GND angeschlossen?
    Vielleicht hilft auch ein initlcd vor der do-Loop Schleife?

    jon
    Nice to be back after two years
    www.roboterfreak.de

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Okay, das initlcd hats schon gebracht
    vielen Dank.

    Aber irgendwie brauchen alle wait-routinen immer noch das ca. 3,5 fache der Zeit von dem, was angegeben ist. (also statt 1 Sekunde etwa 3,5 Sekunden)

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Dann läuft der Controller wohl doch noch mit internem Takt...
    Kannst ja mal den Quarz abmachen und probieren, ob der Controller immer noch läuft.


    Gruß
    Christopher

Berechtigungen

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