Hallo Searcher,
habe gleich Deine Mitteilung ausgedruckt um es später zu verarbeiten...Danke Dir!

Zwischenzeitlich habe ich aus meinen Buch etwas entdeckt, was ich umgebaut habe.
Sieht so aus:

sbi DDRB,PB1 ; PB1 ist Ausgang OC1A
sbi DDRB,PB2 ; PB2 ist Ausgang OC1B

.equ WertH = 100 ; Konstante für OCR1AH u. OCR1BH (r16)
.equ WertL = 120 ; Konstante für ICR1H (r16)
.equ Wert = 70 ; Konstante für OCR1AL u. OCR1BL u.ICR1L (r17)


; Timer1 PWM programmieren
clr akku ; Steuerbits einsetzen
ori akku,(1 << COM1A1) | (0 << COM1A0) ; nicht inv.
ori akku,(1 << COM1B1) | (1 << COM1B0) ; inv.
ori akku,(1 << WGM11) | (0 << WGM10) ; PWM 9Bit phasenrichtig
out TCCR1A,akku ; Steuerregister A Timer1

ldi akku,0b001 ; Taktteiler :1
ori akku,(1 << WGM13) ; variable Frequenz durch ICR1 ;
out TCCR1B,akku ; Steuerregister B Timer1 start


ldi akku,WertH ; r16 auf 100
ldi r17,Wert ; r17 auf 70

out OCR1AH,akku ; Kanal A = 100
out OCR1AL,r17 ;

out OCR1BH,akku ; Kanal B = 100
out OCR1BL,r17 ;

ldi akku,WertL ; r16 auf 120
out ICR1H,akku
out ICR1L,r17


loop:
rjmp loop ;
.EXIT ; Ende des Quelltextes

die Konstanten habe ich vorgegeben und das Ganze aus der Loop Schleife
herausgenommen.
Die beiden LEDs blinken an PB1+PB2 unterschiedlich, da ja in den beiden Registern eine
Invertierung vorliegt.
Entferne ich die Vorgabe in ICR1H und L ist tote Hose, d.h die LEDs lassen sich mit den OCR1xx Registern
nur noch auf HIGH / LOW schalten.
Wiegesagt, das ist ein Wahnsinn, was sich hier abspielt, ob ich das in meinen Alter noch begreife?
Aber so schnell geb ich nicht auf.

Grüße

Rolf