mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TC1602E-01 von Pollin über I2C


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nachdem ich einige Themen hier und in anderen Foren dazu gelesen habe, 
ist mir mein Fehler bei der Umsetzung einer Ansteuerung eines TC1602E-01 
von Pollin über I2C, nicht ganz klar.
Kurzum: Es funktioniert nicht und ich weiß nicht warum. Außer den 
schwarzen Balken zeigt es nichts an.

Ich nutze folgendes:

Display: TC1602E-01 von Pollin, das Datenblatt findet man z.B. hier:
http://www.g-heinrichs.de/attiny/LCDisplay.pdf
Den wohl bekannten Portexpander: PCF8574
Ich programmiere in C (AVR-Studio)
µC: ATmega 644 mit 16 MHz


Folgende Software nutze ich:
Angelehnt an dieses Projekt: 
http://www.bralug.de/wiki/BLIT2008-Board-LCD
Die dort erhältlichen Dateien

i2clcd.c
i2clcd.h
twimaster.c  (Von Peter Fleury)
i2cmaster.h  (Von Peter Fleury)

verwende ich. Man kann sie allesamt hier downloaden:
http://bralug.de/wiki-common/images/c/cb/Twi_lcd.tar.gz

Ich habe die Portpins in der i2clcd.h angepasst.
Als Anhang habe ich die von mir angepasste i2clcd.h beigefügt.


Zum testen verwende ich folgenden Code in der main:
// TWI initialisieren
i2c_init();

// LCD initialisieren
lcd_init();

// LCD-Anzeige loeschen
lcd_command(LCD_CLEAR);

// Text auf LCD ausgeben
lcd_printlc(1,1,(unsigned char *)"TEST");
lcd_printlc(2,1,(unsigned char *)"Reihe 2");




Durch Tests kann ich sagen das immerhin der Portexpander funktioniert.
Bei 0xF0 erhalte ich 4x Low und 4x High.
Das Display zeigt (leider Dauerhaft) schwarze Balken. Der Kontrast ist 
also okay.
Im Grunde genommen wird wohl die Datenverbindung zwischen Portexpander 
und Display nicht korrekt durchgeführt.
Folgendes ist mir aufgefallen. Das Display hat eine 5x8 Pixel-Matrix.
Vielleicht liegt es daran?

Wer kann mir dazu mehr sagen?

Gruß, Andi

Autor: Browncoat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Andi, der Code funktioniert, bei mir fast auf Anhieb. Habs mit fünf 
Displays getestet.

Mit einem DV40200-5 (2x40) funktionierte es sofort.

Ein Optrex DMC20481 (4x20) brauchte noch eine Zeitanpassung. Diese 
Displays gehören noch zum Urgestein (Original HD44780 verbaut) und sind 
daher etwas träge. In der i2clcd.c muß in Zeile 124 der Wert 
lcd_wait_us(800) in lcd_wait_ms(5) geändert werden, dann klappts auch 
mit diesem Display.

Das TC1602E-01 von Pollin funktioniert auch, allerdings wird nur 
Datenmüll angezeigt. Lediglich der Zähler wird einigermaßen korrekt 
angezeigt. Warum das so ist, kann ich noch nicht sagen. Initialisierung 
scheint ja zu funktionieren.

Ein BT1602FB (Batron, 2x16) und ein MC1602FSBL (2x16) wollten noch 
garnicht spielen :) .

Da die Ports bei dir funktionieren dürfte die eingestellte Adresse auch 
korrekt sein.

Hab das ganze mit einem Atmega128 @ 16 MHz getestet.

MfG BC

Autor: Browncoat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe heut ncohmal ein anderes TC1602E-01 getestet, funktioniert 
einwandfrei. Anscheinend hat das zuvor getestete ein anderes Problem.

MfG BC

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.