PIC18F4550 und LCD

OP Persönliche Seite #1114655
Lesenswert?

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
Gast #1114828
Lesenswert?

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...
OP Persönliche Seite #1114869
Lesenswert?

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
OP Persönliche Seite #1507970
Lesenswert?

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)
Angehängte Dateien:
Gast #1508208
Lesenswert?

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
Gast #1508253
Lesenswert?

>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.
OP Persönliche Seite #1508385
Lesenswert?

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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren