PWM Register OC1B ansteuern ATMEGA8

Gast #1589625
Lesenswert?

Tach kann sich jemand mal das Programm ansehen.
1
  sbi  DDRB,1
2
  sbi  PORTB,1
3
  ldi  r16,0b10000001  
4
  out  TCCR1A,r16
5
  ldi  r16,0b00000010  
6
  out  TCCR1B,r16
7
  ldi  r16,50
8
  ldi  r18,0
9
  out  OCR1AH,r18
10
  out  OCR1AL,r16

Kann mir das Programm bitte für das Register OC1B umschreiben.
Ich bin nähmlich kurt vor dem verzweifeln.
#1589749
Lesenswert?

Das ist kein Programm. Es fehlen die Kommentare und die Bitnamen.

Um es zu verstehen, müsste man sich mühsam die Bitnamen aus dem 
Datenblatt zusammensuchen, was aber auch nicht zuverlässig funktioniert, 
da der AVR-Typ nicht angegeben wurde und die Timer der unterschiedlichen 
AVRs unterschiedlich ausgestattet sind.

...
Gast #1589762
Lesenswert?

Was hast du vor und was klappt nicht? Wenn die Funktionalität 
unverändert bleiben soll muss im Grunde nur anstelle von COM1A1 COM1B1 
gesetzt werden:
1
  sbi  DDRB,1
2
  sbi  PORTB,1
3
  ldi  r16,0b10000001  ->  ldi  r16,0b00100001  
4
  out  TCCR1A,r16
5
  ldi  r16,0b00000010  
6
  out  TCCR1B,r16
7
  ldi  r16,50
8
  ldi  r18,0
9
  out  OCR1AH,r18      ->   out  OCR1BH,r18
10
  out  OCR1AL,r16      ->   out  OCR1BL,r16

Leserlich ist der Code nicht. Sieht aus als hättest du ihn nicht selbst 
geschrieben. Versuch ihn zu verstehen denn lang ist er ja nicht. 
Datenblatt, AVR-Studio Simulator, 'ne Tasse Kaffe und 'ne Stunde Zeit 
reichen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren