Kod: Zaznacz cały
' glowna petla programu sterujaca praca mikrokontrolera w sterowniku
Sub Main
Set Portb.2: Set Portb.3 'ustalenie stanu wysokiego na wyjsciach sterujacych przekaznikiem i dioda LED
Readeeprom Com1, 1 'odczytaj z pamieci EEPROM wartosc komendy nakazujacej obracanie silnika
Readeeprom Com2, 2 'odczytaj z pamieci EEPROM wartosc komendy nakazujacej obracanie silnika
Readeeprom Com3, 4 'odczytaj z pamieci EEPROM wartosc komendy sterujacej przekaznikiem
Do
Getrc5(address, Command) 'proba pobrania kodu RC5
Command = Command And &B10111111
If Command = Com3 And Portb.2 = 0 Then 'jezeli odebrana komenda odpowiada komendzie sterujacej przekaznikiem i przekaznik nie jest
'zalaczany
Set Portb.3: Set Portb.2 ' zalacz przekaznik i diode LED
End If
If Command = Com3 And Portb.2 = 1 Then 'jezeli odebrana komenda odpowiada komendzie sterujacej przekaznikiem i przekaznik jest zalaczony
Reset Portb.3: Reset Portb.2 'wylacz przekaznik i diode LED
End If
If Command = Com1 Then 'jezeli odebrana komenda odpowiada komendzie nakazujacej obracanie silnika w jednym kierunku
Reset Portb.1: Set Portb.0 'to wysteruj jeden z tranzystorow
Do
Getrc5(address, Command)
Command = Command And &B10111111
If Command <> Com1 Then Exit Do 'jezeli odebrana komenda jest inna niz komenda nakazujaca obracanie silniczka w jednym
' kierunku, to wyjdz z petli
Loop
Reset Portb.0 'zakoncz obracanie silniczkiem
End If
If Command = Com2 Then 'jezeli odebrana komenda odpowiada komendzie nakazujacej obracanie silnika w drugim kierunku
Reset Portb.0: Set Portb.1 'to wysteruj drugi z tranzystorow
Do
Getrc5(address, Command)
Command = Command And &B10111111
If Command<> Com2 Then Exit Do 'jezeli odebrana komenda jest inna niz komenda nakazujaca obracanie silniczka w jednym
' kierunku, to wyjdz z petli
Loop
Reset Portb1.1 'zakoncz obracanie silniczkiem
End If
Loop
End Sub
Za wszelka pomoc z gory dziekuje. Niech Wam Pan Bog w dzieciach wynagrodzi:)