Forum: Mikrocontroller und Digitale Elektronik LCD an PIC16F877


von Marco S. (sharkman)


Angehängte Dateien:

Lesenswert?

Hallo erstmal.

bin neu hier und beschäftige mich seid ca. 6 Wochen mit PIC 
programmierung. ich habe es auf assembler gelernt, und würde das auch 
gerne beibehalten.

ich habe jetzt folgendes problem. ich wollte ein lcd ansteuern, aber ich 
krieg es einfach nicht dazu einen text auszugeben. es soll mit 8bit 
angesteuert werden. erstmal zumindest, vielleicht wird das irgendwann 
auch noch mal geändert, aber hauptsache es läuft erstmal. Ich habe schon 
versucht die signale mit denen von der ansteuerung auf sprut.de mit dem 
16f84a im logicanalyzer von mplab abzugleichen, allerdings ohne erfolg.

der quelltext ist im anhang. vielleicht kann mir ja jemand sagen was ich 
da noch falsch mache. würde mich sehr freuen, da ich da langsam dran 
verzweifle. ich werkel nun schon fast 2 wochen dran, allerdings ohne 
erfolg.

mfg
marco

von Uwe N. (ulegan)


Lesenswert?

Deine Zeitschleifen sind keine Schleifen:

  movlw  D'250'
  movwf  ZEIT
delay1
  call   WAIT_1ms      ; mindestens 15ms auf ende des internen reset 
warten (hier 20ms)
  decfsz  ZEIT, 1
; hier muss ein goto rein!!!
  goto     delay1


  movlw  B'00110000'      ; Interface auf 8bit setzen
  call  SCHREIBEN

von Marco S. (sharkman)


Lesenswert?

so hab ich geändert, aber bringt immer noch kein ergebnis. das display 
zeigt nichts an. nicht mal nen schwarzen balken oder ähnliches, wie man 
es kennt wenn man das ganze am parallel port vom pc hat.

von Uwe N. (ulegan)


Lesenswert?

Kommt der schwarze Balken, wenn du beim Einschalten den Prozessor im 
Resetzustand hältst?
Wenn nein:
Kontrastspannung ok?
Ist es evtl ein Display für den erweiterten Temperaturbereich, dass eine 
negative Kontrastspannung braucht?

Das mit der Schleife steht übrigens drei mal im Text.
Der Rest des Programms kommt mir etwas kompliziert, aber nicht ganz 
verkehrt vor.

von Marco S. (sharkman)


Lesenswert?

wie halt ich den denn im ruhezustand? wo muss ich ihm dann den sleep 
befehl geben oder ist das sogar ein anderer befehl?

von Marco S. (sharkman)


Lesenswert?

sorry, ich kann scheinbar nicht lesen. wie halt ich den denn im reset 
zustand?

von Marco S. (sharkman)


Lesenswert?

also auch im resett zustand kommt kein schwarzer balken.

wenn die kontrastspannung = displayspannung ist, dann hat sie bei mir 
0,44V und laut datenblatt soll sie zwischen 0V und 0,5V liegen

von Thomas M. (thomas1123) Benutzerseite


Lesenswert?

kontrastspannung ist meist auch Vee genannt nimm nen poti von + 5V nach 
gnd und den schlaifer über nen 1k wiederstand an Vee dann drehen und 
gucken ob was passiert

von Marco S. (sharkman)


Lesenswert?

hab ich mittlerweile gemacht, und bin zu dem entschluss gekommen, dass 
meine lcds wohl alle kaputt sind. neue werden nachher noch bestellt.

wenn die da sind, meld ich mich nochmal

von tastendrücker (Gast)


Lesenswert?

>wenn die kontrastspannung = displayspannung ist, dann hat sie bei mir
>0,44V und laut datenblatt soll sie zwischen 0V und 0,5V liegen

Sicher? Nicht eher 0V - 5V?

von Marco S. (sharkman)


Lesenswert?

also laut datenblatt zwischen 0 und 0,5V aber da ich eh vermute, dass 
das gute stück hin ist, kann ich ja auch einfach mal 5V anlegen

von Marco S. (sharkman)


Lesenswert?

so ich hab mal nen foto von dem gemacht, was das gute stück ausgibt, 
wenn ich nur vdd, vss, vee, und hintergrundbeleuchtung anhab.
http://sharky83.de/S5001159.JPG

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
Noch kein Account? Hier anmelden.