Hy wollt mal fragen ob jemand ein codebeispiele hat um ein LCD im 8 Bit Modus an ein MSP430F2132 anzubinden.
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.
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 =)
LCD_Data |= BIT5 | BIT4 | BIT3; LCD_Clock(); Delay_1ms(50); LCD_Clock(); Delay_1ms(50); LCD_Clock(); Delay_1ms(50);
erst mal danke holger habs ausprobiert tut sich leider immer noch nichts hier noch das datenblatt
Keiner ne Idee? Laut datenblatt ist Doch alles du richtig oder? Verdrahtet ist auch alles richtig hmmm
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
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
holger schrieb: > LCD_Data |= BIT5 | BIT4 | BIT3; Was soll das geben? Das Datenblatt (was recht bescheiden ist was die Kommandos angeht), spricht davon das Function-Set als erstes übertragen werden soll. Für 8bit, 2/4-Zeilen, 5x8 also 0x38 Am besten schaust du mal in das Datenblatt: www.crystalfontz.com\controllers\ST7066U.pdf Das ist besser.
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.