Hi!
<. Diese 1 signalisiert dem LCD lediglich: Jetzt kannst
<du anfangen. Danach kann Enable wieder auf 0 gehen,
Das stimmt so nicht, E ist flankengetriggert und zwar H->L.
Mein "E" steht zb. grundsätzlich auf H.
zB. Ausgabe in 4Bit-Mode:
;****** SUB Ein Zeichen oder eine Funktion setzen
*******************************
Z_set: sbi portb,RS ;RS = 1
Fu_set: swap lcdtmp
out portd,lcdtmp
cbi portb,E ;E = 0 = Daten übernehmen(LCD)
inc takt ;mit TOV0 Takt erzeugen
t4: tst takt ;takt noch 1? ->t4
brne t4
sbi portb,E ;E = 1
rcall _2us
swap lcdtmp ;Nibbel tauschen
out portd,lcdtmp ;und Low-Nibbel ausgeben
cbi portb,E ;E = 0 = Daten übernehmen(LCD)
inc takt ;mit TOV0 Takt erzeugen
t5: tst takt ;takt noch 1? ->t2
brne t5
sbi portb,E ;E = 1
cbi portb,RS ;RS = 0
ret
Und das geht ohne Probleme.
Viel Erfolg, Uwe