PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vierzeilen-LCD - zwei Zeilen funktionieren nicht



Enrico3
03.02.2007, 11:15
Hallo,

ich habe mir ein Display von Pollin gekauft (WD-C2704M-1HNN). Dieses hat 4 Zeilen à 27 Zeichen.

Zum testen habe ich diesen Programmcode für Bascom gefunden:



$regfile = "m8def.dat"
$crystal = 3686400

Config Lcd = 40 * 4 'Anzeigemodus 40 x 4 Zeichen
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , E2 = Portd.6 ,Rs = Portd.4


Dim ___lcdno As Bit


___lcdno = 0 'auf Chip 1 schalten
Initlcd 'die beiden oberen Zeilen
'initialisieren
Cls 'die beiden oberen Zeilen löschen
___lcdno = 1 'auf Chip 2 schalten
Initlcd 'die beiden unteren Zeilen
'initialisieren
Cls 'die beiden unteren Zeilen löschen


'LCD Anzeige ausgeben

'Die 2 oberen Zeilen anzeigen

___lcdno = 0

Locate 1 , 1
Lcd "1. Die erste Zeile" ;

Locate 2 , 1
Lcd "2. Die zweite Zeile"

Cursor Off

'Die 2 unteren Zeilen anzeigen

___lcdno = 1

Locate 1 , 1
Lcd "3. Die dritte Zeile" ;

Locate 2 , 1
Lcd "4. Die vierte Zeile"

Cursor Off

End 'Programmende



Das Problem ist nun, dass ich auf dem Display nur die ersten beiden Zeilen angezeigt bekomme, die unteren beiden bleiben leer, bzw. dort sind nur einige scharze Kästchen zu sehen. Aber auch wenn ich die Pins E1 und E2 verdrahtungsmäßig tausche bekomme ich in der zweiten Displayhälte nichts angezeigt.
Könnte das Display defekt sein?
Vielen Dank.

Grüße
Enrico[/code]

Jon
03.02.2007, 15:54
Probier es mal so:



$regfile = "m8def.dat"
$crystal = 3686400

Config Lcd = 27 * 4
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4

Cls
Locate 1 , 1
Lcd "Hallo Welt"
Locate 2 , 1
Lcd "Hallo Welt"
Locate 3 , 1
Lcd "Hallo Welt"
Locate 4 , 1
Lcd "Hallo Welt"


jon

Enrico3
03.02.2007, 16:03
Hallo,

das funktioniert leider nicht, da Bascom keine (27 x 4)-Displays kennt und auch soweit ich weiß nur zwei Controller unterstützt. D.h. ich muss zwischen den beiden Controllern des Displays umschalten, deswegen auch E und E2.
Aber mittlerweile denke ich wirklich das das Display nicht richtig funktioniert, denn wenn ich die Leitungen für E und E2 vertausche, bekomme ich jeweils immer den richtigen Text in der einen Displayhälfte angezeigt.

Oder gibts da noch einen Trick den ich nicht kenne?
Vielen Dank.

Grüße
Enrico

Jon
03.02.2007, 16:15
Oder du machst bei umstellen von E im Prog einen Fehler.
Kann ich aber nicht abschließend sagen, da ich mich damit noch nicht beschäftigt habe.

jon

patti16
03.02.2007, 16:30
hallo

versuch es einfach mal so:



$regfile = "m8def.dat"
$crystal = 7372800 'Quarzfrequenz
$baud = 9600
$hwstack = 32
$swstack = 40
$framesize = 32




'_________________________________________________ ______________________________

Config Lcdpin = Pin , E = Portc.3 , E2 = Portd.7 , Rs = Portc.2 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
Config Lcd = 20 * 4
Config Pind.6 = Output
Config Adc = Single , Prescaler = Auto , Reference = Off 'Für Tastenabfrage und Spannungsmessung
Config Pinc.0 = Input 'Für Tastenabfrage
Portc.0 = 1 'Pullup Widerstand ein
Portd.6 = 0
Dim ___lcdno As Bit
Initlcd 'die beiden unteren Zeilen

Locate 1 , 1
Lcd "1. Die erste Zeile" ;

Locate 2 , 1
Lcd "2. Die zweite Zeile"

Cursor Off

Locate 3 , 1
Lcd "3. Die dritte Zeile" ;

Locate 4 , 1
Lcd "4. Die vierte Zeile"

Cursor Off

End


so müsste es klappen allerdings ist das ein Programm von mir musste noch ändern wahrscheinlich das es bei dir klappt, sprich LCD Pin belegung usw.

gruß
patrick[/code]

felack
08.02.2007, 15:38
Versuchs mal mit dem Programm:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=9119&highlight=wintek

Das Programm steht ganz unten auf der Seite und funktioniert garantiert

Ist zwar für einen Attiny 2313, geht aber auch mit anderen AVRs.

felack