www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nokia Display - Bitte helft mir !!!


Autor: Lightning (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe einen Code zur Ansteuerung des bekannten
NOKIA 6100 Farbdisplays, in AVR-Assembler, geschrieben.
Wie das hald bei etwas fortgeschrittenen Anfängern so ist, funktioniert
der Code nicht. Nun versuche ich schon seit einem
Monat oder länger, den Fehler zu finden. Ich habe auch
mehrmals in den anderen Foren über dieses Display gestöbert
aber nichts gefunden was mir weiterhelfen konnte.

Im Anhang ist mein Code als Textdatei.

Ich hoffe die Profis unter euch oder sonst wer
kann mir den/die Fehler zeigen und mir sagen wie
ich diesen entfernen kann.

Ich währe sehr Dankbar dafür.

Ich benutze den ATmega8L (3.3V) mit 1MHz internem Takt.


~ Mfg. Lightning

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß denn keiner eine Antwort ???

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es vieleicht an der Command Routine liegen ???

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Will denn keiner was dazu sagen ??

Autor: Fasti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich kann dir leider bei deinem Problem nicht direkt helfen ABER:
Bist du dir sicher, dass das Display eines mit Philips Controller und
nicht mit Epson ist? Angeblich werden die Philips Displays seit einem
Jahr nicht mehr produziert (stand im Codesammlungspost zum Nokia 6100
Display). Sollte es ein Philips sein und es trotzdem nicht
funktionieren und du Hardwareprobleme (wegen Pegelwandlung 5V-3V)
auschliessen kannst, dann solltest du mal ape oder Hagen kontaktieren,
die sind hier die Profis. Eventuell unter www.apetech.de im Forum
probieren.....

mfg

Fasti

Autor: frankieboy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lightning

Also so wie ich das sehe, wird in display_data und display_command nach
diesen Sprüngen

brcs csub1
brcc csub2

brcs dsub1
brcc dsub2

ein return durchgeführt, das heisst es wird die subroutine beendet und
nur ein bit und nicht 8 bit gesendet.

Gruss
Frank

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Erstmal Danke für die Antworten.

@Fasti
Ja es ist eines mit Phillips Controller (Braun mit Lötpads)
und es hat nirgends Hardwareprobleme. Das Display
funktioniert einwandfrei da ich es mit dem C-Code von
www.apetech.de getestet habe.

@frankieboy
Ja das könnte das Problem sein aber springt
das ret nicht wieder dorthin wo die subroutine
aufgerufen wurde ???

Wenn nein, wie muss ich meinen Code ändern damit es
das nicht macht ??


~Mfg. Lightning

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Wie das hald bei etwas fortgeschrittenen Anfängern..."
Meintest Du nicht blutiger?
Nix für Ungut!

Mit BRCC, BRCS oder BRnn, oder einfach mit "Branch" ruft man keine
Sub-Routine auf, sondern man verzeigt wie mit JMP ("Jump") im
Programm an eine andere Stelle bzw. setzt den Programm Counter (PC) auf
eine andere Programm-Adresse.
Demzufolge legt BRCC oder BRCS keine Rücksprungadresse auf den Stack
wie CALL oder RCALL und demzufolge wird auch nicht nach dem BRCC oder
BRCS durch RET zurück gesprungen.
Was Du brauchst, ist SBRC oder SBRS (Skip if Bit in Register is
clear/set).

Probier mal folgendes innerhalb der "Bitschiebe-Schleife":

SBRC disp_cmd,7           ;Ist MSB gelöscht, dann Befehl überspringen.
sbi disp_PORT, disp_data  ;Ansonsten Befehl ausführen.
SBRS disp_cmd,7           ;Ist MSB gesetzt, dann Befehl überspringen.
cbi disp_PORT, disp_data  ;Ansonsten Befehl ausführen.
lsl disp_cmd              ;Alle anderen Bits Bit für Bit zum MSB.

Es kann noch sein, das Du dem LCD mit ein oder ein paar "NOPs" noch
etwas Zeit geben musst, aber da bin ich mir nicht sicher.

MfG
Andi

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andi K.

Wow das wars. Genau das war der Fehler.
Jetzt funktioniert alles Danke auch
Danke an die Anderen.

Mfg. Lightning

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.