Zitat Zitat von -tomas-
Ich sehe da in Bascom keine großen Probleme, da man nicht unbedingt Takte zählen muss.

Die 6666us, 3333us und 833 us lassen sich einfach mit dem Clear Timer on Compare Match (CTC) Mode realisieren.
Ersteinmal solltest Du Dich von den 8Mhz trennen. Man nehme einen 14.7456MHz-Quarz (Standardfrequenz für RS232) und
setze den 16-Bit Timer in den CTC-Mode mit dem prescaler factor =64.

Ensprechend dem Wert im Register OCR1A wird jetzt regelmäßig ein Interrupt ausgelöst:
OCRR1A= 191 -> 833,333 us
OCRR1A= 767 -> 3333,333 us
OCRR1A= 1535 -> 3333,333 us
Man kann das auch mit dem Port OC1A verknüpfen (toggle).

Die 12µs lassen sich mit dem 14.7456MHz-Quarz nicht exakt relisieren...
DAher ist der Grundansatz mit den 14,7456MHz nicht das nonplusultra.

Praktisch kann er nämlich sehr wohl bei seinen 8 MHz bleiben.

In Takten (oder Zählschritten):
12µs = 96
833µs = 3332
3333µs = 26664
6666µs = 53328

Das sind alles Werte, die man mit dem Timer 1 ohne Prescaler erreichen kann.

Im übrigen, würde ich mir bei so einer Aufgabenstellung mal Gedanken über den kleinsten gemeinsamen Nenner dieser Zeiten machen.

Grüße,
da Hanni.