PICDEM 2 plus LCD ansteuern

OP #1066991
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:
1
  movlw  B'00001111'    ; step 9 display on, cursor on, cursor blink on 
2
  call  OutLCDcontrol

"OutLCDcontrol" ruft dann "LCDbusy" auf und das wiederum "BusyLoop" um 
das busy flag abzufragen. Ab Zeile 195
1
  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
Angehängte Dateien:
#1067143
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?
OP #1067850
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
#1067966
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?
OP #1068914
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.