Hallo liebe Forumgemeinde ich habe folgendes Problem.
Ich möchte mein LCD anhand einer einfachen LCD Initialisierung testen,
nur leider reagiert dieses nicht und da für mich der Bereich LCD Neuland
ist wäre ich für etwas Hilfe sehr dankbar!
Zur Hardware:
Es handelt sich um ein Großdisplay von Toshiba mit dem KS0066U
Controller und wird mit negativer Kontrastspannung über eine
Ladungspumpe gespeist. Somit wird mir die 1. und 3. Zeile mit Kästchen
angezeigt und die Kontrasteinstellung funktioniert.
Die Datenpins sind an PORTB des PICs angeschlossen, PORTE dient als
Anschluss für E, R/W und RS.
Als Taktquelle verwende ich einen externen 16MHz Quarz.
Programmiert wird dies alles über die ICSP Schnittstelle, MPLAB und dem
PICKit 2.
Zur Software:
Ich selbst sehe leider keinen Fehler oder wo sich der PIC verrennen
könnte. Evtl. seht ihr ja mehr da ich solangsam nichtmehr weiter weiß.
Solltest du konkrete Probleme haben, beantworte ich sehr gerne deine gezielte Fragen, habe aber leider keine Zeit (sprich: Lust) jedes Zeichen deines Programms zu prüfen.
Das gefällt mir sehr. Ich bin der Meinung, dass wenn jemand in eigenem Programm keine Fehler finden kann, ist das nicht seiner ...
Mein Ehrfahrungstipp: Jedes sogar kompliziertesten Programm in möglichst kleinen Schritten aus ausprobierten Fragmenten zusammensetzen...
In deinem Fall würde ich z.B. mit Initialisierengs des Displays anfangen und erst wenn alle 4 Zeilen gleich werden, versuche ich ein Zeichen schicken und prüfen ob er dort ist wo ich will, usw....
Übrigens, ich habe bisher nichts auf einmal geschafft und mit allem auch mal angefangen.
Das ist für mich viel durchsichtlicher und wenn es angeblich funktioniert, weil du über keine Probleme mehr schreibst, dann freue ich mich, so wie du ...
Weiter so, dann bist du immer Erfolgreich, mann muss an sich glauben, dann geht alles ...
ups dann habe ich anscheined die "Problematik" vergessen :].
Jetzt müsste ich ja praktisch Daten an das Display senden ? Das es mir wenigstens irgendetwas mal anzeigt ? Wie muss ich da nun weiter vorgehen.
Denn so wie der Code in der test3.asm beschrieben geht es leider nocht nicht.
Ich bin schon so verzweifelt das ich am überlegen bin mir einfach eine Zusatzplatine mit 8 LEDs zu basteln und den späteren Sensorabstand dann hier einfach anzeige. Hätte nicht gedacht dass das LC-Display so kompliziert ist :/
Es gibt ein Unterschied, ob man das Display mit allen zur Verfugung stehenden Optionen, oder so wie ich bisher einfach, nur Zeichen an bestimmte Stelle schreiben möchte.
Ich habe bisher immer die einfachste für mich Version gewählt und kein "Disolay löschen", "Cursor home", usw. benutzt, weil es für mich nur Code- und Zeitfressende und unnötige "Spielerei" ist.
Um ein Zeichen an Bestimmte Adresse zu schicken, muss sie durch bestimmten Befehl aus dem Befehlsatz des Displaycontrollers zuerst geschickt werden und nachfolgend das gewünschtes Zeichen. Die Adresse bei mehreren Zeichen wird automatisch hochgezählt, wenn das Display so initialisiert ist. Deswegen braucht man nur die Anfangsadresse der gewünschter Zeile senden und weiter gewünschte Anzahl für diese Zeile vorgesehenen Zeichen.
Nicht verzweifeln, sondern mit Spass damit spielen, ist am effizientesten beim Lernen ... !
achso, wusste nich das diese "Spielerei" auch eine ist, dachte dies müsste man machen. Puh ich glaube da muss ich mich dann mal intensiv in die LCD Welt einarbeiten
Aber nun das kleine Update:
Habe mir nun auf die schnelle eine LED Platine gebastelt. Also 8 LEDs belegen nun den PORTD, mit einer einfachen Ausgabe konnte ich diese auch ansprechen und diese leuchten auch .
Nun möchte ich eben diese Anzeige dafür nutzen das mir der Schaltabstand eines analogen Sensors der über einen MAX11600 an der I2C Schnittstelle hängt angezeigt wird.
LED1=1cm
LED2=2cm usw.
Habe die Kennlinie vom Sensor aufgenommen um somit die Ausgangsspannung für die verschiedenen Schaltabstände zu erreichen.
Nun aber meine Frage:
Ich habe ja eine Speicherzelle als RDATA festgelegt, wie kann ich nun diesen digitalen Wert, den ich ja nicht kenne anhand meiner Spannungen (Sensor) abfragen lassen ? Ich hatte da mal etwas wegen einem DDW (Digitals Daten Wort) gehört ?
Der Code steht soweit bis eben auf diese Abfrageschleife. Wäre für Hilfe wie immer dankbar
Lesezeichen