Flüssigkristallanzeige DSM-0822A von Pollin

Ansteuerung des LCD DSM-0822A von Pollin ( I2C-Controller PCF8576) mit PIC -Mikrocontroller in C, mit Quelltext.

DSM-0822A kostet 1,95 EUR bei Pollin !!!
DSM-0822A hat 8 Stellen alphanumerisch je16 Segmenten und 16 Segmente für die Sonderzeichen!
DSM-0822A besitzt ein I2C-Controller PCF8576
DSM-0822A wird über I2C-Bus angesteuert
DSM-0822A kann mit 3,6V...5V Spannung versorgt werden.

Displaymaße 53x20 mm.
Best. Nr. 120 124 bei Pollin
Hat 5 Leitungen
Flexkabel läßt sich löten. Oder sie können ein passendes verbinder aus einem defekten Floppy Laufwerk auslöten.
LCD hat eine halbdurchlässige Hintergrundfolie was ermöglicht eine hintergrundbeleuchtung. Sie können das LCD mit Lämpchen oder LEDs von hinten beleuchten (Blau ist der momentane Trend).
Kontrasteinstellung erfolgt über ein 10K Poti der an Vlcd-Leitung angeschlossen wird.
Obwohl in Beigelegtem Datenblatt steht "Achtung: 3,6V Ausführung!" funktioniert DSM-0822A mit 5V sehr stabil.
Die Daten zum DSM-0822A werden über 2 Leitungen übertragen SCL und SDA mit dem gewöhnlichem I2C-Protokoll.
I2C-Adtesse des LCDs ist fest verdrahtet. Adresse lautet 01110000Biner bzw. 070H oder 112 dezimal.

Mit dem 10K-Potentiometer wird Kontrast eingestellt.
Ihr SCL und SDA Pins bei Mikrocontroller können Sie selbst auswählen in dem Sie Ausgänge am Programmanfang definieren

#pragma bit sda @ PORTB.7 // Datenleitung SDA Pin 40
#pragma bit scl @ PORTB.6 // Taktleitung SCL Pin 39
#pragma bit tsda @ TRISB.7 // Datenleitung SDA IN/AUT - Umschalter
#pragma bit tscl @ TRISB.6 // Taktleitung SCL IN/AUT - Umschalter

Beispielprogramm läuft auf einem PIC16F871. SDA Pin ist Pin40 (PORTB.7) und SCL Pin ist Pin39 (PORTB.6).

Hier stelle ich ein Treiber für Flüssigkristallanzeige DSM-0822A zum Download bereit.

Dieser Treiber ermöglicht:

Initialisieren des Displays LCD_Init(); Löscht alles
Ausgeben eines Zeichens an bestimmter Position Ausgabe(7, 'V'); V erscheint an 8 Stelle
Ausgeben eines Strings (Zeichenkette) an bestimmter Position LCDString(0,"TEST"); TEST erscheint an 1 Stelle
Ausgeben einer Zahl an bestimmter Position ZalString(4, 321); 321 erscheint an 5 Stelle

// Ansteuerung von I2C LCD-Anzeige DSM-0822A von Pollin
// Testprogramm
// Michael Dworkin
// 08.06.2004
// Compiler CC5x

#include <16F871.H>
// Speihersutz121345=aus,Debug11=aus,ProgrammFlash9=an,EEpromRead8=an,NiendervoltProgr7=aus
// NiederVoltReset6=an,EinschaltTimer3=an,WachDogTimer2=aus,Oszilator01=HC
#pragma config |= 0b.11.111101.11.00.10
#pragma origin 100              // Ab Adresse 100 im Programmspeicher
#pragma bit sda @ PORTB.7       // Datenleitung SDA
#pragma bit scl @ PORTB.6       // Taktleitung SCL
#pragma bit tsda @ TRISB.7      // Datenleitung SDA IN/AUT - Umschalter
#pragma bit tscl @ TRISB.6      // Taktleitung SCL  IN/AUT - Umschalter
#include "I2C.c"                // I2C-Kommunikation Treiber
#include "DSM-0822A.c"          // DSM-0822A Treiber

//*******************************************************
// Hauptprogramm
//*******************************************************
void main()
{
    LCD_Init();             // LCD initialisieren, löschen
    LCDString(0,"TEST");    // String-Ausgabe
    ZalString(4, 321);      // Zahl-Ausgabe
    Ausgabe(7, 'V');        // Zeichen-Ausgabe

// Zusatzeichen schalten
    bstart();               // Zusatzzeichen aktivieren
    schreib(112);           // Adresse der Anzeige(Festverdrahtet)
    schreib(8*4);           // Adresse des Anzeigeelements
    schreib(0b.0000.0000);
    schreib(0b.0000.0001);  // Zusatzzeichen 1 Oben wird aktiviert
    bstop();

    while(1);               // Programm stoppt hier
}

// Auf dem LCD erscheint  "TEST321V"


Übrigens dieses Programm läuft auch auf allen PIC-Mikrocontrollern, Sie brauchen nur bei "#include <16F871.H>" richtige Microcontroller- Typ eintragen. Zum Beispiel bei PIC16F84 - "#include < 16F84.h>", bei PIC12F629 - "#include < 12F629.h>".

Quellcode- Beispiel für Lauftext gibt es hier.

 

< Zur Startseite