-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: 4x16 LCD an Atmega8 lässt sich nicht ansprechen.?

  1. #1

    4x16 LCD an Atmega8 lässt sich nicht ansprechen.?

    Anzeige

    Hallo zusammen,
    bin ziemlich neu auf dem Gebiet der Microcontrollerprogrammierung mit Bascom und möchte irgendwann mal eine Füllstandsmessung z.B. einer Zisterne basteln. Gerade scheitere ich aber bereits am Problem etwas auf dem LCD darzustellen. Mein Code ist folgender:
    Code:
    '$sim
    ' Programmname:   LCD_Hallo.bas
    ' Autor:          David Schmidt
    ' Datum:          17.02.2011
    ' Beschreibung:
    ' Controller:     Atmega8
    
    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 4800
    
    Config Lcd = 16 * 4                                         ' 4x16 LCD
    Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portb.2 , Rs = Portb.1
    
    
    Do
    
          Cls                                                   'Testzwecke...
          Upperline
          Lcd "HALLO!"
    
    Loop
    End
    Die Simulation in Bascom läuft durch, will ich aber die reale Schaltung testen, passiert auf meinem LCD gar nichts. Ich geh davon aus, dass der Fehler im Programm liegt, da das Display zwar leuchtet und auch ein Kontrast erkennbar ist, aber halt nichts angezeigt wird.
    Danke für eure Hilfe!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Dein Problem könnte daran liegen, dass das Programm unmittelbar nach dem LCD-Befehl an den Anfang springt, wo gleich darauf der CLS-Befehl ausgeführt wird. Aufgrund der Trägheit der LCDs reicht diese Zeit nicht aus, um den Text sichtbar werden zu lassen.

    Schreib einfach mal waitms 100 hinter LCD "Hallo", dann müsste es gehen!

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.897
    Was hast Du denn für ein 4x16 LCD?
    LCD Module wie dieses hier: http://www.reichelt.de/?ACTION=3;GRO...06a7540634df6a
    brauche eine andere Initialisierung.
    Das hat mich auch 1..2 Tage gekostet, bis ich das gecheckt hab.

  4. #4
    Die Idee mit der Wartezeit hat leider nicht funktioniert.
    Das Display ist folgendes:
    http://www.pollin.de/shop/dt/MTczOTc...C1604A_01.html

    Die Initialisierung übernimmt doch Bascom automatisch, oder hab ich das falsch verstanden. Wie meinst du das genau?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hast du den R/W Pin auf Masse gelegt?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.897
    Das Display, das Du da hast sollte mit der "normalen" Bascom Initialisierung klar kommen.
    Die von mir genannten haben einen anderen Controller und müssen deshalb anders initialisiert werden!

  7. #7
    Der R/W Pin liegt dauerhaft auf Masse, da ich ja nur auf das Display schreiben und nicht lesen will. Ich sehe lediglich zwei schwarze Balken in der 1. und 3. Zeile.

  8. #8
    Hi Leute!
    Anscheinend war der Controller kaput. Hatte einen Atmega8 8PU und hab jetz mal nen Atmega8 16PU genommen. Jetzt klappts.? Weiß jemand, ob das was mit den 8/16PU zu tun hat? Danke für eure Hilfe!

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Das 8 oder 16 sagt nichts wirkliches aus. Von der Produktion her sind beide identisch. Nur in einem abschliessenden Test wird geprüft, ob der Kübel bei 16 MHz noch stabil läuft (16) oder ober er da schon spinnt und man bei 8MHz bleiben muss (8).

    Wenn du also nen 8PU mit 16MHz betreibst, kanns sein, dass nichts so geht wie geplant.
    #ifndef MfG
    #define MfG

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von Davmidt
    Hi Leute!
    Anscheinend war der Controller kaput. Hatte einen Atmega8 8PU und hab jetz mal nen Atmega8 16PU genommen. Jetzt klappts.? Weiß jemand, ob das was mit den 8/16PU zu tun hat? Danke für eure Hilfe!
    Bist du denn sicher, dass der Controller auf 1MHz gelaufen ist? Das klingt nach interner Frequenz, wie sie im Auslieferungszustand gegeben ist.
    Check doch mal die Fuses oder spiel ein Programm drauf, welches im Sekundentakt eine LED umschaltet.
    Mit falscher Frequenz wird das Timing evtl. so geändert, dass nichts mehr geht.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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