Probier's mal so:Jetzt hab ich allerdings noch das Problem der extremen
Ungenauigkeit.
Gruß DirkCode:'///////////////////////////////////////////////////////////////////////////// 'Stand: 19.01.2008 'Name: "" ' ATMEGA8- SelbstBauModul '///////////////////////////////////////////////////////////////////////////// $regfile = "m8def.dat" $crystal = 14745600 'ext. Quarz '/// DEFINITIONEN /////////////////////////////////////////////////////// ' Ausgänge Config Pinb.2 = Output ' Pin B.2 als OUTPUT => Relais+LED '/// TIMER ///////////////////////////////////////////////////////////////////// Config Timer1 = Timer , Prescale = 256 'Takt: Quarz/256 ' Bei 14Mhz Quarz => T = 2 hoch 16 x 256/ 14Mhz = 1,13 sec Periode ' 1/ 1,3 = 0,879 sec Const Startwert = 7936 On Timer1 Ontimer1 'Interrupt-Routine für Timer1-Overflow Enable Timer1 'Timer1-Overflow-Interrupt einschalten Enable Interrupts 'Interrupts global zulassen '--------------------------------------------------------- Do nop Loop End '--------------------------------------------------------- Ontimer1: 'Interrupt-Routine Timer1 = Startwert Toggle Portb.2 ' Ein=> Aus Return
P.S.: $crystal NICHT ändern, weil sich auch andere Timings damit verschieben (z.B. RS232)!






Zitieren
Lesezeichen