Czy można w assamlerze programowo odblokować wciśnięty klawisz?

0

Witam,

Zadanie, które mam wykonać to suma kwadratów 3 liczb. Program najpierw skanuje klawiaturę(w pętli) dopóki nie znajdzie trzech liczb, a następnie wyskakuje z pętli.
Problem polega na tym, że jeśli wciśniętego klawisza nie zmienimy za każdym razem gdy pętla jest ponawiana to skanuje poprzedni.
Jak mogę "odcisnąć" go programowo? Próbowałem ustawiać stan wysoki na cały port odpowiedzialny za klawiaturę ale to nic nie daje

0

Tworzysz zmienną logiczną Stan=NIE_WCISNIETY; oraz ChangeReported=NOW;
Dalej algorytm:

  • Jeżeli Stan==AktualnyStan - koniec nic nie rób
  • Jeżeli ChangeReported>NOW - Stan=AktualnyStan, koniec
  • ChangeReported=NOW+50 ms
0

Niestety symulator ,w którym pisze (EdSim51) nie ogarnie takiego kodu...

0

Kod to dopiero masz sobie napisać, dostałeś algorytm.

1 użytkowników online, w tym zalogowanych: 0, gości: 1