-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 38

Thema: Hilfe gesucht: Lcd mit atmega 88

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.09.2009
    Beiträge
    182

    Hilfe gesucht: Lcd mit atmega 88

    Anzeige

    Hallo Allesamt,

    Vorweg: Ich weiß, dass es schon viele Threads zu diesem Thema und einen RN-Wissen eintrag gibt, doch die konnten mir auch nicht weiterhelfen.

    Zurzeit versuche ich ein Lcd (Hd44780 kompatibel , 2 * 16 Zeichen , von Pollin) an einen Atmega 88 anzuschließen.
    Ich verwende es im 4bit modus. RW liegt auf Masse.
    Die Schaltung habe ich an main Atm18 Board (Elektor) angeschlossen

    Ich habe schon Alles versucht aber es funktioniert nicht.
    Wenn ich Betriebsspannung anlege kommen nur schwarze Balken.

    Meine Hardware ist einwandfrei (kein Kurzschluss und aufbau nach Lehrbuch)

    Mein Quellcode ist in Bascom
    Code:
    $regfile = "m88def.dat"
    $crystal = 16000000
    
    $hwstack = 32
    $swstack = 10
    $framesize = 10
    
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
    Config Lcd = 16 * 2
    
    Config Lcdbus = 4
    
    Initlcd
    Cls
    Locate 1 , 1
    Lcd " hallo"
    
    End
    Ich vermute, dass es an den Fuses liegt (oder mit der Betaktung?), aber da komm ich einfach nicht zurecht

    Ich brauche dringend Hilfe!

    Vielen Dank schon mal im voraus

    Waldichecker

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    hängt quarz mit 16mhz dran? auch in den fuses eingestellt sonst nehm einfach die 1mhz intern und da brauchste bei den 16mhz nur die "6" rausstreichen
    was gibt es noch zu sagen

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    auf jeden Fall ist komisch, dass Du einen Takt von 16MHz angibst, und dennoch die Pins B6 und B7 für das LCD verwendest, welche auch für den Quarz gehören.
    Wenn Du an den Fuses nix gemacht hast, läuft der mit 1MHz (interner Takt).
    Mit welchem Takt läuft der wirklich, und hast Du die XTAL pins verwendet ?

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.09.2009
    Beiträge
    182
    Ich hab nun das Programm geändert.
    Code:
    $regfile = "m88def.dat"
    $crystal = 1000000
    
    $hwstack = 32
    $swstack = 10
    $framesize = 10
    
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.3 , Rs = Portb.2
    Config Lcd = 16 * 2
    
    Config Lcdbus = 4
    
    Initlcd
    Cls
    Locate 1 , 1
    Lcd " hallo"
    
    End
    Es klappt immer noch nicht

    Doch in den Fuses find ich kein 1mhz!

    Ich benutze AVR studio zum Programmieren.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    die 1mhz sind die grundeinstellung beim verkauf
    und gehts?
    was gibt es noch zu sagen

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.09.2009
    Beiträge
    182
    Ich glaube, dass ich sie mal geändert hatte, was jetzt? Es klappt nicht!

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Liegen die Pins DB0-DB3 vom LCD ebenfalls an Masse?

    Grüße
    Thomas

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    sicher hattest du das für einen quarz 16mhz eingestellt? wenn ja kannst quarz anlöten/stecken und deine andern leitungen verschieben
    kannst ja mal den chip am display anfassen wenn der heis ist kannstes so oderso vergessen
    was gibt es noch zu sagen

  9. #9
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    23
    Beiträge
    656
    Stell einfach bei den Fuses ein, um den internen 1MHz Takt zu aktivieren: "Int. RCosc 1MHz, Startup: ..." (oder so ähnlich). Ich habe mit den Pollin-LCDs auch schon schlechte Erfahungen gemacht: Bei mir hat das Display einfach nichts angezeigt. In der gleichen Schaltung hat dann ein etwas teureres von Conrad perfekt getan. Aber wenn in der ersten Hälfte des Displays ein schwarzer Balken angezeigt wird, ist das eigentlich ein Zeichen vom internen Controller, dass er auf die Initialisierung wartet und das Display funktionsbereit ist.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.09.2009
    Beiträge
    182
    Hallo,

    @TomEdl:
    Die Pins db0 - db3 liegen über nen wiederstand (10k) auf Masse.

    @Thomas$:
    Das Display ist in Ordnung der chip wird nich heiß

    Das mit den Fuses Kapier ich nicht.

    Ich hab ein Häckchen bei:
    Boot Flash Size = 1024 words...
    Brown-Out detection dissabled
    Divide Clock bei 8 internally !!!

    Aha, heißt das, dass der Takt den ich da Angebe durch 8 geteilt wird?

    Wenn Ja:

    Welches Der 3 Obtionen Müsste ich auswählen, wenn ich 1 Mhz intern haben will?

    Int. Rc Osc 8Mhz; Startuptime PWRDWN/Reset : 6 ck / 14CK + 0ms

    Int. Rc Osc 8Mhz; Startuptime PWRDWN/Reset : 6 ck / 14CK + 4.1ms

    Int. Rc Osc 8Mhz; Startuptime PWRDWN/Reset : 6 ck / 14CK + 65ms

    Vielen Dank schon mal ich bin schon einen Schritt weiter aber es klappt immer noch nicht.

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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