PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM mit ATMega8



cheristi
27.12.2004, 11:32
Ahoi!
Ich möchte gerne ein paar Dioden dimmen, und muss dazu PWM "sprechen"
Ich hab mir mal das Beispiel von mc-project.de angeschaut

/************************************************** *********
Beispiel zur Initialisierung und Verwendung
der PWM des Atmega8
--> Dimmen von LEDs an den Ports OC1A und OC1B
************************************************** *********/

#include <avr/io.h>
#include <pwm_init.c>
#include <simple_delayroutinen.c>

int main(void) {

unsigned char i = 0;
pwm_init ();

for (;;) {

for (i=0; i<254; i++) {
OCR1A = i;
OCR1B = i;
delay_us (10000);
}
}
}

Und das geht auch ganz gut (Man braucht dazu natürlich noch http://www.mc-project.de/Pages/AVR/Software/simple_delayroutinen.c und http://www.mc-project.de/Pages/AVR/Software/pwm_init.c)
Aber 1. brauche ich 3 PWM Ports (und das hat der ATMega8 ja) und 2. möchte ich eigentlich mehrere (jeweils 3-4 Dioden) mit einem PWM-Port ansprechen.
Dabei dachte ich an ein Transistoren-Array, aber damit das funktioniert, benötige ich ja ein Software PWM und das obige ist doch Hardware oder?
Wäre nett wenn mir jmd. helfen könnte. (weil ich heute Geburtstag habe :))
#grs