mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fast-PWM ATMega8


Autor: pvvm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich versuch gerade Fast PWM (mode 15) mit meinem ATMega8 umzusetzen! 
Jedoch funktioniert das nicht so wie ich mir gedacht habe!
Hier ist mein Quellcode:
.include "m8def.inc"
main:
  ldi r16, 0xFF
  out DDRB, r16   ;PORTB auf Ausgang
  
  ldi r16, (1<<COM1B1) | (1<<WGM11) | (1<<WGM10)
  out TCCR1A, r16     ;non-inverting mode und mode 15

  ldi r16, (1<<WGM12) | (1<<WGM13) | (1<<CS10) | (1<<CS12)
  out TCCR1B, r16     ;mode 15 und Prescaler 1024

  ldi r16, 0xFF
  out OCR1AH, r16
  ldi r16, 0xFF
  out OCR1AL, r16     ;Top Value: 0xFFFF

  ldi r16, 0x99
  out OCR1BH, r16
  ldi r16, 0x99
  out OCR1BL, r16     ;Compare Value 0x9999


loop:
  rjmp loop
Ich hab eine LED an PB1 angeschlossen aber die leuchtet durchgehend...
Übrigens hab ich ein 16 MHz Quarz angeschlossen und die Fuses gesetzt!
Was mach ich noch falsch?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ich hab eine LED an PB1 angeschlossen aber die leuchtet durchgehend...
>Übrigens hab ich ein 16 MHz Quarz angeschlossen und die Fuses gesetzt!
>Was mach ich noch falsch?

Läuft dein Controller wirklich mit 16MHz? Also Fuses richtig gesetzt?

MfG Spess

Autor: pvvm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab mit dem Controller schon mal USART betrieben und es hat 
funktioniert! Hab Häckchen bei
-SUT1
-BOOTSZ1
-BOOTSZ0.
Weis nicht was ich falsch mache!? Der Code müsste auch richtig sein 
oder?

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich hab eine LED an PB1 angeschlossen aber die leuchtet durchgehend...

In Anbetracht dessen daß die PWM auf OC1B erzeugt wird nicht 
verwunderlich.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

An deinem Programm kann ich erstmal keinen Fehler erkennen.

Überprüfe mal deine Hardware.

MfG Spess

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Led ist an PB1 angeschlossen, das ist OC1A. Ein PWM-Ausgang ist in 
dem Code im Moment nur für OC1B (PB2) konfiguriert.

Also muss entweder die LED an PB2 angeschlossen werden, oder ein 
PWM-Ausgang für OC1A konfiguriert werden.

Grüße,

Peter

Autor: pvvm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ok das war mein Fehler! Die LED war falsch angeschlossen... Ich finde 
aber das das im Datasheet nicht wirklich steht, an welchem Pin der 
Ausgang (für mode 15) ist!!!

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> das im Datasheet nicht wirklich steht, an welchem Pin der Ausgang
>(für mode 15) ist

Für Mode 15 gibt's in diesem Sinn keinen Ausgang.

Welcher der OCxX Ausgänge aktiv ist, entscheidet nicht der Mode 15 über 
die Waveform Generation Mode(WGM)Bits, sondern das wird über die Compare 
Output Mode(COM) Bits eingestellt, wobei in COMxXx die "x" folgendes 
bedeuten:

x = Timernummer, X = A oder B Kanal, x = Konfigurationsbitnummer.

Genauso sieht's auch mit dem OCxX Ausgang aus, da Du über COM1B1 den 
B-Kanal von Timer1 genutzt hast, ist natürlich auch der OC1B aktiv, und 
wenn man im Datenblatt nachsieht, dann findet man den im Pinout auf 
Seite 2.

Das ist alles Basiswissen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:

> Das ist alles Basiswissen.

Oder zumindest ein wenig logisch nachdenken.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.