chce zrobić na ATMEGA8 efekt przejścia między 3 kolorami diody led RGB. Mam jednak problem, gdyż szukałem na forum, ale nie znalazłem informacji jak zrobić przesunięcie 3 kanału pwm o 120stopni. na 1 i 2 kanale dwa kolory na przemian zapalaja się i gasną, ale nie udało mi sie zrobić, żeby między nimi zapalała się także 3 dioda podpięta pod 3 kanał pwm.
na razie mam taki program wydłubany gdzieś z forum:
pwm1b zapala sie i gaśnie tak samo jak ocr2, jak zrobić to przesunięcie, czyli, że jak pwm1b będzie miało wartość 0 to ocr2 będzie go wyprzedzać o 128?
na razie mam taki program wydłubany gdzieś z forum:
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.5 , Db6 = Portb.7 , Db7 = Portb.6 , E = Portd.7 , Rs = Portb.0
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Cursor Off
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 8
Config Timer2 = Pwm , Async = Off , Prescale = 8 , Pwm = On , Compare Pwm = Clear Down
Dim I As Byte
Do
For I = 0 To 255
Pwm1a = I
Pwm1b = I
Ocr2 = I
Cls
Lcd "I= ";I
Waitms 10
Next I
For I = 255 To 0 Step -1
Pwm1a = I
Pwm1b = I
Ocr2 = I
Cls
Lcd "I= " ; I
Waitms 10
Next I
Loop
Endpwm1b zapala sie i gaśnie tak samo jak ocr2, jak zrobić to przesunięcie, czyli, że jak pwm1b będzie miało wartość 0 to ocr2 będzie go wyprzedzać o 128?