für die einstellbare Frequenz habe ich eine Lösung gefunden
Nur regiert der µC nicht darauf wenn ich PB.2 auf Masse ziehe. Dann sollte das PWM Signal sich eigentlich ändern.Code:$regfile = "ATtiny13.dat" '$crystal = 4800000 Dim Hi As Byte Dim Lo As Byte Dim Phase As Bit Dim Get_break_signal As Bit Dim B As Byte Const Reload = 95 'um 24 Hz zu erzeugen 4,8Mhz/8/64 $hwstack = 10 'Eingefügt Weil die Standardvorgaben $swstack = 10 'für den Tiny13 zu $framesize = 20 'hoch sind. Ddrb = &B00000011 Portb = &B00000100 Lo = Reload - 13 Hi = Reload - Lo Phase = 1 Config Timer0 = Timer , Prescale = 8 On Timer0 Timer_isr Enable Timer0 Enable Interrupts Declare Function Get_break_signal() As Byte Do nop Loop Timer_isr: If Phase = 1 Then If Get_break_signal() = 1 Then Portb.0 = 1 Else Portb.0 = 0 End If Portb.1 = 0 Load Timer0 , Lo Phase = 0 Else If Get_break_signal() = 1 Then Portb.0 = 0 Else Portb.0 = 1 End If Portb.1 = 1 Load Timer0 , Hi Phase = 1 End If Return Function Get_break_signal() As Byte Local Bt As Byte For Bt = 1 To 3 If Portb.2 = 0 Then Get_break_signal = 0 Exit Function End If Next Bt Get_break_signal = 1 End Function







Zitieren

Lesezeichen