Ferrice
20.12.2004, 18:57
Hallo leute..
Versuche mim AVR-Studio ein LCD anzusteuern.
LCD: 1x16 Zeichen
Und zwar hab ich folgendes Problem:
Ich mache zuerst die Init des LCDs:
rcall Wait_05ms ; Warteschleife vor Init >15ms
rcall Wait_05ms
rcall Wait_05ms
ldi data,0b00000011
out PORTC,data
rcall LCD_enable ; 1. Initialisierung
rcall Wait_05ms ; Warteschleife
rcall LCD_enable ; 2. Initialisierung
rcall Wait_05ms ; Warteschleife
rcall LCD_enable ; 3. Initialisierung
rcall Wait_05ms ; Warteschleife
ldi data,0b00000010 ; 4-Bit-Interface
out PORTC,data
rcall LCD_enable
ldi data,0b00101000 ; Function set
rcall LCD_command ; 4-Bit, 2-Zeilen, 5x7 Zeichen
ldi data,0b00001100 ; Display ON/OFF
rcall LCD_command ; Display on, Cursor on, Blinken off
ldi data,0b00000001 ; Display ON/OFF
rcall LCD_command ; Displayinhalt löschen
ldi data,0b00000110 ; Entry mode set
rcall LCD_command ; Adresse inkrement, Scrolling off
Dannach gebe ich ihm probeweise 16 zeichen aus..
es werden aber nur 8 angezeigt..
Muss ich ihm nach den 8 zeichen irgendeinen command geben??
oder warum haut das bei mir nicht hin..
bitte um eure hilfe..
mfg
ferrice
Versuche mim AVR-Studio ein LCD anzusteuern.
LCD: 1x16 Zeichen
Und zwar hab ich folgendes Problem:
Ich mache zuerst die Init des LCDs:
rcall Wait_05ms ; Warteschleife vor Init >15ms
rcall Wait_05ms
rcall Wait_05ms
ldi data,0b00000011
out PORTC,data
rcall LCD_enable ; 1. Initialisierung
rcall Wait_05ms ; Warteschleife
rcall LCD_enable ; 2. Initialisierung
rcall Wait_05ms ; Warteschleife
rcall LCD_enable ; 3. Initialisierung
rcall Wait_05ms ; Warteschleife
ldi data,0b00000010 ; 4-Bit-Interface
out PORTC,data
rcall LCD_enable
ldi data,0b00101000 ; Function set
rcall LCD_command ; 4-Bit, 2-Zeilen, 5x7 Zeichen
ldi data,0b00001100 ; Display ON/OFF
rcall LCD_command ; Display on, Cursor on, Blinken off
ldi data,0b00000001 ; Display ON/OFF
rcall LCD_command ; Displayinhalt löschen
ldi data,0b00000110 ; Entry mode set
rcall LCD_command ; Adresse inkrement, Scrolling off
Dannach gebe ich ihm probeweise 16 zeichen aus..
es werden aber nur 8 angezeigt..
Muss ich ihm nach den 8 zeichen irgendeinen command geben??
oder warum haut das bei mir nicht hin..
bitte um eure hilfe..
mfg
ferrice