logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATMEL 89c51cc01 Assembler - Zamek szyfrowy na rejestrach - kod sortujacy

Patrickol 28 Kwi 2014 21:56 1563 5
REKLAMA
  • #1 13552163
    Patrickol
    Poziom 2  
    Posty: 4
    Witam, posiadam problem z poprawnym zaprogramowaniem kontrolera. Postanowiłem zrobić zamek szyfrowy, niestety nie mogę wpaść jak dobrze dobrać kawałek kodu odpowiedzialnego za odkodowywanie. Na obecną chwilę postanowiłem, że użyję 4 rejestrów, w których będą liczby z danych klawiszy. Wartości, które im przypiszę są dowolne, ale różne. Próbowałem użyć CJNE, aby tylko odpowiednia kombinacja wchodziła, ale nie udało mi się to :/. Z góry dziękuję za podpowiedzi w rozwiązniu problemu.

    W projekcie wykorzystałem rejestry R0, R1, R2, R3, ktore są zapełniane po naciśnięciu przycisku. Przypisalem wartosci #5d,#10d,#15d,#20d. Niestety jak wpsomniałem, nie wime jak zrobić, aby wczytało tylko konkretny kod znakowy, a w razie 3 błędnie wybranych znaków pierwszych, wywołało odpowiednią funkcję blokującą. Funckja blokująca to błachostka, ale to sortowanie, nie mam pomysłu. Z góry dziękuję za pomoc.

    Próbowałem to zrobić w następujący sposób, ale już wiem, że nie ma to sensu i od razu skacze do ostatniego. Nie wiem jak logicznie rozwiązać, aby to działało :/

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 13554575
    jarekgol
    Poziom 40  
    Posty: 5180
    Pomógł: 645
    Ocena: 1150
    Przydałoby się wyjaśnienie jak dane trafiają do twoich rejestrów jak i schemat by nie zawadził.
    a) Bo nie wiem czy dobrze rozumiem, wciskasz klawisz nr 1 i gdzieś się zapisuje 5 a jak wciskasz nr 4 to zapisuję się w pamięci 20?
    b) program ma dla ciągu (przykładowo) 5,10,15 otworzyć, a dla 5,5,5 ; 15,10,5 itd zablokować?
  • REKLAMA
  • #3 13554825
    excray
    Poziom 41  
    Posty: 5502
    Pomógł: 739
    Ocena: 656
    Straszny śmietnik i w opisie i w kodzie i w tytule. Nie widzę potrzeby archiwizacji wciskanych klawiszy. Nie widzę nigdzie potrzeby sortowania czegokolwiek. Program moim zdaniem powinien robić to w locie jedynie wduszenie klawisza zatwierdzającego kod zwraca użytkownikowi wynik: akceptacja albo odrzucenie przy ewentualnym jednoczesnym zerowaniu albo inkrementacji licznika błędnych wpisów.
  • REKLAMA
  • #4 13560329
    Patrickol
    Poziom 2  
    Posty: 4
    Poniżej zamieszczam kod. W tym przypadku przypisałem dla rejestru R0 wartość 5, która wypełnia rejestr po naciśnięciu przycisku C i wartość 10, która zostaje przypisana rejestrowi R1 po naciśnięciu przycisku D. Chciałbym, aby tylko powiedzmy kod CDDC mógł przejść, a po 3 błędnych próbach wywalało, iż kod jest niepoprany lub poprawny. Z góry dziękuję za pomoc.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #5 13561691
    Badmaneq
    Poziom 23  
    Posty: 567
    Pomógł: 76
    Ocena: 23
    Od pewnego czasu tylko piszę w C i to zupełnie na inne mikrokontrolery, lecz naskrobałem takie "cóś":
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #6 13582246
    Patrickol
    Poziom 2  
    Posty: 4
    Dzięki Wielkie za pomoc, kod wydaje się działać, teraz muszę tylko jakoś klawiaturę pod to odpowiednia ułożyć, bo niestety za dużo rady zczytuje naraz liczbę, gdy powinno tylko raz. :D
REKLAMA