Hallo, ich hätte eine Frage: ich habe mir ein kleines PIC Übungsboard gebaut mit ein paar Tastern LED's und einem LCD, nun möchte ich es Testen ob das Board richtig funktioniert (Hardwaremäßig). Bisher habe ich die LED's und Taster getestet (Zur zeit bin ich erst am Anfangsstadum meiner Programmierkenntnisse) jetzt siche ich eine (villeicht fertige Lösung, vielleicht eine Bibliothek oder so was ähnliches). Ich habe das LCD wie folgt angschlossen Port PIC Pin Beschreibung RD0 - RD7 19 - 22, 27-30 8 bit Datenbus LCD - Display RE0 8 LCD - Pin ENABLE RE1 9 LCD - Pin Read/Write RE2 10 LCD - Pin RS falls jemand so ein Programm geschrieben hatt, könnte mir jemand so was schicken oder ein link? Die Ports im Programm kann ich selbst ändern. Grüße Lukas
keiner eine Idee oder einen einfachen Vorschlag?? Habe ich vieleicht umständlich die Frage formuliert?? Grüße Lukas
Hier gibts ganz viele Infos zu Deinem Problem: http://www.gidf.de/pic18f4550+lcd Ich glaube nicht, dass Du in diesem Forum jemanden finden wirst, der dir für ein unbekanntes LCD in einer unbekannten Programmiersprache ein fertiges Programm schreibt. Zu Deiner Information: es gibt nicht nur ein einziges LCD und es gibt auch mehr als nur eine Programmiersprache. Ein paar präzisere Infos wären schon nicht schlecht...
OK Sorry, werde mich bemühen um alle Daten anzugeben also noch weitere Infos: Ich verwende: Entwicklungsumgebung: MPLAB Version 8.14 Programmiersprache: Microchip C18 Brenner: ICD2 debugger (Clone) das brennen funktioniert aber ohne Probleme Controller: PIC18F4550, mit 20MHz Quarz LCD: Display 2x16 Zeichen (weis nicht was ich sonst noch angeben muss, das Display kommt von http://www.neuhold-elektronik.at/datenblatt/Display%2016216.pdf Ich hoffe ich habe jetzt alles angeben wenn nicht bitte was sagen (schreiben). Grüße Lukas
Danke vorerst, ich werde versuchen den Code auf mein Display mit 8bit Bus umzuschreiben, bin gespannt was da rauskommen wird. Grüße Lukas
In Microchips Application Maestro gibt es konfigurierbare Routinen für LCDs in C18.
Hallo, ich muss den alten Thread nochmals ausgraden ;) Ich möchte ein LCD an einem PIC18F4550 anschließen, und habe dazu den Artikel von http://www.mikrocontroller.net/articles/PIC18f4550_Experimentier_Platine genommen. Ich hab alles gleich angschlossen, der einzige unterschied zum Artikel ist der, das ich ein zweizeiliges Display verwende. Das display wird weder inizialisiert noch tut sich sonnst was auf dem Display (Kontrast ist eingestellt ;)). Ich find den Fehler nicht, angschlossen ist's richtig, hab in der While schleife noch eine als kontrolle Blinken lassen (diese tut dies auch auf dem Board. Ich dachte schon das mein LCD zu langsam ist, darum habe ich noch die Delays hinzugefügt, gebracht hats nichts... Weiß da jemand weiter? Grüße Lukas (Das gesamte Projekt ist im Anhang)
Hi Lukas. Ich hab hier eine 2x16 LCD LIB, allerdings nur für den 4-Bit Modus. Hab die auch schon getestet und funktioniert eigentlich ganz gut. Da ich LCDs bisher nur im 4-Bit Modus am Laufen hatte kann ich Dir leider bei deinem Problem nicht weiterhelfen. Die LIB arbeitet mit dem weit verbreiteten Hitachi HD44780 Interface Chip. Falls Dich die LIB interessiert, dann sag Bescheid und ich lad sie hier hoch :) MfG Darkleon
>Das display wird weder inizialisiert noch tut sich sonnst was auf dem >Display (Kontrast ist eingestellt ;)). Wenn das Display nicht initialisiert wird kann sich auch nix tun. Passt denn die Taktrate zu den entsprechenden Zeiten? Ich weiß jetzt nicht welche Taktrate da im Artikel gilt aber so ein paar ms musst du dem LCD zu Initialisierung geben damit der LCD-Controller aus dem Trott kommt.
Wenn das display initialiesiert ist, dann gehn mal die Balken auf dem Display aus oder? Das macht es jetzt nicht. Ich hab mir jetzt den Code aus dem Artikel nochmasl genau angesehen: Ich kann nirgens finden wo die Konfigurations Bits gesetzt werden --> sie mussen im MPLAB konfiguriert werden oder ich isch schreib in der main.c ganz oben nach den includes: #pragma config FOSC = HS //20 MHz #pragma config PWRT = ON #pragma config BOR = OFF #pragma config WDT = OFF #pragma config LVP = OFF Dann steht noch irgendetwas über Interrups drin, hoff mal ds ich das nicht brauche: Mainer Logik nach müsste ich das diisplay korrekt anschließen, un dann söllte es einfach funktionieren, ohne dass ich an irgendeinem Port was ändere. Hat irgendjemand einen Funktionierenden Code für ein 2 ZEiliges LCD Display, mit C18? In dem Angefügten Projekt, hab ich mit Maestro die Files generieren lassen: -8Bit MOde an Port B -20MHz Takt - PIC Port D0 = LCD RS - PIC Port D1 = LCD RW - PIC Port D2 = LCD E Weis nicht mehr weiter stehe komplett an, hab schon die Maestro Application von MIcrochip probiert, wenn ich diese Komplemiere kommen folgende Fehlermeldungen: ---------------------------------------------------------------------- Debug build of project `C:\Users\Lukas\Desktop\lcd_mp\lcd.mcp' started. Language tool versions: mplink.exe v4.22, mcc18.exe v3.22 Preprocessor symbol `__DEBUG' is defined. Sat Dec 05 13:20:19 2009 ---------------------------------------------------------------------- Clean: Deleting intermediary and output files. Clean: Done. Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4550 /i"C:\mcc18\h" "xlcd.c" -fo="C:\Users\Lukas\Desktop\lcd_mp\xlcd.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:82:Error [1205] unknown member 'RB0' in '__tag_44' C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:82:Error [1131] type mismatch in assignment C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:297:Error [1205] unknown member 'RB0' in '__tag_44' C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:297:Error [1131] type mismatch in assignment C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:368:Error [1205] unknown member 'RB0' in '__tag_44' C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:368:Error [1131] type mismatch in assignment C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:427:Error [1205] unknown member 'RB0' in '__tag_44' C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:427:Error [1131] type mismatch in assignment C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:442:Warning [2053] return value expected C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:451:Warning [2053] return value expected C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:623:Error [1205] unknown member 'RB0' in '__tag_44' C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:623:Error [1131] type mismatch in assignment C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:693:Error [1205] unknown member 'RB0' in '__tag_44' C:\Users\Lukas\Desktop\lcd_mp\xlcd.c:693:Error [1131] type mismatch in assignment Halting build on first failure as requested. ---------------------------------------------------------------------- Debug build of project `C:\Users\Lukas\Desktop\lcd_mp\lcd.mcp' failed. Language tool versions: mplink.exe v4.22, mcc18.exe v3.22 Preprocessor symbol `__DEBUG' is defined. Sat Dec 05 13:20:20 2009 ---------------------------------------------------------------------- BUILD FAILED Vielleicht weiß irgendjeamd irgendwas was da sein kann. Grüße Lukas
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.