Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Realizacja zamka cyfrowego w dsm-51

26 Lut 2015 18:25 1002 4
  • Poziom 9  
    Zrealizowałem zamek cyfrowy na dsm-51. Zamek ma dzialac tak: Jesli w pamieci eeprom nie ma zapisanego kodu (w komorce zero wartosc <> 184), zapala sie dioda i z klawiatury matrycowej podajemy nowy kod. Po podaniu 6-ciu cyfr (tyle ma kod) naciskamy klawisz 'ENTER' i kod zostaje zapisany do pamieci eeprom a dioda gasnie. Podajac kod, zawsze na poczatku trzeba nacisnac klawisz '#' - on informuje ze bedziemy wprowadzac kod. Gdy w eepromie jest juz kod, zostaje on wczytany do pamieci RAM pod adresy: pierwsza cyfra pod 10h, druga pod 11h, trzecia pod 12h itd... nastepnie zamek przechodzi w tryb czekania na klawisz. gdy wcisniemy '#' wlacza sie timer i mamy ok 18s na podanie kodu, po tym czasie uklad wraca do stanu zasadniczego. Po podaniu wszystkich cyfr kodu i zatwierdzeniu klawiszem 'ENTER' uklad sprawdza czy jest on wlasciwy. Sprawdzanie polega na porownaniu wartosci z rejestrow R2-R7 (z banku 0) z wartosciami zapisanymi w adresach 10h-15h. Jesli kod jest poprawny, procesor zeruje linie p1.7 i tym samym otwiera zamek. Pozostaje on otwarty az do momentu nacisniecia jakiegokolwiek klawisza. Jednoczesnie jesli przy otwartym zamku wcisniemy klawisz '9' to uklad przechodzi do trybu programowania nowego kodu. Po podaniu nowego kodu i zatwierdzeniu go 'ENTER-em' zostaje on zapisany w pamieci eeprom a uklad ponownie wykonuje procedure start.
    Chciałbym jeszcze zrobić aby po wprowadzeniu prawidłowego kodu włączał się buzzer. Proszę o pomoc w zrealizowaniu tego i sprawdzeniu kodu żródłowego i pracuje na symulatorze dsm-51 niestety ten program się nie mieści czy można by go jakoś skompresować albo podzielić kod. Z góry dziękuje

    Kod: asm
    Zaloguj się, aby zobaczyć kod
  • Poziom 9  
    Nie wiem czy we właściwe miejsce wkleiłem komendę mov sp,#19h ? Mam błąd w linii Tim0 i nie wiem dlaczego ?
  • Poziom 9  
    Stwierdziłem, że poprzedni program jest dla mnie za trudny muszę napisać program bez użycia podprogramów.Zrobiłem program zamka tylko chciałbym się pozbyć podprogramów przy wpisywaniu kodu i chciałbym dodać wprowadzenie kodu sprawdzenie czy jest poprawny i ewentualnie zmianę kodu do zamku . Proszę o szybką odpowiedź
    Kod: asm
    Zaloguj się, aby zobaczyć kod
  • Poziom 9  
    Chciałem zasymulować program zamka cyfrowego w programie edsim51, ale wyskakuje mi błąd przy kompilacji: syntax error TIM0 EQU T0_M+T0_C*4+T0_G*8
    Proszę o pomoc w znalezieniu w ewentualnego błędu.Program podaje niżej:
    Kod: asm
    Zaloguj się, aby zobaczyć kod
  • Poziom 9  
    Czy moglibyśmy mi pomóc w zrozumieniu tego programu?