Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

(Der Artikel beschriebt die Verwendung des DG16080 GLCDs an einem AVR Mikrocontroller.)
(Anpassen der lc7981.h)
Zeile 46: Zeile 46:
 
Damit der Treiber mit der verwendeten Hardware funktioniert, muss man diesen konfigurieren. Dies geschieht durch bearbeiten der lc7981.h um include-Verzeichnis.
 
Damit der Treiber mit der verwendeten Hardware funktioniert, muss man diesen konfigurieren. Dies geschieht durch bearbeiten der lc7981.h um include-Verzeichnis.
 
Hier deshalb der Konfigurationsabschnitt für die oben verwendete Schaltung:
 
Hier deshalb der Konfigurationsabschnitt für die oben verwendete Schaltung:
<nowiki>
+
 
#define LCD_CTRL PORTB //!< Port used for control signals
+
''#define LCD_CTRL PORTB //!< Port used for control signals
 
#define LCD_CRTL_DDR DDRB //!< Data-Direction-Register for the control signals
 
#define LCD_CRTL_DDR DDRB //!< Data-Direction-Register for the control signals
 
#define LCD_RS PD0 //!< Register-Select Pin of the Display
 
#define LCD_RS PD0 //!< Register-Select Pin of the Display
Zeile 57: Zeile 57:
 
#define LCD_DATA PORTD //!< Port used for data
 
#define LCD_DATA PORTD //!< Port used for data
 
#define LCD_DATA_PIN PIND //!< Port used for reading the data
 
#define LCD_DATA_PIN PIND //!< Port used for reading the data
#define LCD_DATA_DDR DDRD //!< Data-Direction-Register for data</nowiki>
+
#define LCD_DATA_DDR DDRD //!< Data-Direction-Register for data''
  
 
== Links ==
 
== Links ==

Version vom 15. Dezember 2010, 18:23 Uhr

Baustelle.gif An diesem Artikel arbeitet gerade Mitglied C_Classic.

Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.

Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor C_Classic per PM / Mail oder Forum nachfragen ob er vergessen wurde.

Beschreibung

Das DG16080 GLCD ist ein 160x80 Punkte Schwarz-Weiß Grafik Display von Datavision für ca. 7 Euro. (Bei Pollin Electronics zur Zeit ausverkauft) Das Display besitzt einen LC7981 Controller, der recht einfach mit einem AVR Mikrocontroller angesteuert werden kann.

Hardware

Anforderungen

IO-Pins: 11 (Davon 8 an einem Port) ADC: 4 (optional für Touchscreen) Taktung: Frei Spannung: 5V

Anschluss des LCDs an den AVR

Die Betriebsspannung des LCDs ist 5V - entspricht somit der des AVR und kann einfach mit einem 7805 Spannungsregler hergestellt werden. Beim Anschluss des LCDs an den AVR gibt es grundsätzlich nicht viel zu beachten. Folgende Dinge sind jedoch notwendig:

  • Pin 7-14 müssen an einen Port und in der richtigen Reihenfolge (Pin 7 --> PX0, Pin 8 --> PX1, ...) verbudnen werden.
  • Pin 4-6 müssen ebenfalls an einen Port verbunden werden, jedoch ist die Reihenfolge und Position egal.
  • Pin 15: Low
  • Pin 16: High

Optional:

  • Pin 15,16 und 18 auf AVR-Pins anstatt auf feste Pegel legen, um das Display später neu starten bzw. Ausschalten zu können.

DG16080 ATMEGA8.png

Hintergrundbeleuchtung & Touchscreen

Vom LCD gibt es 3 Ausführungen:

  • Eine mit LED-Hintergrundbeleuchtung. Diese kann einfach mit einen Widerstand an die Stromversorgung des Displays angeschlossen werden oder man dimmt die Helligkeit über einen PWM-Pin am AVR. Bei dieser Ausführung ist das Touchscreen-Kabel nicht lötbar.
  • Zwei mit EL-Hintergrundbeleuchtung. Um diese zu betreiben wird ein EL-Inverter (z.B. INV-TH-202) benötigt. Hier gibt es nun eine Version mit lötbarem und eine mit nicht lötbarem Verbinder am Touchscreen.

Um die nicht-lötbaren Touchscreens anzuschließen kann man eine Pin-Leiste auf die Platine runter biegen und somit den Verbinder einklemmen.

Software

Der LCD-Treiber

Die hier verwendete Treiber ist der Treiber von Sebastian Schumb und enthält folgende Features:

  • Textmodus mit Scrolling (Fester Zeichensatz)
  • Grafikmodus
  • Bitmaps plotten (Alle Größen)
  • Text mit beliebiger Schriftart (und Größe) plotten
  • Setzen und löschen beliebiger Pixel

Verwendung des Treibers

Der Treiber kann unter folgender Adresse heruntergeladen werden: http://www.sebastians-site.de/hg_repos/glcd/ Entweder man bindet nun den Treiber per include (lc7981.h, adc.h, touch.h; optional noch die fonts für schriftarten) ein und fügt die .c-dateien dem Makefile hinzu oder man verwendet den Beispielcode mit dem mitgelieferten Makefile.

Anpassen der lc7981.h

Damit der Treiber mit der verwendeten Hardware funktioniert, muss man diesen konfigurieren. Dies geschieht durch bearbeiten der lc7981.h um include-Verzeichnis. Hier deshalb der Konfigurationsabschnitt für die oben verwendete Schaltung:

#define LCD_CTRL PORTB //!< Port used for control signals

  1. define LCD_CRTL_DDR DDRB //!< Data-Direction-Register for the control signals
  2. define LCD_RS PD0 //!< Register-Select Pin of the Display
  3. define LCD_RW PD1 //!< Read-Write-select Pin
  4. define LCD_EN PD2 //!< Strobe Pin


  1. define LCD_DATA PORTD //!< Port used for data
  2. define LCD_DATA_PIN PIND //!< Port used for reading the data
  3. define LCD_DATA_DDR DDRD //!< Data-Direction-Register for data

Links

der Forumsbeitrag mit dem Alles begann (Deutsch) Frozeneskimos Seite zum GLCD (Englisch) Ein Beitrag auf Mikrocontroller.net (Deutsch) LCD-Lib (Englisch) Alternativer Schaltplan


LiFePO4 Speicher Test