Gast
#51974
Hallo, mal eine dumme Frage: ich bastle gerade an einem programmierbaren Recheckgenerator mit Mega8, LCD 16x2 und drei Tasten, womit die Pulsdauer/Pausendauer in drei Bereichen(usec, msec, sec) mit 000 bis 999 eingegeben werden kann. Die Interface (LCD, Tasten, Puls-/Pausedauer-Eingabe) funktioniert bereits. Würde gerne so ca. 1usec Mindestpulsdauer anstreben (und max. 999sec). Die Zeitbasis wird durch Timer0 mit Prescaler=8 angegeben, Quarz=8Mhz, d.h. jede 1usec habe ich einen Timer0_ovf_interrupt. In der Interruptroutine möchte ich dann die Pulsdauer (und auch die Pause zwischen den Pulsen) mittels Variable hochzahlen und den Puls auf einen Port ausgeben (in der main-Schleife geht das leider nicht, da dort auf andere Ereignisse unbestimmt lang gewartet wird). Nun meine Frage: Ich möchte grob abschätzen, wie viele Instruktionen in der Interruptroutine Platz haben (bzw haben dürfen)? Meiner Meinung nach sind das nicht mehr als 8, weil der Clock ja 8Mhz ist und der Interrupt jede 1usec kommt, ist das korrekt, hm..? Und wie ich das sehe, werde ich wohl kaum innerhalb 1usec alles erzeugen und ausgeben können (Pulsdauer und Pausendauer berechnen, Portausgabe...?) Also ein Impuls mit 1usec Dauer und 1usec Pause werde ich unter diesen Ümständen vielleicht ziemlich ungenau erzeugen, und für 999usec Pulsdauer und 999usec Pause (geschweige denn 999sec!!!) reicht die Bearbeitungszeit von 1usec in der Interruptroutine gar nicht aus??? Wie seht Ihr das, bin für Eure Meinung dankbar, da ich plötzlich Lücken in mein Wissen erkannt habe :))) PS: Unter "usec" meine ich natürlich Mikrosekunde :)) MfG, Emil