Atmega32 4xPWM bascom

Gast #1074700
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
Gast #1074983
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.

~
Gast #1075115
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

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.