Hallo, ich beschäftige mich seit kurzem mit LCDs und habe mir dazu vorallem Infos von der Seite www.sprut.de geholt. Dort gibt es ein einfaches Beispiel mit einem 16F84A (http://www.sprut.de/electronic/pic/programm/lcd.htm). Da ich zu Hause noch einen 16F877 rumfliegen habe, würde ich das Beispiel gerne für diesen modifizieren, nachdem ein komplett selbstgeschriebenes Programm nicht funktioniert hat. Ich möchte gerne mit einem 8-bit-Interface arbeiten; schließlich hat der 877er genug I/O-Leitungen. Also sollen später die drei Steuerleitungen an PE0..2 liegen und die Daten über PD0..7 verschickt werden. Ich habe damit begonnen den Quelltext zu modifizieren und habe es inzwischen immerhin geschafft die Daten(4-Bit) und Steuersignale alle über PortD laufen zu lassen. Der Code befindet sich in mod1.asm im Anhang. Er funktioniert in Proteus. In mod2.asm habe ich nichts verändert, außer dass die Steuerleitungen nichtmehr PD0..2 sind sondern PE0..2; im Code und natürlich auch in der Schaltung. Aber dieser Code funktioniert nicht mehr. Ich suche jetzt schon seit zwei Tagen nach dem Fehler und finde einfach nichts. Vielleicht findet ja jemand von euch den Fehler. Der Code lässt sich einwandfrei assemblieren und laden. Nur er entlockt dem LCD keinen Ton mehr. Danke für die Hilfe. The Scientist
irgendwie hat das mit dem Anhang nicht ganz geklappt. Deshalb hier: http://buschensen.bu.funpic.de/LCD.zip
Port A und Port E sind nach einem Reset als Analog-Eingang definiert. Diese müssen in der "INIT" durch laden des ADCON1-Registers erst auf digital I/O umgeschaltet werden. Im Link sind die Probleme beim Umstieg von 16F84 auf 16F876 beschrieben. http://www.sprut.de/electronic/pic/fallen/fallen.html#analog
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.