Ok, habs noch nicht komplett analysiert.
Aber die erste Zeile die mir auffällt ist die:
LCD_RAM CODE 0Ah
Mein Assembler versteht das garnicht. Gibst du damit nicht der Adresse 0Ah im Programmspeicher den Namen LCD_RAM?
Ich denke das sollte IDATA heißen.
Das zweite ist das du beim initialisieren bereits im 4-Bit Modus sendest. Das darf nicht sein. Zum initilasisieren mußt du das Highnibble so anlegen als wärst du im 8-Bit-Modus und dann Enable pulsen.
Sollte in etwa so aussehen:
Code:lcd-reset: CLR en CLR rs CLR rw CLR db7 CLR db6 SETB db5 SETB db4 call wait-long SETB en CLR en call wait-long SETB en CLR en call wait-long SETB en CLR en call wait CLR DB4 ;hier schon im 8-Bit Modus auf 4-Bit umstellen SETB en CLR en RET







Zitieren

Lesezeichen