Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Problem mit Initialisierung Display EAT123A Kategorie: I²C-Bus (von André H. - 9.04.2008 10:51)
Als Antwort auf Problem mit Initialisierung Display EAT123A von Norbert - 1.04.2008 13:30
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.1
Hallo Norbert,

zuerst eine Frage: Arbeitest Du komplett ohne OS?
Denn in C2 wäre es einfacher. :-)

Das Datenblatt des Displays enthält leider nciht alle nötigen Informationen.
Aber ich würde sagen, da� für Function Set auf jeden Fall der 8Bit-Mode genutzt werden mu�.
Der 4-Zeilen-Modus sollte passen. Ansonsten kannst Du den 2x24Zeichen-Modus testen.
Beim Entry-Mode sollte Inkrement gewählt werden. Ansonsten erfolgt die Ausgabe rückwärts
ab Cursor-Position.
Ach ja, das Löschen des Displays sollte immer erst am Ende des Inits erfolgen.
Auch mu� für den Init zuerst ein Control-Byte mit Co=0 gesendet werden.

Mehr kann ich nicht helfen, da ich das Display nicht nutze.

MfG André H.


> Hallo Zusammen,
>
> ich benötige eure Hilfe bei der Initialisierung des I2C Displays
> EAT123A.
> Problem ist, das der Text nur dann richtig positioniert angezeigt wird,
> wenn er incrementiert ist I/D-Bit = 1. Dann wird der Text, nach erstem
> RESET, sofort in Zeile 1 rechts angezeigt, jedoch gespiegelt!
> Sobald ich auf Decrement umstelle, erscheint der Text erst nach einigen
> RESET-Betätigungen und dann aber auch nicht ab dem ersten Zeichen!
> Der Fehler liegt 100% in der INIT, denn ein anderes Display
> funktioniert!
> Denk mal ich mach einen Fehler bei der Zeilenwahl oder was meint Ihr?
> Hoffe Ihr könnt mir helfen!
> Hier meine Init in Assembler:
>
> LCD_Init:
>
> mov a,#74h     ;Slave Adresse
> call send
> mov a,#01h     ; Display löschen
> call send
> call wait_5
> mov a,#2Eh     ; Funktionset, 4Bit, 4lines x 12Char, Spg intern
> call send
> mov a,#0Fh     ; Display ON, Cursor ON, Cursor blinkt
> call send
> mov a,#04h     ; Entry_Mode, Decrement, Display freeze
> call send
> call stop
> ret
>
>
> Im Hauptprogramm lautet der Aufruf:
>
> Haupt:
>
> call start
> call LCD_Init
> call wait_2
> mov a,#74h    ; Slave Adresse
> call send
> mov a,#01000000b   ; Controll-Byte Write DATA
> call send
>
> ;....hier würde nun der entspr. Text anhand einer Schleife kommen
>
> call stop
>
> Hoffe Ihr findet meinen Fehler! Bestimmt mach ich etwas falsch bezüglich
> der Zeilenadressierung. Aber leider weiÃ? ich nicht wo :-)!
>
> Vielen Dank und schönen Tag noch!
>
> Norbert


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: