Hallo Leute, Nun habe ich mich jeden Tag mit der Pulsweitenmod. beschäftigt. Ich meine die Fast PWM bzw. Phase Correct-PWM am Tiny 13 (Timer 0) begriffen zu haben, stellt sich für mich die Frage, ob ich den CTC - Mod (was ja keine PWM ist) auch richtig im Griff habe. Bevor ich also ein Servo bewege, wollte ich erst mal mit den verschied. Modis Klarheit schaffen. Hier der Code, evtl. für manchen Anfänger ganz hilfreich. Bitte schreibt mir, wenn noch Fehler in den Kommentaren bzw. der Programmstruktur sind. ;Projekt: Projekttiny 13 Datum: 13.04.2013 ; Datei: CTC-MOD2-0A.asm ; Mode 2 = CTC (Takt nur für Outp. PB0=OC0A) ; je kleiner der Wert im Compare-Reg. OCR0A, je höher die Frequ. ; Beispiel: 1,2MHz / 2 x N x (1+OCR0A) = 1,2/202 = 5,94 KHz ; N = Prescale im Beispiel 1 ; sichtbares Impuls- Pausenverhältnis über Skop immer 1:1 .include "tn13def.inc" .def akku = r16 ; Takt an PB0 (Pin OC0A) Periode = 0,168 ms ldi akku,(1<<COM0A0) | (1<<WGM01) out TCCR0A,akku ldi akku,(1<<CS00) ; no Prescale out TCCR0B,akku .equ Wert=100 ; Wert für OCR0A | an PB0 (OC0A) ldi akku,(1<<PB1) | (1<<PB0) out DDRB,akku ; PB1+PB0 = Output ldi akku,Wert ; Wert für OCR0A laden =100 out OCR0A,akku ; und in Output Compare Register A laden loop: rjmp loop ; Endlosschleife .EXIT
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.