Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $sim 'usuwac podczas symulacji!!!
- $large
- 'tajny szyfr (do zmiany hasla):
- Dim Tajnyszyfr(16) As Byte
- ' tajny szyfr od uzytkownika:
- Dim Tajnyszyfruser(16) As Byte
- ' dlugosc szyfru:
- Dim Dlugosc As Byte
- ' szyfr (rozmiar to 8, albowiem maksymalna dlugosc szyfru to 8):
- Dim Szyfr(8) As Byte
- ' szyfr wprowadzany przez uzytkownika:
- Dim Szyfruser(8) As Byte
- ' iterator:
- Dim I As Byte
- ' pomocniczy iterator:
- Dim J As Byte
- ' iterator tajnego szyfru:
- Dim Tajnyszyfriterator As Byte
- ' stan:
- ' 0 - podawanie dlugosci szyfru - pierwsze uruchomienie (gdy eprom jest pusty)
- ' 1 - podawanie dlugosci szyfru
- ' 2 - podawanie szyfru
- ' 3 - zatwierdzanie szyfru
- ' 4 - wprowadzanie szyfru przez uzytkownika
- ' 5 - zly szyfr
- ' 6 - dobry szyfr
- Dim Stan As Byte
- Dim Flaga As Bit
- ' aby zmienic haslo nalezy najpierw podac poprawny szyfr
- ' a nastepnie wpisac TAJNY SZYFR
- Tajnyszyfr(0) = 1
- Tajnyszyfr(1) = 2
- Tajnyszyfr(2) = 3
- Tajnyszyfr(3) = 4
- Tajnyszyfr(4) = 5
- Tajnyszyfr(5) = 6
- Tajnyszyfr(6) = 7
- Tajnyszyfr(7) = 8
- Tajnyszyfr(8) = 1
- Tajnyszyfr(9) = 2
- Tajnyszyfr(10) = 3
- Tajnyszyfr(11) = 4
- Tajnyszyfr(12) = 5
- Tajnyszyfr(13) = 6
- Tajnyszyfr(14) = 7
- Tajnyszyfr(15) = 8
- ' STAS if EPROM jest pusty:
- Stan = 0
- ' STAS jeżeli coś w nim jest to należy tym czymś uzupełnić tablicę "Szyfr" i zmienić stan na 4
- G1 Alias P3.0
- G2 Alias P3.1
- G3 Alias P3.2
- G4 Alias P3.3
- G5 Alias P3.4
- G6 Alias P3.5
- G7 Alias P3.6
- G8 Alias P3.7
- Declare Sub Sprawdztajnyszyfr
- Declare Sub Wprowadz_dlugosc_szyfru
- Declare Sub Wypisz_wprowadz_dlugosc_szyfru
- Declare Sub Klawiszevent_dlugosc
- Declare Sub Wprowadz_szyfr1
- Declare Sub Wypisz_szyfr1
- Declare Sub Klawiszevent_szyfr1
- Declare Sub Wprowadz_szyfr2
- Declare Sub Wypisz_szyfr2
- Declare Sub Klawiszevent_szyfr2
- Declare Sub Sprawdz_szyfr
- Declare Sub Wprowadz_szyfr_user
- Declare Sub Wypisz_szyfr_user
- Declare Sub Klawiszevent_szyfr_user
- Declare Sub Sprawdz_szyfr_user
- ' main:
- Do
- If Tajnyszyfriterator = 16 Then
- Call Sprawdztajnyszyfr
- End If
- If Stan = 0 Then Stan = 1
- If Stan = 1 Then
- Call Wprowadz_dlugosc_szyfru
- End If
- If Stan = 2 Then
- If I = Dlugosc Then
- Flaga = 0
- Stan = 3
- I = 0
- Else
- Call Wprowadz_szyfr1
- End If
- End If
- If Stan = 3 Then
- If I = Dlugosc Then
- Flaga = 0
- I = 0
- Call Sprawdz_szyfr
- Else
- Call Wprowadz_szyfr2
- End If
- End If
- If Stan = 4 Then
- If I = Dlugosc Then
- Flaga = 0
- I = 0
- Call Sprawdz_szyfr_user
- Else
- Call Wprowadz_szyfr_user
- End If
- End If
- Loop
- End
- Sub Wprowadz_dlugosc_szyfru
- If Flaga = 0 Then Call Wypisz_wprowadz_dlugosc_szyfru
- Call Klawiszevent_dlugosc
- End Sub
- Sub Wypisz_wprowadz_dlugosc_szyfru
- Cls
- Lcd "Jak dlugi szyfr?"
- Lowerline
- Lcd " Dlugosc: "
- Flaga = 1
- End Sub
- ' wprowadzanie dlugosci
- Sub Klawiszevent_dlugosc
- If G1 = 0 Then
- Bitwait G1 , Set
- Cls
- Lcd " Dlugosc szyfru "
- Lowerline
- Lcd " Pomiedzy 4 a 8 "
- Wait 5
- Stan = 1
- Flaga = 0
- Elseif G2 = 0 Then
- Bitwait G2 , Set
- Cls
- Lcd " Dlugosc szyfru "
- Lowerline
- Lcd " Pomiedzy 4 a 8 "
- Wait 5
- Stan = 1
- Flaga = 0
- Elseif G3 = 0 Then
- Bitwait G3 , Set
- Cls
- Lcd " Dlugosc szyfru "
- Lowerline
- Lcd " pomiedzy 4 a 8 "
- Wait 5
- Stan = 1
- Flaga = 0
- Elseif G4 = 0 Then
- Bitwait G4 , Set
- Lcd "4"
- I = 0
- dlugosc = 4
- Wait 5
- Stan = 2
- Flaga = 0
- Elseif G5 = 0 Then
- Bitwait G5 , Set
- Lcd "5"
- I = 0
- Dlugosc = 5
- Wait 5
- Stan = 2
- Flaga = 0
- Elseif G6 = 0 Then
- Bitwait G6 , Set
- Lcd "6"
- I = 0
- Dlugosc = 6
- Wait 5
- Stan = 2
- Flaga = 0
- Elseif G7 = 0 Then
- Bitwait G7 , Set
- Lcd "7"
- I = 0
- Dlugosc = 7
- Wait 5
- Stan = 2
- Flaga = 0
- Elseif G8 = 0 Then
- Bitwait G8 , Set
- Lcd "8"
- I = 0
- Dlugosc = 8
- Wait 5
- Stan = 2
- Flaga = 0
- End If
- End Sub
- ' wprowadzanie szyfru:
- Sub Wprowadz_szyfr1
- If Flaga = 0 Then Call Wypisz_szyfr1
- Call Klawiszevent_szyfr1
- End Sub
- Sub Wypisz_szyfr1
- Cls
- Lcd " Podaj szyfr"
- Lowerline
- Lcd "Szyfr: "
- Flaga = 1
- End Sub
- ' podawanie szyfru
- Sub Klawiszevent_szyfr1
- If G1 = 0 Then
- Bitwait G1 , Set
- Lcd "#"
- Szyfr(i) = 1
- I = I + 1
- Elseif G2 = 0 Then
- Bitwait G2 , Set
- Lcd "#"
- Szyfr(i) = 2
- I = I + 1
- Elseif G3 = 0 Then
- Bitwait G3 , Set
- Lcd "#"
- Szyfr(i) = 3
- I = I + 1
- Elseif G4 = 0 Then
- Bitwait G4 , Set
- Lcd "#"
- Szyfr(i) = 4
- I = I + 1
- Elseif G5 = 0 Then
- Bitwait G5 , Set
- Lcd "#"
- Szyfr(i) = 5
- I = I + 1
- Elseif G6 = 0 Then
- Bitwait G6 , Set
- Lcd "#"
- Szyfr(i) = 6
- I = I + 1
- Elseif G7 = 0 Then
- Bitwait G7 , Set
- Lcd "#"
- Szyfr(i) = 7
- I = I + 1
- Elseif G8 = 0 Then
- Bitwait G8 , Set
- Lcd "#"
- Szyfr(i) = 8
- I = I + 1
- End If
- End Sub
- ' potwierdzanie szyfru:
- Sub Wprowadz_szyfr2
- If Flaga = 0 Then Call Wypisz_szyfr2
- Call Klawiszevent_szyfr2
- End Sub
- Sub Wypisz_szyfr2
- Flaga = 1
- Cls
- Lcd " Potwierdz szyfr"
- Lowerline
- Lcd "Szyfr: "
- End Sub
- Sub Klawiszevent_szyfr2
- If G1 = 0 Then
- Bitwait G1 , Set
- Lcd "#"
- Szyfruser(i) = 1
- I = I + 1
- Elseif G2 = 0 Then
- Bitwait G2 , Set
- Lcd "#"
- Szyfruser(i) = 2
- I = I + 1
- Elseif G3 = 0 Then
- Bitwait G3 , Set
- Lcd "#"
- Szyfruser(i) = 3
- I = I + 1
- Elseif G4 = 0 Then
- Bitwait G4 , Set
- Lcd "#"
- Szyfruser(i) = 4
- I = I + 1
- Elseif G5 = 0 Then
- Bitwait G5 , Set
- Lcd "#"
- Szyfruser(i) = 5
- I = I + 1
- Elseif G6 = 0 Then
- Bitwait G6 , Set
- Lcd "#"
- Szyfruser(i) = 6
- I = I + 1
- Elseif G7 = 0 Then
- Bitwait G7 , Set
- Lcd "#"
- Szyfruser(i) = 7
- I = I + 1
- Elseif G8 = 0 Then
- Bitwait G8 , Set
- Lcd "#"
- Szyfruser(i) = 8
- I = I + 1
- End If
- End Sub
- ' sprawdzanie czy podany szyfr jest zgodny z jego potwierdzeniem
- Sub Sprawdz_szyfr
- Flaga = 0
- For J = 0 To Dlugosc
- If Szyfr(j) <> Szyfruser(j) Then
- Flaga = 0
- Exit For
- Else
- Flaga = 1
- End If
- Next J
- If Flaga = 0 Then
- Cls
- Lcd " Podane szyfry "
- Lowerline
- Lcd " sa rozne! "
- Wait 5
- Stan = 1
- Flaga = 0
- Else
- Cls
- Lcd " Szyfr zostal "
- Lowerline
- Lcd " ustawiony! "
- ' STAS: Tutaj zrobić zapis tablicy "Szyfr" do EPROM!!!'
- Wait 5
- Stan = 4
- Flaga = 0
- End If
- End Sub
- ' wprowadzanie szyfru przez uzytkownika (do otwierania sejfu)
- Sub Wprowadz_szyfr_user
- If Flaga = 0 Then Call Wypisz_szyfr_user
- Call Klawiszevent_szyfr_user
- End Sub
- Sub Wypisz_szyfr_user
- Cls
- Lcd " Podaj szyfr"
- Lowerline
- Lcd "Szyfr: "
- Flaga = 1
- End Sub
- Sub Klawiszevent_szyfr_user
- If G1 = 0 Then
- Bitwait G1 , Set
- Lcd "#"
- Szyfruser(i) = 1
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 1
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G2 = 0 Then
- Bitwait G2 , Set
- Lcd "#"
- Szyfruser(i) = 2
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 2
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G3 = 0 Then
- Bitwait G3 , Set
- Lcd "#"
- Szyfruser(i) = 3
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 3
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G4 = 0 Then
- Bitwait G4 , Set
- Lcd "#"
- Szyfruser(i) = 4
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 4
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G5 = 0 Then
- Bitwait G5 , Set
- Lcd "#"
- Szyfruser(i) = 5
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 5
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G6 = 0 Then
- Bitwait G6 , Set
- Lcd "#"
- Szyfruser(i) = 6
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 6
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G7 = 0 Then
- Bitwait G7 , Set
- Lcd "#"
- Szyfruser(i) = 7
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 7
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- Elseif G8 = 0 Then
- Bitwait G8 , Set
- Lcd "#"
- Szyfruser(i) = 8
- I = I + 1
- Tajnyszyfruser(tajnyszyfriterator) = 8
- Tajnyszyfriterator = Tajnyszyfriterator + 1
- End If
- End Sub
- ' sprawdzanie czy szyfr jest poprawny
- Sub Sprawdz_szyfr_user
- Flaga = 0
- For J = 0 To Dlugosc
- If Szyfr(j) <> Szyfruser(j) Then
- Flaga = 0
- Exit For
- Else
- Flaga = 1
- End If
- Next J
- If Flaga = 0 Then
- Cls
- Lcd " Podano bledny "
- Lowerline
- Lcd " szyfr! "
- Wait 5
- Stan = 4
- Flaga = 0
- Else
- Cls
- Lcd " Otwarte :) "
- Tajnyszyfriterator = 0
- Wait 60
- Stan = 4
- Flaga = 0
- End If
- End Sub
- ' sprawdzanie tajnego szyfru
- Sub Sprawdztajnyszyfr
- Flaga = 0
- For J = 0 To 16
- If Tajnyszyfr(j) <> Tajnyszyfruser(j) Then
- Flaga = 0
- Exit For
- Else
- Flaga = 1
- End If
- Next J
- If Flaga = 1 Then
- Cls
- Lcd " wprowadzono "
- Lowerline
- Lcd " tajny szyfr! "
- Wait 5
- Stan = 1
- I = 0
- End If
- Tajnyszyfriterator = 0
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement