mikrocontroller.net

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


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
$regfile = "m16def.dat"
$crystal = 1000000

Config Portb = Output

Declare Sub Ukommando(byval Wert As Byte)
Declare Sub Udata(byval Wert As Byte)
Declare Sub Initialisierung
Declare Sub Lcdloeschen

Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4

Dc Alias Portb.0
Ce Alias Portb.2
Re Alias Portb.1



Re = 0                                                      'Reset
Waitus 250
Re = 1

Spiinit                                                     'Initialisierung der SPI-Schnittstelle

Do
Initialisierung
Lcdloeschen

Udata &H7C
Udata &H12
Udata &H11
Udata &H12
Udata &H7C
Udata &H00

Udata &H00
Udata &H00
Udata &H41
Udata &H7F
Udata &H40
Udata &H00

Udata &H00
Udata &H38
Udata &H54
Udata &H54
Udata &H54
Udata &H18

Udata &H00
Udata &H44
Udata &H28
Udata &H10
Udata &H28
Udata &H44

Wait 2

Loop


Sub Initialisierung
   Ukommando &H21                                           'Erweiterter 'Kommando-Mode
   Ukommando &HC8
   Ukommando &H06
   Ukommando &H13
   Ukommando &H20                                           'Wieder in den 'normalen Kommando-Mode
   Ukommando &H0C
End Sub

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


'--------------------------------------------------------------------------'----

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

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 

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

Autor: Alex (Gast)
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.