PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM mit Timer0 ?



oZe
08.04.2013, 22:59
Hallo Community,
Ich habe gerade ein Problem mit Bascom und PWM. Ich würde gerne mit dem AtMega8 ein LED Segment per PWM ansteuern und habe leider nur noch den Timer0 zur verfügung, da Timer1 von der DCF77 Funktion in Bascom belegt wird. Leider meckert der Compiler bei meinem Config Befehl und ich vermute langsam das der Timer0 gar keine PWM unterstützt...
VIelleicht kann mal jemand drüber schauen und mir meinem Fehler sagen.



$regfile = "m8adef.dat"
$crystal = 12000000
$prog &HFF , &HC4 , &HD9 , &H00 ' generated. Take care that the chip supports all fuse bytes.
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portd.7 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4
Config Lcdbus = 4

Config Dcf77 = Pind.2 , Timer = 1 , Inverted = 1 , Debug = 1 , Check = 1 , Update = 0
Config Adc = Single , Prescaler = Auto , Reference = Avcc

Config Portb.1 = Output
Config Timer0 = Pwm , Compare A Pwm = Clear Up , Prescale = 256
Pwm0a = 0
Enable Timer0
Start Timer0
Enable Interrupts

Do
Cls
Upperline
Lcd Time$ ; " " ; Time(dcf_sec) ;
Lowerline
Lcd Getadc(2)
Compare1a = 255
Waitms 250
Compare1a = 100
Waitms 250
Loop

End


Danke schon mal!

for_ro
08.04.2013, 23:20
Hallo oZe,
das Datenblatt des Mega8 sagt dir, dass Timer0 keinen PWM hat. In deinem Code ist kein Timer2 verwendet. Hast du den noch frei? Der hätte PWM.
Ansonsten kannst du noch Software PWM machen.

oZe
08.04.2013, 23:33
Mensch da hätte ich auch mal früher drauf kommen können. Timer2 ist frei und ich werde diesen dann benutzen.
Vielen dank!