//---------------------------------------------------------------------- // Beispielprogramm Lauflicht // Evaluationboard ATmega32 // Lauflicht mit LEDs an Port A //---------------------------------------------------------------------- // Autor: Sven Jordan, http://www.s-jordan.de // Version: 2007-05-28.01 //---------------------------------------------------------------------- //---------------------------------------------------------------------- // Headerdateien //---------------------------------------------------------------------- #include #include #include #include //---------------------------------------------------------------------- // Globale Variablen //---------------------------------------------------------------------- volatile unsigned int takt_1s = 0; // Wird alle 1s von Timer-ISR auf // 1 gesetzt und in main() bearbeitet volatile unsigned int schritt = 0; // Aktueller Programmschritt //---------------------------------------------------------------------- // Hauptprogramm //---------------------------------------------------------------------- int main(void) { DDRA=0b11111111; // Port A alles Ausgaenge TIMSK=(1<=9) schritt=0; } } return(0); } //---------------------------------------------------------------------- // Interrupt-Subroutinen //---------------------------------------------------------------------- ISR (TIMER1_OVF_vect) // Timer 1 Ueberlauf { } ISR (TIMER1_COMPA_vect) // Timer 1 Compare Match A { static unsigned long int zaehler=0; TCNT1H=0; // Timer 1 zuruecksetzen TCNT1L=0; zaehler++; // Zaehler alle 10ms erhoehen if(zaehler>=100) // Zaehler >=100 bedeutet 1s { zaehler=0; takt_1s=1; } } ISR (TIMER1_COMPB_vect) // Timer 1 Compare Match B { }