www.mikrocontroller.net

Forum: Projekte & Code Nokia 6100 DisplayAnsteuerung in Assembler


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
was ich machen muss.

Ich währe sehr Dankbar dafür.

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


~ Mfg. Lightning

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
meinst du einmal posten reicht nicht
HIER IST DIE CODESAMMLUNG!!!

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jaja iss ja gut. Tschuldigung.

Autor: Jutta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herr Jens Dinspel hat wieder mal Langeweile

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Wie sieht es denn nun aus mit dem EPSON Controller
hat jemand eine funktionierende Version??
Würde erstmal gerne die hardware etsten (mega64) wenn jemand ein
hexfile posten koennte oder zum epson eine lib hat waehre ich dankbar

Gruss Jens

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aja sieh mal an wer da den EPSON Controller
ansteuern will, der Jens Dinspel.
Zuerst motzt er rumm weil ich hier frage
ob mir jemand helfen kann, (ok 2mal posten
is ned gut) und jetzte bettelt er um
Codes.

@Jens
Selberschreiben

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lightning
Sorry, wegen dem erstem post ;)
War mies drauf, Feuerwehr einsatz unfall 1 toter..

Aber ist es nicht so??
Hier ist die Codesammlung sollte eigendlich nur eine art Info sein und
wollte dich nciht angreifen
war eben etwas gereizt nich wegen dir..

Gruss Jens

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Thomas P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lightning

Hab gerade mal über deinen Code geschaut.
Du versucht aus einem bedingten Sprung (nicht Call !) mit ret zurück zu
springen:

>brcs csub1
>
>(...)
>
>csub1:
>sbi disp_PORT, disp_data
>ret

Das ret springt nach dem 1. Bit aus deinem display_command - das ist
aber wohl nicht gewollt.

Beste Grüße
Thomas

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Thomas hat völlig Recht und in der Daten-Sub machst du das selbe.
So sollte es aber erstmal hinhauen:

display_command:
  cbi disp_PORT, disp_clk
  cbi disp_PORT, disp_data  ;kommando soll übertragen werden
  sbi disp_PORT, disp_clk    ;1. bit wird gelesen

  ldi disp_counter, 0x08  ; noch 8 bit übertragen

dis_comand1:
  cbi disp_PORT, disp_clk

  lsl disp_cmd      ;Bit ins carry schieben, MSB first


        brcc csub2
        sbi disp_PORT, disp_data
        rjmp c_clk
csub2:  cbi disp_PORT, disp_data
          ;Bit vorbereiten
c_clk:  sbi disp_PORT, disp_clk

  dec disp_counter

breq cnext
rjmp dis_comand1

cnext:
ret


;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
~~~~~~~~~~~~~
display_data:
  cbi disp_PORT, disp_clk
  sbi disp_PORT, disp_data  ;daten sollen übertragen werden
  sbi disp_PORT, disp_clk    ;1. bit wird gelesen

  ldi disp_counter, 0x08    ; noch 8 bit übertragen

disp_data1:
  cbi disp_PORT, disp_clk

  lsl disp_daten        ;Bit ins carry schieben, MSB first

        brcc dsub2
        sbi disp_PORT, disp_data
        rjmp d_clk
dsub2:  cbi disp_PORT, disp_data
              ;Bit vorbereiten

d_clk:  sbi disp_PORT, disp_clk

  dec disp_counter

breq dnext
rjmp disp_data1

dnext:
ret

Ach nochetwas, wie schnell darf denn der "disp_clk" überhaupt
sein?(momentan 5Takte)

Viel Erfolg, Uwe

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas P.
@ Uwe

Hallo,

Danke der Antworten und Infos !!!
Kommen zwar n bisschen spät weils schon ne weile funktioniert
aber trotzdem Danke.

Ich hab da noch ne frage:
Mit welchem programm convertiert ihr die bilder
für die AVR Tabelle zum auslesen fürs display ???

Mfg. Lightning

Autor: Thomas P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uwe
Datenblatt sagt: serial clock SCLK period (SCLK) 150ns.
Also gut 6,6 Mhz.

@Lightning
Mit Hex Workshop (http://www.hexworkshop.com/) kann man aus Binärdaten
C-Tabellen erstellen. Sollte mit Assembler auch gehen.


Hatte auch mal eine kleine Ansteuerung in C gebastelt. Bilder kann man
über UART als RGB-8-Bit RAW-Daten hochladen. Diese werden dann auf dem
Atmel in das Display-Format umgerechnet.

Den Source und ein paar Bilder von dem Display habe ich hier:
http://thomaspfeifer.net/nokia_6100_display.htm

Beste Grüße
Thomas

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.