Hi,
bin gerade dabei daten an das display Nokia 3310 zu senden,
das funktioniert auch teilweise.
Wenn eine taste gedrückt wird, wird was Übertragen und am Display ausgegeben.
Wird noch mal gedrückt wird es dann in einer anderen Position Ausgegeben.
Wie kann ich es anstellen, das nach Tastendruck die Ausgabe immer an der
selben stelle erscheint?
Unterprogramme:
Tastendruck:Code:Declare Sub Ukommando(byval Wert As Byte) Declare Sub Udata(byval Wert As Byte) Declare Sub Initialisierung Declare Sub Lcdloeschen Declare Sub Keypressed Declare Sub Menueuhr Declare Sub Menuetrip1 Declare Sub Menuetrip2 Declare Sub Menuekm
Nach dem Tastendruck (menü):Code:Do Debounce Pind.0 , 0 , Keypressed , Sub Loop
Unterprogramm:Code:Sub Keypressed Select Case Menue Case Menueuhr : Menuetrip1 Case Menuetrip1 : Menuetrip2 Case Menuetrip2 : Menuekm Case Else : Menueuhr End Select End Sub
Initialisierung:Code:' ----------------Uhr des Menüs---------------------------------------------- Sub Menueuhr Lcdloeschen Udata &H3F Udata &H40 Udata &H40 Udata &H40 Udata &H3F Udata &H00 Udata &H7F Udata &H08 Udata &H08 Udata &H08 Udata &H7F Udata &H00 Udata &H7F Udata &H09 Udata &H19 Udata &H29 Udata &H46 Menue = Menueuhr End Sub ' ----------------Trip1 des Menüs---------------------------------------------- Sub Menuetrip1 Lcdloeschen Udata &H01 Udata &H01 Udata &H7F Udata &H01 Udata &H01 Udata &H00 Udata &H7F Udata &H09 Udata &H19 Udata &H29 Udata &H46 Udata &H00 Udata &H00 Udata &H41 Udata &H7F Udata &H41 Udata &H00 Udata &H00 Udata &H7F Udata &H09 Udata &H09 Udata &H09 Udata &H06 Udata &H00 Udata &H00 Udata &H42 Udata &H7F Udata &H40 Udata &H00 Menue = Menuetrip1 End Sub
Display Löschen:Code:' ----------------Initialisierung---------------------------------------------- Sub Initialisierung Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &H13 'Bias (Kontrast) Einstellung Original Nokia = &H13 Ukommando &HA8 'Kontrasteinstellung Original Nokia = &HC8 Ukommando &H06 Ukommando &H0C Ukommando &H20 'Wieder in den normalen Kommando-Mode End Sub
Kommando & Daten senden:Code:' ----------------Display Löschen---------------------------------------------- Sub Lcdloeschen Local I As Word Ukommando &H20 'Normaler Kommando-Mode Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 'Setze RAM-Adresse auf 0 Dc = 1 'Sicherstellen, dass man im Daten-Mode ist For I = 0 To 503 Udata &H00 Next End Sub
Das Datenblatt vom Nokia hab ich mir schon angesehen, komm jedoch damit nicht klar.Code:'------------Kommando Senden--------------------------------------------------- Sub Ukommando(byval Wert As Byte) Dc = 0 'in den Kommando-Mode Spiout Wert , 1 Dc = 1 'zurück in den Daten-Mode End Sub '------------Daten Senden------------------------------------------------------ Sub Udata(byval Wert As Byte) Dc = 1 'um sicher zu gehen, dass man auch wirklich im Datenmode ist Ce = 0 Spiout Wert , 1 Ce = 1 End Sub
http://www.mikrocontroller.net/attac...82/pcd8544.pdf
Da steht das man in der X Richtung das z.B. so machen kann:
"&B10000100"
Jetzt sollte es im Achten Pixel beginnen, macht er aber nicht.
Ich hoffe da kann mir einer weiterhelfen!







Zitieren
Lesezeichen