//------------------------------------------------------------------------- // Titel : test //------------------------------------------------------------------------- // Funktion : // Schaltung : //------------------------------------------------------------------------- // Prozessor : ATmega8 // Takt : 4000000 Hz // Sprache : C // Datum : 2.3.2012 // Version : 1.0 // Autor : // Programmer: // Port : //------------------------------------------------------------------------- // created by myAVR-CodeWizard //------------------------------------------------------------------------- // #define F_CPU 4000000 #include #include volatile uint16_t lauf=10200; //-------------------------------------------------------------------- // TIMER2_COMP_vect - Timer2 Interrupt bei Vergleichswert // aktuelle Einstellung: 200.321 Hz 4.992 ms //-------------------------------------------------------------------- ISR(TIMER2_COMP_vect) { lauf--; if (lauf==0); lauf=10200; } //------------------------------------------------------------------------ // Initialisierungen //------------------------------------------------------------------------ void init() { // Ports initialisieren DDRB |= _BV(1); // PORTB1 auf Ausgang DDRB |= _BV(2); // PORTB2 auf Ausgang DDRD &= ~_BV(2); // PORTD2 auf Eingang mit PullUp PORTD |= _BV(2); //--- Timer 2 initialisieren --- TCCR2=0x05; // Teiler 1/128 TCCR2|=0x08; // Modus: Zählen bis Vergleichswert (WGM21=1) OCR2=156; // Vergleichswert speichern TIMSK|=0x80; // Interrupt bei Vergleichswert TCCR1A = (1<