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

8051 Asembler: Jak obsłużyć wiele klawiszy do sekwencji Morse'a?

mar-zo 20 Mar 2012 21:58 1992 3
REKLAMA
  • #1 10701621
    mar-zo
    Poziom 2  
    Posty: 3
    Witam. Mam taki problem, iż nauczyciel zadał nam napisanie w Asemblerze programu, który będzie działał następująco: Po wciśnięciu odpowiedniego klawisza od 1-5 włączy się odpowiednia sekwencja i dioda będzie migać odpowiednio jak w kodzie Morse'a. odpowiednie sekwencje wiem jak zrobić. Problem mam natomiast z tym, że nie wiem jak zrobić iż po naciśnięciu danego klawisza program przeskoczy do danej sekwencji.Gdy napisałem program dla 2 klawiszy działał mi tylko jeden. Wiem, że na początku musi być warunek odpowiadający za sprawdzenie który klawisz został naciśnięty i odwołanie się do danej części programu ale nie wiem jak on miał by wyglądać. Czy mógłby ktoś mnie naprowadzić lub ewentualnie podać przykład?
  • REKLAMA
  • Pomocny post
    #2 10701857
    jarekz90
    Poziom 13  
    Posty: 96
    Pomógł: 9
    Ocena: 21
    hey, ja bym Ci proponował tak to zrobić.
    Zczytać z odpowiedniego adresu, nie wiem gdzie masz podpięte te piny od przycisków stan danych przycisków najlepiej do akumulatora. Potem możesz odwoływać się z odpowiednich bitów akumulatora np ACC.0 czy ACC.1 i tak do ACC.7.
    Gdy mamy już stan tych przycisków w naszym ACU to teraz możesz sprawdzać np instrukcją JB czy JNB (zależy jaką masz logike, tzw pozytywna czy negatywną) i np.
    
    petla:
                         instrukcje wpisania stanu portów do akumulatora
                         JB ACC.0,sekwencja1   ; jeśli k0 wciśnięty idź do sekwencja1
                         JB ACC.1,sekwencja2   ; jeśli k1 wciśnięty idź do sekwencja2
                         sjmp petla                  ;tu dojdzie gdy nie jest wciśnięty ani K0 ani K1
    sekwencja1: 
                         jakieś instrukcje do diod
                         sjmp petla
    sekwencja2:     
                         jakieś instrukcje do diod  
                         sjmp petla
    

    pisane na szybko, sposobów jest wiele, to jeden z nich. mam nadzieje, że pomogłem
    pozdrawiam
  • REKLAMA
  • Pomocny post
    #3 10704123
    BlackFuse
    Poziom 1  
    Posty: 1
    Pomógł: 1
    Siemka, polecam zrobić coś takiego:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    powinno działać z tym, że podstawiasz odpowiednie kombinacje MORSA
  • #4 10707605
    mar-zo
    Poziom 2  
    Posty: 3
    Dziękuje za odpowiedzi, działa. Temat do zamknięcia.
REKLAMA