Forum: Mikrocontroller und Digitale Elektronik 2x8 LCD mit 16f84a ansteuern


von Phil (Gast)


Lesenswert?

Hallo, bin total der Anfänger mit Pic. Ich will ein 2x8 LCDisplay mit 
dem 16f84a ansteuern (in Assembler) und hab keine Ahnung, wie ich das 
Display initialisieren soll. Hat jemand eins zufällig gemacht oder ist 
jemand so flink und hilft mir da weiter? Ich will wenigstens, dass der 
Cursor blinkt...weiter pack ich es bestimmt. Das Display hat den 
Baustein KS066.

von Ralf M. (Firma: Titel) (ego)


Lesenswert?

Wie immer bei PIC problemen hilft http://www.sprut.de/ weiter.
MFG
Ralf

von Phil (Gast)


Lesenswert?

Hat da jemand zufällig ein Beispiel?

  Init

      bsf    status,rp0        ; Bank 1 aufrufen
      movlw    B'00000000'        ; PortB alles Ausgänge
      movwf    trisb
      bcf    status,rp0        ; verlasse Bank 1
so erstmal ok?

von Sascha (Gast)


Lesenswert?

Das macht PORTB zum Ausgang. Dem LCD ist das aber egal.

von Sebastian H. (sebihepp)


Angehängte Dateien:

Lesenswert?

Wir müssten schon wissen, wie das LCD an den PIC angeschlossen ist.
(Welche Ports)

Ansonsten stelle ich dir mal meine Routine zur Verfügung. Ich konnte
sie noch nicht testen, die Platine lässt noch auf sich warten. Aber
du bekommst vielleicht mal einen überblick.

Die Funktion ist für das "EA DIPS082-HNLED" mit dem KS0066 ausgelegt.
Benutzt wird ein PIC18F4550 also kannst du den Code so nicht
verwenden, da mein PIC einen größeren Befehlssatz und ein anderes
Speichermanagement besitzt. Also nicht wundern, wenn hinter den
Assembleranweisungen noch eine 0 oder 1 steht. Eine 0 bedeutet
Zugriff in die Special-Function-Register (PORTA, TRISA, STATUS, ...)
und eine 1 einen Zugriff auf den frei benutzbaren Speicher.
Grob könnte man sagen: eine 0 bedeutet eine Adresse zwischen
0x00 und 0x19 bei dir und eine 1 meint eine Adresse ab 0x20 aufwärts.
Allerdings ist die Bank noch nicht berücksichtigt.

Du müsstest noch die Delay-Routinen an deine Taktrate anpassen.
Meine sind für 10MHz ausgelegt (Also für einen 40MHz Quarz).

Ich könnte dir die Routinen anpassen, bräuchte dann aber wie weiter
oben schon gesagt die Portbelegung.

Viele Grüße
Sebihepp

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.