mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 4x27 LCD am P16F84A


Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin.

Habe hier folgendes Problem:

Versuche ein LCD Dispay (2xHD44780) an einem P16F84A zu betreiben, aber
anscheinend fehlt mir noch die nötige Erfahrung oder einfach das Wissen
dazu.

Habe bereits ein Programm geschrieben und das LCD an den PIC
angeschlossen. Nu passiert aber nicht viel nachdem ich den Saft
einschalte.

Normalerweise sollte es initialisiert werden und anschliessend sollte
ein "A" erscheinen.

Hier ist das Programm: http://home.arcor.de/stowoda/source.asm


Bin dankbar für Euere Hilfe!

Gruß

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Wartezeiten nach den einzelnen Initialisierungs-Kommandos stehen
nicht aus Jux in der Doku, die sind nötig.

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir auch mal die Kontrastspannung des LCDs an. Hatte mal ein
Studiumskollege, der 2 Tage nach nem Fehler in der Initialisierung
gesucht hatte, wobei diese richtig war -> nur der Kontrast war falsch
eingestellt und somit keine Ausgabe erkennbar.

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem Kontrast ist alles io. Habe das LCD bereits am Parallelport
getestet. danke!
Werde mal die Zeiten genauer timen, mal sehen. Bin relativ neu auf
diesem Gebiet, deswegen liegt es bestimmt nciht nur an einem Fehler.
Najna, mal sehn.

thx so far

Gruß

Lukas

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Son Mist..
Habe den Fehler nun gefunden. Am liebsten würde ich ihn gar nicht
zugeben wollen. RA2 sowie RB3 an meiner Testplatine waren nicht mit dem
PIC verbunden..

Gruß

Lukas

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

Habe nun alle Kabel geprüft und jede Verbindung getestet.
Hardwaremässig ist alles 100% io.

Leider konnte ich immer noch keinen Erfolg verbuchen was die
Erfolgreiche Initialisierung des LCDs angeht.
Hab nun ein neues Programm geschrieben und es auch auf die Zeiten
getestet. Die mindestzeiten von 15ms, 4.1ms sowie 100µs werden, dort wo
es relevant ist, eingehalten.
Habe mich sogar dazu entschlossen das BusyFlag prüfen zu lassen, bevor
das LCD angesprochen wird.
Im Code sieht alles ganz ok aus. Jedoch will es nicht so funktionieren
wie ich es mir gedacht habe.
Hoffentlich kann mir jemand von Euch auf die Sprünge helfen...

Ahso.. Als ich den Saft das erste mal eingeschaltet habe, nachdem ich
das neue Programm in den PIC gebrannt habe, funktionierte es sofort.
Die Initialisierung schien erfolgreich verlaufen zu sein und der Cursor
blinkte in der linken, oberen LCD Ecke.

Seit dem klappt es nicht mehr.
..
Wieso?
Womit kann es zusammenhängen..
Mussi ich das LCD etwa resetten oder ähnliches?

Bin leider am ende mit meinem Latein und deswegen auf Eure Hilfe
angewisen.

Wenn also jemand Zeit und Lust hat, kann er sich ja mal den Code
angucken und eventuell sein Feedback abgeben.
Wäre sehr dankbar.

hier ist der Link zum code:
http://home.arcor.de/stowoda/LCD/source_08.asm

und hier der Leitfaden zur Ansteuerung des LCD:
http://home.arcor.de/stowoda/LCD/Text-LCDs.pdf

Gruß

Lukas

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Hab den Fehler!

Aber wie stelle ich nun Zeichen dar, nachdem die Initialisierung
erfolgreich war?
zB. für eine "0" einfach 0x30h auf port B ?

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was war denn dein Fehler?

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Endlosschleife an falscher Stelle.

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich nun ein Zeichen darstellen will, funzt es nicht.
Bekomme immer nur einen Punkt in der rechten unteren ecke des 5x8
Kästchens. Dabei sollte doch 00110000 einer Null entsprechen..
Hmm.

Weiss jemand Rat?

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Idee?

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:
  • 03.zip (14,7 KB, 20 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Für PIC habe ich kein Beispiel. Nur für AVR (Mega8).
Es ist Baustelle und war nur zum "Spielen" gedacht. Der Zugriff auf
das 4x27-LCD von Pollin klappt aber gut. Vielleicht bringt dich die
Analyse des Programms (der Algorihmen) ja auf neue Ideen.

Was war denn nun dein Fehler??

...

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe so einige Fehler begangen..

Also zuerst war meine Testplatine nicht 100% io.
Später stellte sich raus, dass meine Verzögerungsschleifen nicht gut
genug getimed waren. (nun hoffe ich, dass sie es sind)
Als letztes habe ich eine Endlosschleife, die den PIC nachdem er das
LCD angesteuert hat, beschäftigen sollte.

diese Zwei Zeilen habe ich aus Versehen an die falsche Stelle gepackt
und das Prog blieb hängen lange befor es fertig war mit der
Initialisierung des LCD.

noend
  goto  noend

nun, habe ich alles soweit überarbeitet, bekomm aber nur komische
Punkte dargestellt.


Offensichtlich ist da noch was faul. Hoffe, dass ich da bald
hinterkomme, oder vielleicht jemand aus dem Forum einen
Lösungsvorschlag unterbreitet.

Gruß

Lukas

ps: danke Dir für Deinen code..

Autor: Lukas Abracadabra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun..

Es klappt alles soweit. Habe wohl die relevanten Bugs entfernen
können.
Wenns jemanden interessiert hier der Code:
http://home.arcor.de/stowoda/LCD/08/source.asm

Gruß

Lukas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.