Witam mam za zadanie sterować jasnością 3 diod przez pilot RC5i na wyświetlaczu ma się wyświetlać stan. Na timerze 1 steruje pwm1a i pwm1b i jest w porządku zmienia się jasność. Problem ze sterowaniem 3 diodą (TIMER2), ona nie reaguje gdy wysyłam kod 6 lub 9, mrugnie jednorazowo tylko wtedy gdy wysyłam dowolną komendę do tmfs5360. Jasność tej 3 diody się nie zmienia. Jeżeli zmienię na
Config Timer2 = Pwm , Async = Off
to wtedy jestem w stanie sterować tylko ze na wyświetlaczu pojawiają się krzaczki ;/
Nie wiem w czym jest kłopot pomóżcie ;/ Prosze o pomoc
Config Timer2 = Pwm , Async = Off
to wtedy jestem w stanie sterować tylko ze na wyświetlaczu pojawiają się krzaczki ;/
Nie wiem w czym jest kłopot pomóżcie ;/ Prosze o pomoc
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2
Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Timer2 = Pwm , Async = On , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Declare Sub Wysw
Config Rc5 = Pind.1
Dim Flaga As Bit
Dim Address As Byte , Command As Byte , I As Byte
Enable Interrupts
Enable Timer1
Enable Timer2
Pwm1a = 0
Pwm1b = 0
Ocr2 = 0
Flaga = 1
I = 10
Call Wysw
Do
Getrc5(address , Command)
If Address = 0 Then
If Command = 1 Then
Pwm1a = Pwm1a + I
End If
If Command = 2 Then
Pwm1b = Pwm1b + I
End If
If Command = 4 Then
Pwm1a = Pwm1a - I
End If
If Command = 5 Then
Pwm1b = Pwm1b - I
End If
If Command = 3 Then
Ocr2 = Ocr2 + I
End If
If Command = 6 Then
Ocr2 = Ocr2 - I
End If
Flaga = 1
Waitms 20
End If
Command = Command And &B01111111
Waitms 100
Call Wysw
Loop
End
Sub Wysw
If Flaga = 1 Then
Cls
Lcd "PWMA:" ; Pwm1a ; " PWMB:" ; Pwm1b
Lowerline
Lcd "OCR2: " ; Ocr2
Waitms 20
Flaga = 0
End If
End Sub