EA 7123-I2C von Conrad Kategorie: I²C-Bus (von ortwin - 20.03.2006 11:01) | ||
Als Antwort auf Thema hat sich erledigt von ortwin - 17.03.2006 16:41 | ||
| ||
Hallo an alle Freunde des 3x12 Display von Conrad (EA7123-I2C) hatte bei meinem letzten posing nicht bedacht das sich doch so viele Leutchen mit dem Display befassen. habe jetzt von Freitag bis Montag 42 E-mail Anfragen für den Init-Code bekommen. Sorry - ich kann beim besten Willen nicht alle persönlich anscheiben - (zeitgründe) deshalb hier meine Erfahrungen für alle öffentlich. Grundsätzlich mu� man unterscheiden zwischen Single Supply und Dual Power Ich betreibe mein Display momentan versuchsweise am Conrad App-Board mit 0V und +5V alle hier gemachten Aussagen gelten auch nur für Single Supply Gnd und 5V Hier mal die Stolpersteine für den Anfänger: so gehts nicht: Die IC intern erzeugte Negativspannung für das LCD wird mit bit G=1 eingeschaltet. wenn G=0 mu� da� Kontrastpoti am Schleifer ca. 0.18V haben Das Display zeigt dann nur Zeile 1 und 2 und in der 3. Zeile erscheint die Information von Zeile 1 so ist es richtig G=1 N und M =1 (4 Zeilen) Das Kontrastpoti mu� am Schleifer ca. 1.8 Volt haben Das Display mu� mit D=1 eingeschaltet werden. (wichtig) dann braucht man mindestens: I2C_Init(I2C_100kHz); // I2C Bit Rate: 100 kHz //-------------------------- Disp 3x12 init I2C_Start(); // LCD-Init I2C_Write(0x74); // adresse I2C_Write(0x00); // nop I2C_Write(0x2e); // funktion set I2C_Write(0x0f); // display on off cursor 0d=Cursor an I2C_Write(0x06); // entry mode I2C_Write(0x01); // Adr im DDRAM 01=clear 02=home AbsDelay(10); // notwendig nach clear ??? ist noch nicht klar ob das notwendig ist I2C_Stop(); // //-------------------------- Disp 3x12 Curser positinieren I2C_Start(); // Cursor auf Zeile 1 Pos 1 I2C_Write(0x74); I2C_Write(0x00); I2C_Write(0x02); I2C_Stop(); //-------------------------- Disp 3x12 Zeichen ausgeben nur zum Test for (z=70;z<150;z++) { I2C_Start(); I2C_Write(0x74); I2C_Write(0x40); // schreibe jetzt I2C_Write(z); // Buchstabe I2C_Stop(); AbsDelay(200); // delay nur damit mein Auge folgen kann } habe es aus Zeitgründen noch nicht geschafft den Cursor beliebig zu positionieren bin mir auch nocht nicht klar ob das delay noch CLEAR oder HOME notwendig ist. so läuft es jetzt bei mir versuchsweise auf dem Conrad App-Board. Wenn jemand den Cursor positionieren kann - bitte mail an mich gru� aus Aalen ortwin | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum