www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega32 4xPWM bascom


Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo


Im Datenblatt des Atmega32 steht, dass er vier PWM Ausgänge besitzt.
Wie Kannich diese in Bascom ansprechen.
2 klappen ja noch (hab ich von roboternetz.de/wissen) (Keine werbung)

Aber wie kann ich alle vier ansteuern?

Infos, dass keine unnötigen diskussionen aufkommen:

Atmega32
Brauche nur die Configuration und ein Programmbeispiel, um alle vier 
anzusprechen



Vielen Dank



Christian

Autor: Der Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascom Anfragen werden in einem C-Forum nicht beantworted!

http://bascom-forum.de/

Autor: christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier in diesem Forum gibt es aber noch mehr bascom anfragen?!?!?!!

Autor: Der Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die werden aber alle gelöscht.
Das Bascom Forum ist dein Freund.

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Teufel: Du schwätzt dummes Zeugs, BASCOM-Fragen werden hier sehr wohl 
beantwortet. Bist wohl auf der Jagd nach "Kunden" für Dein 
Kindergarten-Forum? Oder wie soll man Deine aggressive 
Bascom-Forum-Werbung verstehen?

@Christian: Schau Dir mal das AVR-Buch von Roland Walter an, das müsste 
auch online als Leseprobe auf seiner HP stwhen. Dort wirst Du auf fast 
jeder zweiten Seite darauf hingewiesen, dass das Benutzen von BASCOM den 
Blick ins Datenblatt nicht erspart. Du erfährst auch, dass man nicht 
alles mit den CONFIG-Befehlen von BASCOM machen muss, sondern dass man 
die I/O-Register (der Timer und anderen integrierten Hardware) auch von 
Hand bedienen kann, so wie es auch der C- oder ASM-Programmierer macht.

Zu den 4 PWMs... Schau zuerst auf das Anschluss-Schema auf Seite 2 des 
Mega32-Datenblatts. Dort stehen Namen an den Pins. Suche nach den 
PWM-Pins, sie heißen OCxx, OC für Output-Compare, x(0,1,2) für die 
Timernummer und x (A,B) für die Unternummer innerhalb des Timers. Nun 
weißt Du erstmal, welche Timer mit PWM ausgestattet sind. Jetzt kannst 
Du im Kapitel des jeweiligen Timers nach der Registerbeschreibung suchen 
und erfährst, welche Bits in welchen I/O-Registern gesetzt werden 
müssen, um die gewünschte Funktion einzuschalten. Damit kannst Du auch 
die Modi aktiveren, die BASCOMs CONFIG nicht unterstützt.

Zuerst solltest Du aber mal die Randbedingungen klären, vielleicht 
genügt Dir ja eine relativ geringe PWM-Frequenz oder Auflösung, die Du 
in Software einfacher realisieren kannst. Eine Lichtsteuerung mit 16 
PWMs in Software macht ein Mega32 völlig nebenbei, während er noch einen 
Ziffern-Tastenblock abfragt und ein LCD4004 steuert. Das war allerdings 
in ASM.

~

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1.)
in den Registern Tccr1a,Tccr1b,Tccr2 und Tccr0 Eigenschaften der Kanäle 
festlegen
PWM Frequenz, Phase, Bitbreite usw...
->siehe Datenblatt

2.)
den Registern Ocr1al,Ocr1bl,Ocr2 und Ocr0 den gewünschten 
Helligkeitswert zuweisen

3.)
Beim Anschluss die festgelegten Pins beachten
Ocr1al(PWM1) - PD5
Ocr1bl(PWM2) - PD4
Ocr2  (PWM3) - PD7
Ocr0  (PWM4) - PB3
------------------------------------------------------------------------ 
-
In Bascom sollte das dann etwa so aussehen:

Tccr1a = &B10100001
Tccr1b = &B00000010
Tccr2 = &B01100010
Tccr0 = &B011
Assr = &B00000000

Ocr1al = 127
Ocr1bl = 255
Ocr2 = 15
Ocr0 = 0


Gruß Jan

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tccr0 ist natürlich ebenfalls 8 Bit breit, also

Tccr0 = &B01100010

oder wies auch immer eingestellt werden soll

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.