Witam wszystkich,Panowie mam do Was pytanie,ucze sie obsługi pwm chce sterować diodą rgb,wiec wziełem do tego celu atmege 8535 bo taką miałem na stanie ,udało mi sie w jakims stopniu napisać program w bascomie moge obsłuzyc dwa kanały natomiast mam problem z trzecim kanałem diode podłaczyłem do wyjść OC1A,OC1B i OC2,nie wiem jak sterować tym trzecim kanałem OC2,wiem że musze uruchomić timer2 ale co dalej?niżej mój prosty program.Za okazaną pomoc wielkie dzięki.
Kod:
Proszę umieszczać listingi programów w znacznikach "Code", oraz korzystać z przycisku "Pisownia". [c_p]
Kod:
$regfile = "m8535.dat"
$crystal = 12000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portb.6 , E = Portb.2 , Rs = Portb.1
Config Timer1 = Pwm , Pwm = 10 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up
Config Timer2 = Pwm , Prescale = 1 , Compare A Pwm = Clear Up , Compare B Pwm = Clear down
Start Timer1
start Timer2
Config Pinc.2 = Output
Config Pind.5 = Output
Config Pind.4 = Output
Config Pinc.5 = Input
Config Pinc.4 = Input
Config Pinc.3 = Input
Set Portc.3
Set Portc.5
Set Portc.4
Cls
Lcd "witaj"
Wait 1
Declare Sub Dioda
Declare Sub Dioda1
Dim I As Integer
Dim A As Integer
A = 0
I = 0
Do
Cls
Lcd "dane" ; I
Waitms 20
If Pinc.3 = 0 Then Call Dioda
If Pinc.5 = 0 Then Call Dioda1
Loop
Return
Dioda:
Do
If Pinc.3 = 0 Then Incr I
If Pinc.5 = 0 Then Decr I
pwm1a = i
waitms 10
Loop until pinc.4=0
Return
Dioda1:
Do
If Pinc.3 = 0 Then Incr A
If Pinc.5 = 0 Then Decr A
Pwm1b = A
waitms 10
Loop until pinc.4=0
ReturnProszę umieszczać listingi programów w znacznikach "Code", oraz korzystać z przycisku "Pisownia". [c_p]