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