Witam mam prośbę do osób, które się znają na asemblerze i mikrokontrolerze 8051. Otóż mam napisać program tak aby diody wyświetlały się pokolei tzn: świeci pierwsza pozostałe nie, następnie zaświeca się druga pozostałe zgaszone itd itd aż do 8.
Napisałem coś takiego:
Kod: Zaznacz cały
LJMP START
START:
MOV A, #01111111B
LOOP:
MOV P1, A
MOV R0, #200
WAIT1:
MOV R1, #200
WAIT2:
DJNZ R1, WAIT2
DJNZ R0, WAIT1
RL A
MOV P1,A
LJMP LOOP
LJMP START
I nie rozumiem czemu dzieje się tak że np świeci się pierwsza dioda pozostałe nie, w następnym cyklu zaświeca się trzecia (zamiast drugiej) potem znowu piąta (zamiast kolejnej trzeciej) a później nagle już wporządku zaświeca się szósta czyli kolejna po ostatniej zaświeconej. Później mam to zrobić za pomocą obsługi przerwań to też fajnie by było gdyby ktoś coś dodał od siebie.
PS: Działam w domu na emulatorze ... %BCp-8051/