Ja also das display erscheint zu anfang wenn ich es in betrieb nehme mit
einer hellen Zeile und einer Dunklen Zeile. Das heist es ist Standart
mäßig in 1 Zeilen Modus, 5x11, 8Bit Betrieb. Nach Function set aktiviert
es zumindestens Zwei Zeilen aber sonst gar, kein curser blinken und die
weitern standard einstellungen die ich in meiner Init Funktion einstelle
werden nicht übernommen. Die signale sind auch Ok,sie liegen auch wie
ich sie einstelle am display an und somit ist es ein rein Software
techniches Problem. Um an das Display Befehle zu senden setze ich jeden
bin einzelnd Z.B. so :
void lcd_Init(void){
LCD_RS = 0;
LCD_RW = 0;
LCD_EN = 0;
wait_ms(30);//wait beginn
DB0 = 0;//Set Function
DB1 = 0;
DB2 = 1;
DB3 = 1;
DB4 = 1;
DB5 = 1;
DB6 = 0;
DB7 = 0;
LCD_EN = 1;
zeit_s(3);
LCD_EN = 0;
DB0 = 0;//Entry Mode
DB1 = 0;
DB2 = 0;
DB3 = 0;
DB4 = 0;
DB5 = 1;
DB6 = 1;
DB7 = 1;
LCD_EN = 1;
zeit_s(3);
LCD_EN = 0;
DB0 = 0;//Display on/cursor Blinkt
DB1 = 0;
DB2 = 0;
DB3 = 0;
DB4 = 1;
DB5 = 1;
DB6 = 1;
DB7 = 1;
LCD_EN = 1;
zeit_s(3);
LCD_EN = 0;
Da es in Hexadezimal nicht Funktioniert und die signale an den port Pins
nicht richtig anliegen so z.B.:
LCD_RS = 0;
LCD_RW = 0;
P6 = 0x01H //clear Display
LCD_EN = 1;
zeit_s(3);
LCD_EN = 0;
oder ist die Zeitschleife vieleicht mau, es steckt hinter zeit_s nur
eine simple for Schleife die aber lange genug zählt um die mindest
zeiten für die datenübernahme eizuhalten.