mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18F4550 und LCD


Autor: Lukas B. (lukas-1992) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lukas B. (lukas-1992) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keiner eine Idee oder einen einfachen Vorschlag??
Habe ich vieleicht umständlich die Frage formuliert??

Grüße
Lukas

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Lukas B. (lukas-1992) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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/Displa...

Ich hoffe ich habe jetzt alles angeben wenn nicht bitte was sagen 
(schreiben).

Grüße Lukas

Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lukas B. (lukas-1992) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke vorerst, ich werde versuchen den Code auf mein Display mit 8bit 
Bus umzuschreiben, bin gespannt was da rauskommen wird.

Grüße Lukas

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Microchips Application Maestro gibt es konfigurierbare Routinen für 
LCDs in C18.

Autor: Lukas B. (lukas-1992) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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...
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)

Autor: Darkleon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lukas B. (lukas-1992) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

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.