Forum: Mikrocontroller und Digitale Elektronik 1x16 lcd display


von Marcel Block (Gast)


Lesenswert?

hi ich bins mal wieder hehe,

ich habe ein 1x16 zeichen großes lcd display wie im AVR-Tutorial auf 
microcontroller.net angeschlossen. Die "ansteuerung" funktioniert für 
die ersten 8 zeichen wunderbar. nachdem ich das achte zeichen auf 
display geschrieben habe kann ich aber den zweiten teil vom display 
nichtmehr beschreiben. erst wenn ich 32 dummy-zeichen aufs display 
schreibe erscheinen zeichen im hinteren bereich des lcd-display. muss 
ich vielleicht beim initialisieren des lcd display irgendetwas anders 
machen? ich hab schon im datenblatt von diesem controller nachgelesen 
aber dort nix gefunden.

MFG Marcel

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
das selbe Problem hatte ich auch schon mal. Du hast das Display von 
Reichelt oder? Hatte mein Display 3 mal wieder nach Reichelt 
zurückgeschickt, weil ich dachte es ist defeckt, hatte auch mit Reichelt 
telefoniert, ohne ergebnis. Die haben es angeblich mal das Display 
überprüft, hab aber nie eine Antwort bekommen was nun damit war.
Einige Zeit später hab ich mal ein Dokument von einem Studenten gefunden 
in dem er schrieb, das einige LCD Display mit 16-Zeichen, des Preises 
wegen, mit 2 8-Zeichen Chips ausgestattet weden. Das heißt das die 
ersten 8 Zeichen an die RAM Adresse 00h bis 07h geschickt werden, und 
die anderen 8 Zeichen ab Adresse C0.
viel Spaß noch damit.
mfg michi

von MooseChecker (Gast)


Lesenswert?

Reichelt verkauft die Displays von Displaytech
Das 161 hat folgende Adressierung

  alphanumeric LCD 16 characters in 1 lines

    [00|01|02|03|04|05|06|07|40|41|42|43|44|45|46|47]  DD address 
alignment
                             ^^
                             !!
 Die Angeben sin hex

MooseC

von Michael (Gast)


Lesenswert?

Stimmt!
Das Display 4x16 von reichelt hat auch so eine komische Adressierung. 
Ein bisschen aufwendig zu Programmieren, aber dafür billig ;o)am besten 
ausprobieren!
mfg

von Marcel Block (Gast)


Lesenswert?

achso :)

danke

von Tobias Breckle (Gast)


Lesenswert?

ist nicht sehr aufwendig zu programmieren. folgender code ist nötig:

lcd_line2:
  subi r16,0xC0
lcd_line1:
  subi r16,0x81
  rcall lcd_command
  ret

wobei die 1. lcd zeile die 1. 8 zeichen sind und die 2. zeile die 
zweiten acht.

von Günter (Gast)


Lesenswert?

Hallo,

ich hatte mit meinem Display (Displaytech 161A, 1 Zeile mit 16 Zeichen) 
das gleiche Problem. Ich verwende die LCD-Routinen von Peter Fleury. Das 
Display ist im 4-bit-Mode angeschlossen.

Die Lösung war, das Display als 2-zeiliges Display mit je 8 Zeichen zu 
definieren und "wrap" zu aktivieren. Dafür waren folgende Einstellungen 
nötig:

#define LCD_IO_MODE   1
#define LCD_LINES   2
#define LCD_DISP_LENGTH   8
#define LCD_LINE_LENGTH  0x40
#define LCD_START_LINE1  0x00
#define LCD_START_LINE2  0x40
#define LCD_WRAP_LINES      1     /**< 0: no wrap, 1: wrap at end of 
visibile line */

von Michael W. (Gast)


Lesenswert?

Also, ich denke mal jetzt, nach ca. 12 Jahren, hatter's auch ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

12 Jahre?

Das ist rekordverdächtig.

Definitiv ein Kandidat für einen der ersten Plätze beim 
Burke&Hare-Award.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.