#include #include void Taste(void); void ausgabe(int Name); void init_LCD(void); void Main (void) { int i; int Name[10] ={68,65,78,32,118,115,32,83,69,66}; printf("Hallo..."); init_LCD(); ausgabe(Name[0]); ausgabe(Name[1]); ausgabe(Name[2]); ausgabe(Name[3]); ausgabe(Name[4]); ausgabe(Name[5]); ausgabe(Name[6]); ausgabe(Name[7]); ausgabe(Name[8]); ausgabe(Name[9]); while(1) { Taste(); }; } //-------------------------- void Taste(void) { int Taste1; { Taste1= P16; if (Taste1==0) { printf("\n\n Taste wurde gedrückt!"); while(P16==0); // wartet bis Taste wieder los gelassen wird }; }; } //---------------------------------- void ausgabe (int Name) { int i; P40 = 1; //RS - Datenregister selektieren P41 = 0; //RW - Schreiben auf das Display P42 = 1; //E- Flanke vorbereiten P6 = Name; // Daten an den Port legen P42 = 0; //E - Flanke erzeugen for(i=0;i<800;i++); } void init_LCD (void) { unsigned char befehl[6]={0x30,0x30,0x38,0xC,0x01,0x06}; //Initialisierungsbefehle aus Tabelle int i,k; //Zählvariable für die Verzögerungsschleife und Ausgabeschleife P40=0; //RS //Befehlsregister auswählen P41=0; //RW //Schreiben auf das Display for(k=0;k<6;k++) //Ausgabeschleife für die 6 Befehle { P42 = 1; //E //Flanke vorbereiten P6 = befehl[k]; //Befehl ausgeben P42 = 0; //abfallende Flanke erzeugen for(i=0;i<800;i++); //warten auf Befehlsausführung } //end of for } //end of funktion