Anschluß eines LCD Displays

Erstellt am 25.03.2002 23:58:46Klicks [10590]

Verwandte Themen und Zusätze: Download zu Anschluß eines LCD Displays |
Dieser Artikel soll zeigen, wie einfach ein Display an einen Atmel 2313 angeschlossen werden kann. Dank des CodeVision Compiler ist es keine große Kunst ein paar Zeilen auf ein Display zu schreiben.

Es gibt zahllose 1-2-4 zeilige Displays, die alle auf den gleichen Controllerchip aufbauen. Diese Displays bauen meist auf einen Hitachi HD44780 oder einen vergleichbaren Chip auf. Da der häufig verwendete CodeVision Compiler diesen Controller einwandfrei unterstützt, zeige ich hier den kleinen Schaltungsaufbau, der zum Betrieb eines Displays notwendig ist.

Wie schon häufig haben wir hier eine Platine aufgebaut, die den bekannten Programmieradapter des STK200 enthält. Verzichtet man auf diesen, wird das Layout einfacher, aber mann kann dann nicht mehr so komfortabel programmieren. Ich baue diesen fast immer mit dazu.

Der Port B des Atmel 2313 wird nun komplett zur Ansteuerrung des Displays verwendet, indem alle Pins, bis auf das Bit3 angeschlossen werden.

Alle anderen Aufbauten erklären sich von selbst und wurden in vorhergehenden Schaltungen schon einmal verwendet. Das Display wird ebenfalls über einen 10 Pol Stecker angebunden. Dadurch kann man komfortabel ein Flachbandkabel an das Display löten und einen schönen Stecker auf der Platine verwenden. Der Spindelwiderstand oben links dient zur Kontrasteinstellung. Nach ein wenig Kurbeln findet man so immer den optimalen Kontrast. (Poti mit etwa 20k Ohm). Ich habe den Programmieradapter extra oben links plaziert, um das Aushebeln des Prozessors aus der Schaltung zu ermöglichen. Wer es mag, kann natürlich bei einem eigenen Layout die Plazierung ändern. Wie bei jedem Aufbau, darf natürlich der Entstörkondesator C3 nahe des Prozessors nicht fehlen.

Um das Display einfach anzuschliessen, haben wir hier die Kontakte auf einen 10 Pol Stecker geführt. Die Tabelle zeigt die Verdrahtung von dem Prozessor über den Stecker zum Display.

Prozessor Stecker Display
  1 GND
  2 +5V
  3 geregelte Spannung des Spindelwiderstandes
PB0 4 RS
PB1 5 RD
PB2 6 EN
PB4 7 Pin 11
PB5 8 Pin 12
PB6 9 Pin 13
PB7 10 Pin 14


Bis zu dem Stecker ist die Verdrahtung durch das Platinenlayout vorgegeben. Nun kann man leicht anhand der Tabelle das Display an das Kabel anlöten und den Flachbandstecker auf das Kabel quetschen. Nun noch 5 Volt anschliessen und schon kann man die Schaltung in Betrieb nehmen. Sollte das Display jetzt schon voll leuchten, muss man so lange am Widerstand drehen, bis das Display von einer komplett schwarzen Anzeige auf keine Anzeige umkippt. Das ist der Punkt des besten Kontrastes. Wenn später Zeichen ausgegeben werden, kann man diese nun gut erkennen.

Da nun alle physikalischen Anschlüsse vorgenommen wurden kann es nun losgehen. Das Programm ist wiederrum nicht sehr kompliziert. Der CodeVision Projektwizard stellt das Notwendigste ein. Bitte wähle erstelle ein neues Projekt und selektiere ein Display an Port B. Mehr ist nicht zu tun. Nun kann das Projekt erzeugt werden. Jetzt müssen wir nur noch angeben welche Displaygröße angeschlossen ist. Dazu wird der richtige Wert mit lcd_init() übergeben. Hier im Beispiel wird ein 16 Zeichen Display initialisiert.

// LCD module initialization
lcd_init(16);
     
lcd_putsf("Hello World");

while (1)
      {
      // hier kanns weitergehen

      };
}
Ist das nicht simpel ? Auf diese einfache Weise haben wir ein Display mit 16 Zeichen initialisiert. Für die unentwegten Assemblerprogrammierer unter Euch sei erwähnt, dass sich im Download zu diesem Artikel auch der Assemblercode befindet.

Begleitende Layoutangaben