#include //Einbinden der Header Datei der Ein und Ausgänge #include //Einbinden der Header Datei zur verwendung von Integer #include //Einbinden der Header Daeti zum verwenden des Timers int j; int k; //Bekannt gebnen der Variablen j, k void warte (int zeit) ; //Bekannt gabe der Funktion warte int main (void) { while(1) //Endlosschleife { DDRC = 0xff //Alle Pins des Port C werden als Ausgänge gesetzt if (PB0 == 1 & PB4 == 1) //Springe in die Schleife wen Z Achse auf 1/10 SPS = 1 und Freigabesignal = 1 { j = 0; //Setze j auf 0 PC0 = 1; //Setze Z Achse Richtung auf 1 for (j = 0; j <80; j++) //Zähle bis 80(Pulse) dan Spring aus der Schleife raus { PC1 = 1; //Setze Z Achse Puls = 1 warte (5000); //Einstellen der Zeit der Positiven Halbwelle PC1 = 0; //Setze Z Achse Puls = 0 warte (5000); //Einstellen der Zeit der Negativen Halbwelle if(j = 80) //Nach den 80 Pulsen springe in diese Schleife { PD0 = 1; //Setze Z Achse auf 1/10 Ausgang SPS auf 1 if(PD0 = 1) //Wenn Z Achse auf 1/10 Ausgang SPS auf 1 ist Springe hier rein { if(PB5 = 1) //Wenn Signal Erhalten 1 ist Springe hier rein { PD0 = 0;//Setze Z Achse auf 1/10 Ausgang SPS auf 0 } //Ende Schleife if(PB5 = 1) } //Ende Schleife if(PD0 = 1) } //Ende Schleife if(j = 80) } //Ende Schleife for (j = 0; j <80; j++) } //Ende Schleife if (PB0 == 1 & PB4 == 1) if (PB1 == 1 & PB4 == 1) //Springe in die Schleife wen Z Achse ab 1/10 SPS = 1 und Freigabesignal = 1 { j = 0; //Setze j auf 0 PC =0 0; //Setze Z Achse Richtung auf 0 for (j = 0; j <80; j++) //Zähle bis 80(Pulse) dan Spring aus der Schleife raus { PC1 = 1; //Setze Z Puls = 1 warte (5000); //Einstellen der Zeit der Positiven Halbwelle PC1 = 0; //Setze Z Puls = 0 warte (5000); //Einstellen der Zeit der Negativen Halbwelle if(j = 80) //Nach den 80 Pulsen spirneg in diese Schleife { PD1 = 1; //Setze Z Achse ab 1/10 Ausgang SPS auf 1 if(PD1 = 1) //Wenn Z Achse ab 1/10 Ausgang SPS auf 1 ist Springe hier rein { if(PB5 = 1) //Wenn Signal Erhalten 1 ist Springe hier rein { PD1 = 0;//Setze Z Achse ab 1/10 Ausgang SPS auf 0 } //Ende Schleife if(PB5 = 1) } //Ende Schleife if(PD1 = 1) } //Ende Schleife if(j = 80) } //Ende Schleife for (j = 0; j <80; j++) } //Ende Schleife if (PB1 == 1 & PB4 == 1) if (PB2 == 1 & PB4 == 1) //Springe in die Schleife wen Schrittmoto Werkzeugwechsler rechts = 1 und Freigabesignal =1 { j = 0; //Setze j auf 0 PC2 = 1; //Setze Schrittmotor Werkzeugwechsler Richtung auf 1 for (j = 0; j <10; j++) //Zähle bis 10(Pulse) dan Spring aus der Schleife raus { PC3 = 1; //Setze Schrittmotor Werkzeugwechseler Puls = 1 warte (1000); //Einstellen der Zeit der Positiven Halbwelle PC3 = 0; //Setze Schrittmotor Werkzeugwechseler Puls = 0 warte (1000); //Einstellen der Zeit der Negativen Halbwelle if(j = 10) //Nach den 10 Pulsen spirneg in diese Schleife { PD2 = 1; //Setze Schrittmotor Werkzeugwechsler Rechts SPS auf 1 if(PD2 = 1) //Wenn Schrittmotor Werkzeugwechsler Rechts SPS auf 1 ist Springe hier rein { if(PB5 = 1) //Wenn Signal Erhalten 1 ist Springe hier rein { PD2 = 0;//Setze Schrittmotor Werkzeugwechsler Rechts SPS auf 0 } //Ende Schleife if(PB5 = 1) } //Ende Schleife if(PD3 = 1) } //Ende Schleife if(j = 10) } //Ende Schleife for (j = 0; j <10; j++) } //Ende Schleife if (PB2 == 1 & PB4 == 1) if (PB3 == 1 & PB4 == 1) //Springe in die Schleife wen Schrittmoto Werkzeugwechsler links = 1 und Freigabesignal = 1 { j = 0; //Setze j auf 0 PC2 = 0; //Setze Schrittmotor Werkzeugwechsler Richtung auf 0 for (j = 0; j <10; j++) //Zähle bis 10(Pulse) dan Spring aus der Schleife raus { PC3 = 1; //Setze Schrittmotor Werkzeugwechseler Puls = 1 warte (1000); //Einstellen der Zeit der Positiven Halbwelle PC3 = 0; //Setze Schrittmotor Werkzeugwechseler Puls = 0 warte (1000); //Einstellen der Zeit der Negativen Halbwelle if(j = 10) //Nach den 10 Pulsen spirneg in diese Schleife { PD3 = 1; //Setze Schrittmotor Werkzeugwechsler Links SPS auf 1 if(PD3 = 1) //Wenn Schrittmotor Werkzeugwechsler Links SPS auf 1 ist Springe hier rein { if(PB5 = 1) //Wenn Signal Erhalten 1 ist Springe hier rein { PD3 = 0;//Setze Schrittmotor Werkzeugwechsler Links SPS auf 0 } //Ende Schleife if(PB5 = 1) } //Ende Schleife if(PD3 = 1) } //Ende Schleife if(j = 10) } //Ende Schleife for (j = 0; j <10; j++) } //Ende Schleife if (PB3 == 1 & PB4 == 1) } //Ende Hauptprogramm } void warte (int zeit) //Funktion Warte { k=0x00; //Variable auf 0 setzen TCCR0 = (1<