Forum: Mikrocontroller und Digitale Elektronik 10 Mhz Takt mit 20 Mhz erzeugen


von Tobias Rohde (Gast)


Lesenswert?

Hallo,
ich möchte mit meinem mega8 einen 10mhz Takt an einem I/O Pin
erzeugen.Betreibe ihn übertaktet mit einem 20Mhz Quarz. Wie würdet ihr
das anstellen?
So funktioniert es leider nicht, da der rjmp 2 Take benötigt :(

.include "m8def.inc"
 ldi r16,0xff
 out DDRB,r16
 ldi r15,0

loop:
 out PORTB, r15 ; 1 Takt
 nop            ; 1Takt
 out PORTB, r16 ; 1 Takt
 rjmp loop ; 2 Takte

Vielen Dank!

von Hermann G. (hahgeh)


Lesenswert?

Hallo,

du könntest den CTC-Modus des Timer1 benutzen und die obere Grenze im
OCR1A-Register auf null stellen und den OC1A-Pin aktivieren, dann kommt
dort genau die halbe Frequenz raus. Natürlich kein Prescaler.

Ich weiß nicht, ob es mit 20Mhz auch funktioniert, aber bestimmt.

...oder OCR1B

mfgvhg

von D. W. (dave) Benutzerseite


Lesenswert?

Oder SPI auf Takt/4 stellen und 2X Bit stellen, dann immer wieder Daten
ins SPI schaufeln.

von Läubi (Gast)


Lesenswert?

oder nen FF hinter deine 20mhz quelle setzen, das teilt deine frequenz
durch 2 ohhne avr

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> oder nen FF hinter deine 20mhz quelle setzen, das teilt deine frequenz
durch 2 ohhne avr

LOL, warum denn OHNE Prozessor wenn man sowas "komplexes" wie eine
derartige Frequenzteilung MIT Prozessor machen kann ...


Mann kann das auch noch weiter ausbauen:
Nimm einen noch fetteren Prozessor, den übertaktest du dann mit ca 100
Mhz. Den Pegelzustand deines Eingangstaktes wird dann über einen A/D
Wandler eingelesen, und immer wenn der Pegel eine gewisse Höhe erreicht
hat, bla bla bla etc.


HURRAA, ES IST FREITAG !!!!

von Sssssss (Gast)


Lesenswert?

Oder du nimmst gleich nen 10Mhz Quarzoszillator
duckundweg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.