8 bit LCD an MSP430F2132

Gast #2174604
Lesenswert?

Codebeispiel habe ich leider keines, aber wenn man sich einen möglichst 
einfachen Beispielcode für AVR heraussucht, die Portzugriffe und 
Delay-Routinen an die Konventionen des MSP anpaßt und daran denkt, daß 
das Display wahrscheinlich mit 5V läuft, der MSP aber eher mit 3,3, dann 
könnte das eigentlich ganz gut gehen. Kann sein, daß man vom Busy-Flag 
lesen absehen sollte, wenn man keine Schutzbeschaltung hat.

Aber: Findet sich denn kein LCD-Beispiel z.B. für den MSP430F149 oder 
ähnliche, gebräuchliche Typen? So anders ist der F2132 nicht, man könnte 
so ein Beispiel dann fast 1:1 übernehmen.
Gast #2192478
Lesenswert?

So erst mal danke für die Hilfe.
Hab mal angefangen selber was zu schreiben aber des will irgendwie immer 
noch nicht. Das Display zeigt immer noch die 2 Streifen =(
Kann mir vllt irgend jemand helfen

Hier die Port Belegung:

P1.5 RS
P1.6 RW
P1.7 EN
P2.0 DB0
P2.1 DB1
P2.2 DB2
P2.3 DB3
P2.4 DB4
P2.5 DB5
P2.6 DB6
P2.7 DB7

und meine Code und das Datenblatt des Displays.
Die Timmings stimmen soweit.

wäre echt net =)
Angehängte Dateien:
Gast #2193069
Lesenswert?

Hallo Hannes ,
hast du ordentlich Initialisiert dein Display
habe nur Beispiel F149 und assembler
lCD hängt am Port 3 und 4
habe auch lange rumprobiert .
nach der LCD initialisierung sollte nichts in der anzeige zu sehen sein
ansonsten Kontast poti drehen V0 hast du doch dran ?
schon mal mit einen einfachen Diplay probiert ?

    RSEG CODE

LCD       call      #Warte
          mov.b      #030h,&P3OUT        ;Innitialisierung LCD!
          call      #Warte
          mov.b      #00h,&P4OUT
          call      #Warte
          mov.b      #04h,&P4OUT
          call      #Warte
          mov.b      #00h,&P4OUT
          call      #Warte
          mov.b      #04h,&P4OUT
          call      #Warte
          mov.b      #00h,&P4OUT
          call      #Warte

          mov.b      #04h,&P4OUT         ;Funktion set
          call       #Warte
          mov.b      #038h,&P3OUT       ;38h ist richtig für ganzes 
display
          call       #Warte
          mov.b      #00h,&P4OUT
          call      #Warte
          mov.b      #04h,&P4OUT

          call       #Warte             ;Display an
          mov.b      #0Ch,&P3OUT
          call       #Warte
          mov.b      #00h,&P4OUT
          call       #Warte
          mov.b      #04h,&P4OUT

          call       #Warte             ;Display löschen
          mov.b      #01h,&P3OUT
          call       #Warte
          mov.b      #00h,&P4OUT
          call       #Warte
          mov.b      #04h,&P4OUT

          call       #Warte             ;Entry Mode set
          mov.b      #06h,P3OUT         ;6h ist schieben und nach 
rechts!
          call       #Warte
          mov.b      #00h,&P4OUT
          call       #Warte
          mov.b      #04h,&P4OUT         ;Ende initialisierung ?
          Ret

Zweite    mov.b     #04h,&P4OUT
          call      #Warte2
          mov.b     #0A8h,&P3OUT         ;Zweite zeile anfang
          call      #Warte2
          mov.b     #00h,&P4OUT
          Ret

Erste     mov.b     #04h,&P4OUT
          call      #Warte2
          mov.b     #02h,&P3OUT         ;Return home
          call      #Warte2
          mov.b     #00h,&P4OUT
          Ret
Loesche   mov.b      #04h,&P4OUT        ;Display löschen
          call       #Warte
          mov.b      #01h,&P3OUT
          call       #Warte
          mov.b      #00h,&P4OUT
          ;call       #Warte
          ;mov.b      #04h,&P4OUT
          Ret

Warte     mov       #500h,Warten
Warte1    Dec       Warten
          JNZ       Warte1
          Ret

Warte2    mov      #0100h,Warten         ;100h  test
Warte3    Dec       Warten
          JNZ       Warte3
          Ret
Gast #2193105
Lesenswert?

Also Kontrast hab ich schon rumprobiert aber hat nichts geholfen und Sry 
assembler hilft mir gar nicht weiter hab ich nahmlich keine Ahnung davon 
bin Grad wieder am rumprobieren aber geht leider immer noch nicht

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren