Forum: Mikrocontroller und Digitale Elektronik Brauche Aufklärung! Grafik LCD


von Alex (Gast)


Lesenswert?

Hallo!
ich habe mir jetzt einen LCD aus dem Nokia 3310 geholt.
erster Test ist erfolgreich verlaufen.
nun habe ich das programm etwas bearbeitet, und zwar so, dass der LCD 
meinen Namen schreibt. Klappt auch.
aber es ist so, dass der Name (oder was anderes) sich immer verschiebt.
so wie beim "Schift lcd" Befehl für Zeilen-Module.
Ich versuche gerade im Code diese Zeile, oder 2 zu finden, die dafür 
verantworlich ist. Ich möchte das nähmlich abstellen. Also das der Name 
immer oben links steht.
Hier ist der komplette code:
1
$regfile = "m16def.dat"
2
$crystal = 1000000
3
4
Config Portb = Output
5
6
Declare Sub Ukommando(byval Wert As Byte)
7
Declare Sub Udata(byval Wert As Byte)
8
Declare Sub Initialisierung
9
Declare Sub Lcdloeschen
10
11
Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4
12
13
Dc Alias Portb.0
14
Ce Alias Portb.2
15
Re Alias Portb.1
16
17
18
19
Re = 0                                                      'Reset
20
Waitus 250
21
Re = 1
22
23
Spiinit                                                     'Initialisierung der SPI-Schnittstelle
24
25
Do
26
Initialisierung
27
Lcdloeschen
28
29
Udata &H7C
30
Udata &H12
31
Udata &H11
32
Udata &H12
33
Udata &H7C
34
Udata &H00
35
36
Udata &H00
37
Udata &H00
38
Udata &H41
39
Udata &H7F
40
Udata &H40
41
Udata &H00
42
43
Udata &H00
44
Udata &H38
45
Udata &H54
46
Udata &H54
47
Udata &H54
48
Udata &H18
49
50
Udata &H00
51
Udata &H44
52
Udata &H28
53
Udata &H10
54
Udata &H28
55
Udata &H44
56
57
Wait 2
58
59
Loop
60
61
62
Sub Initialisierung
63
   Ukommando &H21                                           'Erweiterter 'Kommando-Mode
64
   Ukommando &HC8
65
   Ukommando &H06
66
   Ukommando &H13
67
   Ukommando &H20                                           'Wieder in den 'normalen Kommando-Mode
68
   Ukommando &H0C
69
End Sub
70
71
Sub Lcdloeschen
72
Local I As Word
73
   Ukommando &H20                                           'Normaler 'Kommando-Mode
74
   Ukommando &H0C                                           'Normaler 'Bildschirm
75
   Ukommando &H80                                           'Setze RAM-'Adresse auf 0
76
   Dc = 1                                                   'Sicherstellen, dass man im Daten-Mode ist
77
   For I = 0 To 503
78
      Udata &H00
79
   Next
80
End Sub
81
82
83
'--------------------------------------------------------------------------'----
84
85
Sub Ukommando(byval Wert As Byte)
86
   Dc = 0                                                   'in den 'Kommando-Mode
87
   Spiout Wert , 1
88
   Dc = 1                                                   'zurück in den 'Daten-Mode
89
End Sub
90
91
Sub Udata(byval Wert As Byte)
92
   Dc = 1                                                   'um sicher zu 'gehen, dass man auch wirklich im Datenmode ist
93
   Ce = 0
94
   Spiout Wert , 1
95
   Ce = 1
96
End Sub

hat jemand eine Idee, wie das geht?
Würde mich über jede Hilfe sehr freuen!
Danke
MfG Alex

von Alex (Gast)


Lesenswert?

ich habe so das Gefühl, dass ich unter meinen Namen nicht mehr schreiben 
soll.

von Karl H. (kbuchegg)


Lesenswert?

Jegliche Programmierarbeit mit irgendwelchen Geräten beginnt
damit, dass man sich das Datenblatt dieses Geräts besorgt und
im Datenblatt studiert, wie es angesteuert wird und welche Befehle
es versteht.
Wenn man dann noch das Glück hat einen funktionierenden Demo Code
zu besitzen, dann geht man den Code durch und untersucht, welche
Commandos zum Gerät geschickt werden. Danach überlegt man warum
es ausgerechnet diese Codes waren und was sie (laut Doku) am
Gerät bewirken. Und erst dann fängt man an, rumzuprobieren.
Wobei das Probieren nicht darin besteht, dass man wahllos
irgendwelche Codes ändert, sondern es besteht darin eine
Änderung zu machen, vorherzusagen wie sich das Gerät daraufhin
verhalten wird und abzuklären ob das tatsächlich so ist.
Ist es so, dann gewinnt man Vertrauen zu dem mentalen Modell,
dass man sich im Lauf der Zeit vom Verhalten dieses Gerätes
aufgebaut hat. Ist das Verhalten anders, dann muss man überlegen,
wo man in seinem mentalen Modell wohl einen Fehler haben könnte,
sich diverse Variationen dazu überlegen und mit dem Datenblatt
bzw. weiteren Versuchen abklären, welche es sein könnte.

> ich habe so das Gefühl, dass ich unter meinen Namen nicht
> mehr schreiben soll.´

Du machst ganz einfach deine Hausaufgaben nicht. Und irgendwann
haben die meisten keine Lust mehr, sie für dich zu machen und
dir alles vorzubeten.

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.