[8051] Migające diody

wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

[8051] Migające diody

Post autor: wawek91 »

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/
Grzesio_
Użytkownik
Użytkownik
Posty: 44
Rejestracja: 23 gru 2011, o 22:59
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 3 razy

[8051] Migające diody

Post autor: Grzesio_ »

break point na RL A, i co w akumulatorze
a może efekt stroboskopowy?
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

[8051] Migające diody

Post autor: wawek91 »

Hm po dodaniu break pointa wszystko idzie jak należy tzn dioda przesuwa się o jeden. Co to znaczy 'efekt stroboskopowy'?

Aha no i jak to teraz załatwić, żeby cała ta procedura ne była pod etykietą LOOP tylko w obsłudze przerwań. Na zajęciach było jakieś ustawianie SETB EA, SETB ET0, SETB TR0, ale jakoś niezbyt mi to pomaga.
Grzesio_
Użytkownik
Użytkownik
Posty: 44
Rejestracja: 23 gru 2011, o 22:59
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 3 razy

[8051] Migające diody

Post autor: Grzesio_ »

czasem na westernach koła dyliżansów obracają się w drugą stronę...

czy każde przerwanie ma zmienić stan LEDów czy może co któreś?
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

[8051] Migające diody

Post autor: wawek91 »

Chyba to miało być, że każde, pamiętam że tam trzeba było umieścić jakiś licznik, który jak się przekręci to właśnie zaświeca się kolejna dioda.
ODPOWIEDZ