Jon
24.11.2007, 09:26
Hallo,
nachdem ich mich länger nicht gemeldet habe, habe ich nun mal wieder ein Problem, bei dem mir kein weiterer Lösungsweg einfällt.
Deswegen hoffe ich, dass jemand von euch mir helfen kann.
Ich habe Anfang 2007 mal nachgefragt, wie ich zwei LCDs an einen AVR anschließe. Da wurde mir gesagt, ich müsste das so machen, als ob ich ein 4*40 Zeichen LCD hätte, also DB4-7 und RS an die selben µC Pins, nur E der Dispalys an verschiedene Pins. Das habe ich auch gemacht. Die Pinbelegung sieht nun so aus:
E1 = B.1
E2 = B.6
RS = B.0
DB4 = B.5
DB5 = B.4
DB6 = B.3
DB7 = B.2
Und das Programm dazu sieht so aus:
'Die üblichen Anfangsdefinitionen, ohne die es nicht geht
$regfile = "m32def.dat"
$crystal = 11059200
$baud = 19200
'LCD
$lib "lcd4e2.lbx"
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.1 , E2 = Portb.6 , Rs = Portb.0
Config Lcdbus = 4
Dim ___lcde As Byte
Initlcd
Cursor Off Noblink
'Main +++
___lcde = 0
Locate 1 , 1 : Lcd "Hallo"
Wait 3
___lcde = 1
Locate 1 , 1 : Lcd "Hallo"
Wait 3
End
Aber das will irgendwie nicht so, wie ich will...
Beide LCDs zeigen einfach nichts an. Wenn ich immer nur eins betreibe funktionieren beide.
Habe ich irgendetwas falsch gemacht?
Könnte es sein, dass ich die Libery bearbeiten muss, da in der Pins festgelegt werden, an die das LCD angeschlossen ist, bzw. bei mir nicht angeschlossen ist. Wie müsste ich das ändern? Da müsste mir jemand helfen, da ich kein ASM kann.
Ich hoffe, ihr könnt mir weiterhelfen!
Viele Grüße,
jon
nachdem ich mich länger nicht gemeldet habe, habe ich nun mal wieder ein Problem, bei dem mir kein weiterer Lösungsweg einfällt.
Deswegen hoffe ich, dass jemand von euch mir helfen kann.
Ich habe Anfang 2007 mal nachgefragt, wie ich zwei LCDs an einen AVR anschließe. Da wurde mir gesagt, ich müsste das so machen, als ob ich ein 4*40 Zeichen LCD hätte, also DB4-7 und RS an die selben µC Pins, nur E der Dispalys an verschiedene Pins. Das habe ich auch gemacht. Die Pinbelegung sieht nun so aus:
E1 = B.1
E2 = B.6
RS = B.0
DB4 = B.5
DB5 = B.4
DB6 = B.3
DB7 = B.2
Und das Programm dazu sieht so aus:
'Die üblichen Anfangsdefinitionen, ohne die es nicht geht
$regfile = "m32def.dat"
$crystal = 11059200
$baud = 19200
'LCD
$lib "lcd4e2.lbx"
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.1 , E2 = Portb.6 , Rs = Portb.0
Config Lcdbus = 4
Dim ___lcde As Byte
Initlcd
Cursor Off Noblink
'Main +++
___lcde = 0
Locate 1 , 1 : Lcd "Hallo"
Wait 3
___lcde = 1
Locate 1 , 1 : Lcd "Hallo"
Wait 3
End
Aber das will irgendwie nicht so, wie ich will...
Beide LCDs zeigen einfach nichts an. Wenn ich immer nur eins betreibe funktionieren beide.
Habe ich irgendetwas falsch gemacht?
Könnte es sein, dass ich die Libery bearbeiten muss, da in der Pins festgelegt werden, an die das LCD angeschlossen ist, bzw. bei mir nicht angeschlossen ist. Wie müsste ich das ändern? Da müsste mir jemand helfen, da ich kein ASM kann.
Ich hoffe, ihr könnt mir weiterhelfen!
Viele Grüße,
jon