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

Jak dodać kod aktywacyjny 123 do systemu alarmowego na DSM51?

evolution23 01 Cze 2011 13:36 1780 0
  • #1 9565840
    evolution23
    Poziom 2  
    Posty: 3
    Witam

    Mam kawałek kodu symulującego system alarmowy. Wciśnięcie klawisza enter powoduje jego uzbrojenie a esc dezaktywację. Czy jest możliwe aby aktywacja odbywała się za pomocą kodu z klawiatury symulatora jagoda (np. za pomocą kodu 1,2,3) A jeżeli tak jak to powinno wyglądać.

    LED EQU P1.7 ;dioda test podłączona do P1.7
    BUZZER EQU P1.5 ;brzęczyk podłączony do P1.5
    KEY1 EQU 00000001B
    KEY2 EQU 00000010B
    KEY EQU 111100B

    LJMP ENTER
    ORG 100H


    ENTER:
    MOV R0,#CSDS ;adres bufora sterujacego
    MOV A,#KEY1 ;sprawdzanie entera
    MOVX @R0,A
    JB 0B5H,DIODA ;jesli klawisz ent jest wcisniety to skok do zapalenia diody
    MOV A,#10 ;eliminacja drgań styków
    LCALL DELAY_MS
    JB 0B5H,DIODA ;czy nadal naciśnięty
    LJMP ENTER ;gdy klawisz puszczony to ide do poczatku
    DIODA:
    CLR LED ;zapalenie diody
    MOV A,#5 ;czekaj czas
    LCALL DELAY_100MS
    CPL LED
    LJMP CZUJNIKI

    CZUJNIKI:
    MOV R0,#CSDS ;adres bufora sterujacego
    MOV A,#KEY ;sprawdzanie klawiszy (czujników)
    MOVX @R0,A
    JB 0B5H,DIODA1 ;jesli klawisz jest wcisniety to skok do włączenia alarmu
    SJMP CZUJNIKI ;gdy klawisz puszczony to ide do poczatku
    DIODA1:
    CPL LED ;zapal/zgaś diode
    CPL BUZZER ;włącz/wyłącz brzęczyk
    MOV A,#10 ;czekaj czas 10*100ms=1s
    LCALL DELAY_100MS
    LJMP ESC
    ESC:
    MOV R0,#CSDS ;adres bufora sterujacego
    MOV A,#KEY2 ;sprawdzanie ESC
    MOVX @R0,A
    JB 0B5H,USTAWIENIE ;jesli klawisz ESC jest wcisniety to skok do początku programu
    MOV A,#10 ;eliminacja drgań styków
    LCALL DELAY_MS
    JB 0B5H,USTAWIENIE ;jesli klawisz ESC jest wcisniety to skok do początku programu
    LJMP DIODA1
    USTAWIENIE:
    SETB LED ;gaszenie diody
    SETB BUZZER ;wyłączenie buzzera
    LJMP ENTER
REKLAMA