www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PICDEM 2 plus LCD ansteuern


Autor: Johannes M. (tama)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche seit Tagen das LCD des PICDEM 2 plus mit dem mitgelieferten 
PIC16F877A anzusteuern, komme aber mit der Initialisierung irgendwie 
nicht ganz klar.
Wenn ich das Programm einfach laufen lasse, blinken die LEDs kurz auf 
und mehr passiert nicht. Das LCD bleibt aus.
Beim durchsteppen habe ich festgestellt, dass das LCD bei der 
Initialisierung angeht und bis zu Zeile 157/158 ist zumindest die obere 
Zeile schwarz und der Cursor blinkt:
  movlw  B'00001111'    ; step 9 display on, cursor on, cursor blink on 
  call  OutLCDcontrol

"OutLCDcontrol" ruft dann "LCDbusy" auf und das wiederum "BusyLoop" um 
das busy flag abzufragen. Ab Zeile 195
  bcf  LCD_RW
 geht das Display wieder aus und bleibt aus.

Ich habe zwar im Schaltplan gesehen, dass VEE des LCD über PORTD,7 ein 
oder ausgeschaltet wird, jedoch hab ich schon probiert den Pin auf high 
zu setzen - hat nicht geholfen. Außerdem ist der Pin während der 
Initialisierung auf Low und das Display ist trotzdem an!?

Wo steckt denn nun mein Fehler?

Gruß,
Johannes

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt zwei Versionen des PICDEM 2 Plus:
die ältere und eine neuere RoHS Version.
Sie unterscheiden sich aber auch in der Display-Ansteuerung.
Versuche doch mal das Original Demoprogramm von Microchip (Download von 
www.microchip.com). Im Zweifelsfall beide Versionen ausprobieren.

Autor: Johannes M. (tama)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die neuere RoHS Version (daher auch VEE an PORTD,7).
Die Originalprogramme laufen natürlich. Die versteh ich aber nicht 
wirklich, da mir dazu die Erfahrung fehlt. Initialisiert wird dort ganz 
anders.. siehe Anhang.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes M. wrote:

> Die Originalprogramme laufen natürlich. Die versteh ich aber nicht
> wirklich, da mir dazu die Erfahrung fehlt. Initialisiert wird dort ganz
> anders.. siehe Anhang.

Kannst Du eingrenzen, was Du nicht verstehst?
Sind es Assembler-Instruktionen, sind es Makros, Vorgehensweise?

Autor: Johannes M. (tama)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Vorgehensweise bei der Initialisierung. Ich hab meinen Fehler nun 
allerdings gefunden (typisch, kaum hat man gefragt stößt man selbst 
drauf) - ich musste beim schreiben auf die data-Pins sicherstellen, dass 
der VEE-Pin immer high bleibt und außerdem die Reihenfolge der 
Hi-/Lo-Bits korrigieren. (ein swap an der falschen Stelle)

Trotzdem Danke für die Antworten!

Gruß,
Johannes

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes M. wrote:
> Ich hab meinen Fehler nun allerdings gefunden (typisch, kaum hat man
> gefragt stößt man selbst drauf)

Bravo! Wenn man etwas formulieren muss, denkt man plötzlich anders 
darüber nach, und oft kommt dann die Erleuchtung.

Viel Spass mit dem Board.

Übrigens: willst Du nicht in C programmieren?

Autor: Johannes M. (tama)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Severino R. wrote:
>
> Bravo! Wenn man etwas formulieren muss, denkt man plötzlich anders
> darüber nach, und oft kommt dann die Erleuchtung.
>
> Viel Spass mit dem Board.
>
> Übrigens: willst Du nicht in C programmieren?

Eigentlich wäre das schon gut, im Moment komme ich allerdings mit 
Assembler besser zurecht und verstehe dabei sicher auch mehr, was im 
Controller vorgeht. Wenn ich die LCD Routine in Assembler fertig 
geschrieben habe kann ich sie ja von einem C-Programm aus aufrufen :)

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.