-
        

Ergebnis 1 bis 8 von 8

Thema: mal wieder ein LCD-Problem

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2005
    Beiträge
    29

    mal wieder ein LCD-Problem

    Anzeige

    Hallo allesamt!

    Habe ein Problem bei dem ich nicht so recht weiß worans liegt. Habe am STK500 ein LCD mittels einem Mega16 mit externem 8MHZ Quarz angeschlossen.
    Hintergrund ist, daß ich einen eingelesenen AD-Wert auf dem Display angezeigt haben möchte. Theorethisch funktioniert das, nur springt er nach den jeweiligen 5s jedesmal an einen anderen Punkt auf dem Display oder gibt "kyrillische" Schriftzeichen aus! Kann das irgendwie an der Prozessorfrequenz liegen? Fusebits sind bei externen 8MHz gesetzt.
    Wäre dankbar für nen Tip!

    Gruss, Martin

    Programm ist:

    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    Config Lcd = 16 * 2
    Config Portc = Output
    Initlcd
    Do
    Cls
    Locate 1 , 2
    Lcd "Test "
    Wait 5
    Loop
    End

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2004
    Ort
    Hamburg
    Alter
    31
    Beiträge
    106
    Also ich habe bei meiner LCD routine das mit Portc = output weggelassen denke aber nicht das es daran liegt wenn du den cursor erste ziele erste position legen willst dann musst du aber locate 1 , 1 machen und nicht locate 1 , 2
    und das init lcd kannst du auch weg lassen der init automatisch nach dem config


    Mfg Maik



    -hoffe war alles richtig bitte berichtig mich wenn ich falsch liege

  3. #3
    Gast
    Habs gemacht, ändert sich aber nix. locate 1,2 hab ich gemacht, weil wenn ich 1,1 angebe, dann fehlt immer der erste Buchstaben. Keine Ahnung warum. Kanns doch was mit der Frequenz zu tun haben?

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    Probiere es doch mal so, läuft bei mir einwandfrei :


    Code:
    $regfile = "m16def.dat" 
    $crystal = 8000000 
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 
    Config Lcd = 16 * 2 
    
    Do 
    cls
    Upperline
    Lcd "Test           " 
    Wait 3 
    Lowerline
    Lcd "Test 2         " 
    wait 3
    Loop 
    End
    P.S. Das mit dem Springen liegt mit Sicherheit an einem fehlenden/überschüssigen Leerzeichen im LCD-Befehl, daher geht die Formatierung flöten
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2005
    Beiträge
    29
    Danke für das Programm, aber das hat am Anfang auch nicht gefunzt. Ich hab jetzt allerdings herausgefunden wo das Problem lag: Ich lasse das ganze jetzt bei 1MHz mit dem internen Oszillator laufen, dann funktioniert es! Zumindest läuft die Schleife dann etwa 10mal hintereinander ab ohne Probleme, und erst danach kommt wieder mist.
    Hab ich nen Denkfehler was die externen Quarze angeht?
    Welches Bit muß ich denn nun wirklich bei 8MHz setzen?
    Gruß, Martin

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Sind denn die Fusebit's entsprechend auf externen Takt umgestellt ?
    Das kann man z.B. in PonyProg unter Security Configuration Bit's auslesen.
    (SUT0 und SUT1 , sowie CKSEL0 bis 3 müssten auf "1" stehen)
    Bei einem neuen ATMEGA ist immer der interne Takt eingestellt.
    Da wird der externe Quarz nicht benutzt.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2005
    Beiträge
    29
    Die Fusebits hab ich umgestellt. Das komische ist ja, daß es auch mit internem Takt nicht funktioniert. Das senden ans LCD funktioniert, aber er verhaut die Ziffern immer wieder und nach einer Weile kommt nur noch Mist. Ich versteh das nicht!

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Könnte es sein, dass JTAG noch enabled ist ?
    Liegt ja auch auf Port C.

Berechtigungen

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