Kod: Zaznacz cały
Dim Klawisz_1_com As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_1_adr As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_2_com As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_2_adr As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_3_com As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_3_adr As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_4_com As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klawisz_4_adr As Byte 'Eram Byte 'ZMIENNA ZAPISYWANA W EEPROM
Dim Klaw_1_com As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_1_adr As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_2_com As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_2_adr As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_3_com As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_3_adr As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_4_com As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Klaw_4_adr As Byte 'ZMIENNA PORÓWNUJ¥CA ZAWARTOSC EEPROM Z PILOTEM
Dim Address As Byte , Command As Byte
Dim Licznik As Byte 'ZMIENNA DO LICZNIKA
Dim Zezwolenie As Bit 'ZMIENNA ZEZWOLENIE
Licznik = 0 'WYZERUJ ZMIEENA LICZNIK
Zezwolenie = 0 'WYZERUJ ZMIEENA Zezwolenie
Config Portb = Output
Config Rc5 = Pind.2
Set Portd.0 '= 1
Set Pind.0
Config Pind.0 = 1
Set Portd.0
Reset Portb.7 : Reset Portb.6 : Reset Portb.5 : Reset Portb.4 : Set Portb.2 ': Set Portd.2 : Set Pind.2
Set Portd.1 : Set Portd.3 : Set Portd.4 : Set Portd.5 : Set Portd.6 : : Set Portd.7
Reset Pinb.7 : Reset Pinb.6 : Reset Pinb.5 : Reset Pinb.4 : Set Pinb.2
Set Pind.1 : Set Pind.3 : Set Pind.4 : Set Pind.5 : Set Pind.6 : : Set Pind.7
Set Portb.2
Wait 1
Reset Portb.2
Wait 1
Set Portb.2
Config Int0 = Low Level
On Int0 Odkodoj_sygnal
Enable Interrupts
Enable Int0
'-----------------SEKWENCJA ZAPISUJACA DO EEPROM--------------------------------
If Pind.0 = 0 Then 'JESLI WYBRANO OPCJE NAUKI
Reset Portb.2 'ZAPAL DIODE LED
Wait 1 'CZEKAJ 1 sek
Set Portb.2 'ZGAS DIODE LED
Do
If Licznik = 1 Then 'SPRAWDZ CZY ZMIENNA LICZNIK MA WARTOSC 1
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
Klawisz_1_com = Command 'WPISZ KOD KOMENDY DO EEPROM
Writeeeprom Klawisz_1_com , 1 'WYSLIJ WARTOSC DO EEPROM POD ADRES 1
Klawisz_1_adr = Address 'WPISZ KOD ADRESU DO EEPROM
Writeeeprom Klawisz_1_adr , 2 'WYSLIJ WARTOSC DO EEPROM POD ADRES 2
Reset Portb.2 'ZAPAL DIODE LED
Waitms 250 'CZEKAJ 250 ms
Set Portb.2 'ZGAS DIODE LED
End If : End If
If Licznik = 2 Then 'SPRAWDZ CZY ZMIENNA LICZNIK MA WARTOSC 2
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
Klawisz_2_com = Command 'WPISZ KOD KOMENDY DO EEPROM
Writeeeprom Klawisz_2_com , 3 'WYSLIJ WARTOSC DO EEPROM POD ADRES 3
Klawisz_2_adr = Address 'WPISZ KOD ADRESU DO EEPROM
Writeeeprom Klawisz_2_adr , 4 'WYSLIJ WARTOSC DO EEPROM POD ADRES 4
Reset Portb.2 'ZAPAL DIODE LED
Waitms 250 'CZEKAJ 250 ms
Set Portb.2 'ZGAS DIODE LED
End If : End If
If Licznik = 3 Then 'SPRAWDZ CZY ZMIENNA LICZNIK MA WARTOSC 3
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
Klawisz_3_com = Command 'WPISZ KOD KOMENDY DO EEPROM
Writeeeprom Klawisz_3_com , 5 'WYSLIJ WARTOSC DO EEPROM POD ADRES 5
Klawisz_3_adr = Address 'WPISZ KOD ADRESU DO EEPROM
Writeeeprom Klawisz_3_adr , 6 'WYSLIJ WARTOSC DO EEPROM POD ADRES 6
Reset Portb.2 'ZAPAL DIODE LED
Waitms 250 'CZEKAJ 250 ms
Set Portb.2 'ZGAS DIODE LED
End If : End If
If Licznik = 4 Then 'SPRAWDZ CZY ZMIENNA LICZNIK MA WARTOSC 4
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
Klawisz_4_com = Command 'WPISZ KOD KOMENDY DO EEPROM
Writeeeprom Klawisz_4_com , 7 'WYSLIJ WARTOSC DO EEPROM POD ADRES 7
Klawisz_4_adr = Address 'WPISZ KOD ADRESU DO EEPROM
Writeeeprom Klawisz_4_adr , 8 'WYSLIJ WARTOSC DO EEPROM POD ADRES 6
Licznik = 0 'ZAPISZ DO ZMIENNEJ LICZNIK WARTOSC 0
Reset Portb.2 'ZAPAL DIODE LED
Waitms 250 'CZEKAJ 250 ms
Set Portb.2 'ZGAS DIODE LED
Waitms 250 'CZEKAJ 250 ms
Reset Portb.2 'ZAPAL DIODE LED
Waitms 250 'CZEKAJ 250 ms
Set Portb.2 'ZGAS DIODE LED
Exit Do
End If : End If
'Enable Int0
'Enable Interrupts
Loop
End If
'---------------- KONIEC SEKWENCJ ZAPISUJACEJ DO EEPROM-------------------------
'--SEKWENCJA ODCZYTUJACA Z EEPROM I PRZEPISANIA DO ZMIENNYCH POMOCNICZYCH-------
Readeeprom Klawisz_1_com , 1 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 1
Waitms 25 'CZEKAJ 20 ms
Klaw_1_com = Klawisz_1_com 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_1_adr , 2 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 2
Waitms 25 'CZEKAJ 20 ms
Klaw_1_adr = Klawisz_1_adr 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_2_com , 3 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 3
Waitms 25 'CZEKAJ 20 ms
Klaw_2_com = Klawisz_2_com 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_2_adr , 4 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 4
Waitms 25 'CZEKAJ 20 ms
Klaw_2_adr = Klawisz_2_adr 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_3_com , 5 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 5
Waitms 25 'CZEKAJ 20 ms
Klaw_3_com = Klawisz_3_com 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_3_adr , 6 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 6
Waitms 25 'CZEKAJ 20 ms
Klaw_3_adr = Klawisz_3_adr 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_4_com , 7 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 7
Waitms 25 'CZEKAJ 20 ms
Klaw_4_com = Klawisz_4_com 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
Readeeprom Klawisz_4_adr , 8 'ODCZYTAJ WARTOSC Z EEPROM Z ADRESU 8
Waitms 25 'CZEKAJ 20 ms
Klaw_4_adr = Klawisz_4_adr 'ZAPISZ DO ZMIEENJ POMOCNICZEJ
Waitms 25 'CZEKAJ 20 ms
'-------------------------KONIEC SEKWENCJI--------------------------------------
'>>>>>>>>>>>>>>>>>>>>>>>>>>PROGRAM GLOWNY>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Do
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
If Klaw_1_com = Command Then 'SPRAWDZ CZY ZMIENNA KLAWICZ1 COM =ZMIENNEJ COMMAND
If Klaw_1_adr = Address Then 'SPRAWDZ CZY ZMIENNA KLAWICZ1 ADR =ZMIENNEJ ADRES
Toggle Portb.7 'ZMIEN STAN TRANZYSTORA Q2 NA PRZECIWNY
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
End If : End If : End If ': End If
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
If Klaw_2_com = Command Then 'SPRAWDZ CZY ZMIENNA KLAWICZ 2 COM =ZMIENNEJ COMMAND
If Klaw_2_adr = Address Then 'SPRAWDZ CZY ZMIENNA KLAWICZ 2 ADR =ZMIENNEJ ADRES
Toggle Portb.6 'ZMIEN STAN TRANZYSTORA Q3 NA PRZECIWNY
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
End If : End If : End If ': End If
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
If Klaw_3_com = Command Then 'SPRAWDZ CZY ZMIENNA KLAWICZ 3 COM =ZMIENNEJ COMMAND
If Klaw_3_adr = Address Then 'SPRAWDZ CZY ZMIENNA KLAWICZ 3 ADR =ZMIENNEJ ADRES
Toggle Portb.5 'ZMIEN STAN TRANZYSTORA Q4 NA PRZECIWNY
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
End If : End If : End If ': End If
If Zezwolenie = 1 Then 'SPRAWDZ CZY JEST ZEZWOLENIE =1
If Klaw_4_com = Command Then 'SPRAWDZ CZY ZMIENNA KLAWICZ 4 COM =ZMIENNEJ COMMAND
If Klaw_4_adr = Address Then 'SPRAWDZ CZY ZMIENNA KLAWICZ 4 ADR =ZMIENNEJ ADRES
Toggle Portb.4 'ZMIEN STAN TRANZYSTORA Q5 NA PRZECIWNY
Zezwolenie = 0 'WYZERUJ ZMIENNA ZEZWOLENIE
End If : End If : End If ' : End If
Enable Int0
Enable Interrupts
Loop
End
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>PROGRAM GLOWNY>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Odkodoj_sygnal:
Disable Int0
Enable Interrupts
Getrc5(address , Command) 'ODKODUJ SYGNAL Z PILOTA
'Command = Command And &B01111111
Incr Licznik 'zwieksz zmienna licznik o 1
Zezwolenie = 1 'ZMIENNA ZEZWOLENIE =1
If Licznik => 4 Then 'jesli licznik osiagnal wartosc=4 lub wieksza od 4
Licznik = 0 'wyzeruj
End If
Set Portb.2 'zgas diode
Waitms 100 'czekaj 1 sek
Reset Portb.2 'zapal diode
Waitms 100 'czekaj 1 sek
Set Portb.2 'zgas diode
Enable Int0
Enable Interrupts
Return
Kod: Zaznacz cały
- Pajączek[/color]