- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 173

Thema: Portbelegung auf ATMega für LCD1602

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von avr_racer
    Registriert seit
    01.04.2014
    Ort
    MecklenburgVorpommern
    Beiträge
    175
    Zitat Zitat von HeSt Beitrag anzeigen
    Erst muss ich mich für eine Fehlmeldung entschuldigen,
    denn beim Umbau von µC auf absolut händisch ist mir bewusst
    geworden, dass ich das LCD verkehrt rum "gesehen" hab.
    Weil ich das LCD so im Board hab, dass die Anschlüsse unten
    sind und nicht oben. Zeile 1 ist bei den Anschlüssen.
    Somit hat die Zeile 1 die Blöcke und nicht Zeile 2!
    Zeile 2 ist leer.
    DIE LCD-ANSCHLÜSSE WAREN/SIND IMMER RICHTIG BESCHALTEN!!
    Hab nur die Zeilen vertauscht gesehen!
    Alles gut ein nicht initialisiertes LCD muss immer in der ersten Zeile eine Balken haben, deshalb hab ich drüber hinweg geschaut siehe weiter oben.

    Zitat Zitat von HeSt Beitrag anzeigen
    Aufbau mit T24:
    Hab RS + R/W gegroundet.
    Resultat: keine Änderung.

    Pullup hin, pullup her ....
    Wenn denn nur R/W grounden. RS ist für das Schreiben auf dem LCD notwendig.

    Zitat Zitat von HeSt Beitrag anzeigen
    Aufbau manuell:
    Nun hab ich statt dem µC ein Mäuseklavier installiert und
    die entsprechenden commands darüber eingegeben.
    RS + RW immer auf GND - also nur Befehle.
    EN mit 4,7k gegen GND.
    Per Taste + auf EN, bei Loslassen - über R.
    CMD-Abfolge (x = per Taste EN > +/-):
    $30 3x
    $20 1x noch im 8-Bit Mode (4-Bit-Mode)
    $28 2x erst 2 dann 8 (4-Bit, 2 Zeilen, 5x7)
    $0F 2x erst 0 dann F (DSP on, Cursor on blink)
    $06 2x erst 0 dann 6 (DSP fest, C autoincr)
    $01 2x erst 0 dann 1 (clr DSP, C > home)
    Pegel/V-levels an den Anschlüssen mit V-Meter kontrolliert - ok.
    Somit sollte der Zeitfaktor (Warteschleifen zu kurz) eliminiert sein.
    Oder "vergisst" das LCD nach gewisser Zeit, welche Befehle es schon erhalten hat!?

    Resultat: keine Änderung ggü. µC oder keiner Beschaltung.
    Es tut sich ggü. dem Status nach dem Spannung anlegen einfach ...
    NICHTS, GAR NICHTS am LCD!!!
    Die Blöcke bleiben unverändert und keine weitere Reaktion.

    Bin ratlos ... Was nun?
    Doch LCD defekt??

    Und damit ihr euch den Testaufbau vorstellen könnt, die Fotos dazu.

    Werde morgen noch DB4-DB7 mit R gegen GND hängen.
    Rein für die Init könnte man das so machen bleibt die Frage der Entrprellung der Taster/Schalter was es wahrscheinlich scheintern lässt.
    Danke für die Bilder. Und prüfe Leitungen oder Stecklöcher auf dem Board...

    So hoffe ich das dir folgendes weiterhilft

    Das "Ur-LCD" auf dem auch dei KS0077/67 usw angelehnt sind hat Seite 39 des HD44780 foglenden Hinweis:

    "4-bit operation, 8-digit ´ 1-line display with internal reset
    The program must set all functions prior to the 4-bit operation (Table 12). When the power is turned on,
    8-bit operation is automatically selected and the first write is performed as an 8-bit operation. Since
    DB0 to DB3 are not connected, a rewrite is then required. However, since one operation is completed in
    two accesses for 4-bit operation, a rewrite is needed to set the functions (see Table 12). Thus, DB4 to
    DB7 of the function set instruction is written twice."

    Ich muss zugeben das habe ich das letzte mal vor 5/6 Jahren gelesen nachdem ich mir dann meine 8-Bit-Erweiterung mit nem Schieberegister gebaut habe um Pins zu sparen. Seit dem hatte ich 4bit nie wieder angefasst weil dort einfach zuviele Fehlinterpretation möglich sind. Gerade in Eng wenn man da nicht sattelfest ist.

    Musste mir mein Board nochmal schnappen und es für den 4bit-Mode aufbauen was schief geht... Die Routine sollte eigentlich sofort bei dir funktionieren wenn folgende Bedigungen eingehalten sind

    Takt 1Mhz eingestellt wenn
    CLKDIV8 = Haken raus
    !!!!!!!!!!!!
    Jetzt VORSICHTIG wirklich drauf achten das folgende Einstellung gewählt ist
    SUT_CKSEL = Int. RC. Osc. 8Mhz.... egal was oder Ext. Crystal 0,9-3Mhz.... egal was

    Finger WEG von Ext. CLOCK der Chip lässt sich nur dann durch anlegen eines externen Taktes in den Fues umstellen!!!
    !!!!!!!!!!!!
    KONTRAST BISSCHEN STÄRKER EINSTELLEN
    RW = GND
    RS/E = vom Crontroller wie gehabt
    DB0-DB3 = offen da sie eh in Tristate geschaltet werden
    DB4-DB7 = vom Controller wie gehabt

    Wenn LCD i.O. sollte jetzt Texte in beiden Zeilen zeilen erschienen.

    Sollte dein LCD nach ca 5s, ohne das du Einstellungen verändert hast, nur wieder einen Balken in der Zeile 1 haben ist es defekt.
    Angehängte Dateien Angehängte Dateien
    Geändert von avr_racer (04.01.2019 um 06:01 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.091
    Ich habe schon vor längerem 2 PDFs gefunden http://www.epemag.wimborne.co.uk/lcd1.pdf und http://www.epemag.wimborne.co.uk/lcd2.pdf vielleicht hilft es weiter. Ich könnte noch eine Hex kompilieren damit du das LCD mit einem uC testen kannst.

    MfG Hannes

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich habs jetzt leider nicht gefunden oder gelesen, ob das Display neu war oder schon im Betrieb. Wenn es noch nie in Betrieb war: hast Du schon mal die Platine / Lötstellen inspiziert? Ich habe die Erfahrung mit Teilen aus China gemacht, dass man das kontrollieren sollte, weil manchmal Lötzinnreste Brücken auf der Platine bilden. Wenn nichts zu finden ist, könnte man noch alle Lötstellen nachbearbeiten, ob das Display schon im Betrieb war , vor längerer Zeit, oder nicht. Vielleicht kommt irgendwo ein Signal nicht durch.

    MfG

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.09.2008
    Ort
    Linz A
    Beiträge
    126
    (Guten) Morgen,

    die Erklärung zur Klammer:
    Mein LCD ist defekt
    Ich hab den Aufbau genau so wie Siro gemacht.
    Die LCD-Anzeige nach der Spannungsversorgung siehe Foto.
    Sie bleibt unverändert, egal wie oft E gegen + getippt wird.

    Danke für eure Mühe, Zeit und die vielen Tipps!

    Ich melde mich wieder ...

    Gruß Heinz

    - - - Aktualisiert - - -

    Zitat Zitat von Moppi Beitrag anzeigen
    Ich habs jetzt leider nicht gefunden oder gelesen, ob das Display neu war oder schon im Betrieb.
    War/ist neu. War deshalb, weil vor einigen Jahren gekauft, aber nie verbaut ...
    Die Lötstellen hab ich mit der Lupe kontrolliert und auch - soweit möglich - nachgelötet - alles ok.

    Werd mir heute noch beim großen "C" ein neues holen. Ist grad mal 5km entfernt ...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 1602.jpg  
    Geändert von HeSt (04.01.2019 um 08:15 Uhr)

  5. #5
    HaWe
    Gast
    nur als Tipp bei ähnlichen Problemen:
    Auch wenn bei mir Hardware auf speziellen Plattformen nicht zum Funktionieren zu bringen ist (z.B. am Raspi): zum testen habe ich da immer einen Arduino für 5 EUR in Reserve, zu dem es super-simple fertige Beispielprogramme gibt, das ist eine Sache von 3 Minuten - es spart einfach Wochen-lange nervige Fehlersuchereien auf der eigentlichen genutzten Plattform.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Sie bleibt unverändert, egal wie oft E gegen + getippt wird.
    E liegt über einen Widerstand an Plus,
    Du musst E dann 3 mal nach Masse ziehen.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.09.2008
    Ort
    Linz A
    Beiträge
    126
    Zitat Zitat von Siro Beitrag anzeigen
    E liegt über einen Widerstand an Plus,
    Du musst E dann 3 mal nach Masse ziehen.
    Lieber Siro,
    es steht doch "egal wie oft" gegen Masse gezogen ...
    Aber dein Testaufbau hat mir geholfen!

    Hab mir ein neues 1602 LDC besorgt (€ 13,-)

    Und ....
    BINGO !!!!!!!!!!!!

    @ avr_racer,
    hab daraufhin gleich dein text3-progrämmchen adaptiert (statt portD > portA).
    Und alles funktioniert!

    Danke euch allen!

    Jetzt kann ich mal beruhigt weiter machen ... bis ich auf das nächste Problem stoße ...
    Dann rühr ich mich wieder (bin mir sicher!).
    Spätestens jedoch, wenn ich fertig bin - und das wird noch lange dauern ..................

Ähnliche Themen

  1. [ERLEDIGT] Atmega 644 & atmega8 parallel am ISP ... Reset beider atmega notwendig ..
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 29.03.2013, 11:18
  2. CCPRO M128: Portbelegung
    Von Dirk im Forum Robby RP6
    Antworten: 0
    Letzter Beitrag: 22.05.2009, 22:26
  3. Portbelegung bei diesem Display [erledigt]
    Von Rob.Anfänger im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 18.11.2006, 18:12
  4. Portbelegung ATmega32
    Von Rob.Anfänger im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 15.11.2006, 19:59
  5. Antworten: 4
    Letzter Beitrag: 12.11.2006, 16:40

Berechtigungen

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

12V Akku bauen