mikrocontroller.net

Forum: Compiler & IDEs PWM-Signal mit Atmega88


Autor: ksa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich möchte ein PWM Signal mit einem Atmega88 erzeugen.

Ich habe dazu diesen Code geschrieben:

DDRD |= (1<<PD5);
TCCR0A =  (1<<WGM02) |(1<<WGM00) | (1<<COM0B1) ;
TCCR0B |= (1<<CS01) ;
OCR0A = 40;

In etwas abgewandelter Form konnte ich schon eine Frequenz erzeugen

TCCR0A = (1<<WGM01) |(1<<COM0B0);
TCCR0B = (1<<CS01 | 1<<CS00);
OCR0A = 400;

Für das PWM-Signal hat das noch nicht geklappt,
kann mir da jemand helfen?

Autor: ksa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schon passiert

#ifndef F_CPU          // optional definieren
#define F_CPU 18432000UL    // MiniMEXLE mit 18,432 MHz Quarz
#endif

#include <avr/io.h>        // I/O Konfiguration (intern weitere Dateien)
#include "lcd_lib_de.h"      // Funktionsbibliothek zum LCD-Display

//Funktionsprototypen



int main()             // Start des Hauptprogramms
{
  initDisplay();


DDRD |= (1<<PD5);
TCCR0A =  (1<<WGM02) |(1<<WGM00) | (1<<COM0B1) ;
TCCR0B |= (1<<CS01) ;
OCR0A = 40
;

//DDRD |= (1<<PD5);
//TCCR1A = (1<<WGM10)|(1<<COM1A1);  //8Bit PWM | Nicht invertierte PWM
//TCCR1B = (1<<CS10)|(1<<CS12);    //Startet Timer und teilt durch 1024
//ICR1 = 255;            //Timer Zählt bis 255



while(1)
{



}

// Initialisierung Display-Anzeige

}



void initDisplay()        // Start der Funktion
{
  lcd_init();          // Initialisierungsroutine aus der lcd_lib

  lcd_gotoxy(0,0);             // Cursor auf 1. Zeile, 1. Zeichen
  lcd_putstr("Motoransteuerung"); // Ausgabe Festtext: 16 Zeichen

  lcd_gotoxy(1,0);             // Cursor auf 2. Zeile, 1. Zeichen
  lcd_putstr("durchPWM-Signals");  // Ausgabe Festtext: 16 Zeichen

}                // Ende der Funktion

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

Bewertung
0 lesenswert
nicht lesenswert
ksa schrieb:

> DDRD |= (1<<PD5);
> TCCR0A =  (1<<WGM02) |(1<<WGM00) | (1<<COM0B1) ;

WGM02 ist im TCCR0B Register

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

Bewertung
0 lesenswert
nicht lesenswert
ksa schrieb:
> schon passiert

Und wo veränderst du OCR0B ?

Autor: ksa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauche ich OCR0B überhaupt verändern?

Autor: ksa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, das sieht schon besser, danke

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.