PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD zeigt nichts an



robodriver
02.11.2007, 10:14
Hallo Leute,

ich habe mir hier eine Schaltung mit einem LCD-Display aufgebaut.
Hardwarebeschaltung hängt im Anhang.
Das Programm dazu sieht wie folgt aus:
(sollte doch eigentlich korrekt sein)


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

'DDR = &B76543210 ; 0=Eingang ; 1=Ausgang
Ddrb = &B00111100
Ddrc = &B00001110
Ddrd = &B00000001
Portb = &B00000000
Portc = &B00000000
Portd = &B00000000

Config Sda = Portc.4 'Data-Line für I2C-Bus
Config Scl = Portc.5 'Tackt für I2C-Bus

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portc.1 , Rs = Portc.3
Config Lcdbus = 4

Do
Set Portd.0
Wait 1
Cls
Locate 1 , 1
Lcd "Hallo Welt"
Reset Portd.0
Wait 1
Loop


So, wenn ich nun die Schaltung aktiviere, dann leuchtet am Display die erste Zeile. Mehr passiert nicht.
Der Pin D0 wechselt unerbittlich von 0 auf 1 und wieder zurück. Der Controller scheint also einwandfrei zu laufen und auch auf den Pins PB2-5 wird immer wieder etwas gesendet.
RW habe ich nachgemssen, ist 0V
Bin so langsam echt ratlos.

Das einzige was mir äußerst komisch vorkommt:
Der Pin D0 wechselt seinen Status nur alle etwa 3,5 Sekunden...
Könnte da der fehler liegen, das auch nichts am Display angezeigt wird?

Angeschlossen ist ein 4 MHz Quarzbaustein.
Fusebits sind wie folgt gesetzt:
Low Fuse: 11100001
High Fuse: 11011001
Lockbits: 11111111

Jon
02.11.2007, 10:26
Hast du D0-D3 des LCDs an GND angeschlossen?
Vielleicht hilft auch ein initlcd vor der do-Loop Schleife?

jon

robodriver
02.11.2007, 10:42
Okay, das initlcd hats schon gebracht :)
vielen Dank.

Aber irgendwie brauchen alle wait-routinen immer noch das ca. 3,5 fache der Zeit von dem, was angegeben ist. (also statt 1 Sekunde etwa 3,5 Sekunden)

chr-mt
02.11.2007, 10:45
Dann läuft der Controller wohl doch noch mit internem Takt...
Kannst ja mal den Quarz abmachen und probieren, ob der Controller immer noch läuft.


Gruß
Christopher