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)
Code:
$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
Lesezeichen