[Asembler] Wentylator łazienkowy z opóźnieniem czasowym

maggik333
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 10 sty 2012, o 22:55
Płeć: Kobieta
Lokalizacja: CK

[Asembler] Wentylator łazienkowy z opóźnieniem czasowym

Post autor: maggik333 »

Witam!!! Mam do napisania program w Asemblerze a mianowicie program pracy wentylatora w łazience chodzi o to by urządzenie miało jeden czujnik na wejściu i wentylator na wyjściu Po wejściu osoby do łazienki odmierza sobie czas pobytu tej osoby w łazience oczywiście po wyjściu program powinien porównać czas zmierzony z trzema przykładowi czasami i włączyć wentylator na jakiś czas.
Proszę ja was o propozycje jak ten problem można by było rozwiązać. Czy poprawnie jest napisany program.
Pozdrawiam

Kod: Zaznacz cały

WENTYL EQU P1.7
CZUJNKI EQU P3.2

LJMP START
ORG 100H
CZAS1S:
MOV R1,#5
TIMER:
MOV B,#200
LOOP:
MOV A,#228
DJNZ ACC,$
DJNZ B,LOOP
DJNZ R1,TIMER
RET
START:
MOV R2,#5
MOV R3,#10
MOV R4,#20
MOV R5,#2400
PRACA:
MOV C,P3.2 ;do portu 3.2 podpięty jest czujnik i sprawdza czy jest ktoś w pomieszczeniu

JC T_POBYT ;jezeli c=1 to odmierza czas pobytu
JNC PRACA ;jezelic=0 to od początku
T_POBYT:
;tutaj musiałabym napisać porównanie
;jeżeli czas pobytu jest do 60 s włącz T1
;jezeli czas jest od 60s do 300s włącz T2
;jeżeli powyżej 300s włącz T3

ACALL CZAS1S
DJNZ R5,START
T1:
SETB WENTYL
ACALL CZAS1S
DJNZ R2,T1
CLR WENTYL

T2:
SETB WENTYL
ACALL CZAS1S
DJNZ R3,T2
CLR WENTYL
T3:
SETB WENTYL
ACALL CZAS1S
DJNZ R4,T3
CLR WENTYL
Ostatnio zmieniony 12 sty 2012, o 19:20 przez Afish, łącznie zmieniany 1 raz.
Powód: Bierz kod w tagi [code]
ODPOWIEDZ