|
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
Провел на форуме: 261838
Репутация:
9
|
|
Доброго времени суток. Надеюсь кто-то из здесь присутствубщих имел когда нибудь дело с отладочным стендом EV8031/AVR (V. 3.2), вот по нему у меня и лаба. Изначально задание было таким:
По нажатию кнопки SW15 включать «бегущий огонь» на линейке светодиодов HL1-HL8. Код этой проги вот:
Код:
CSEG
ORG 0
Continue:
mov A, #10000000b
mov DPTR, #0A006h
movx @DPTR, A ;отменить гашение знакомест С_инд
mov A, #0h ;записать в Акк. число 04
mov DPTR, #0A006h ;установить в DPTR адрес левой
;пары знакомест С_инд
movx @DPTR, A
mov DPTR, #0B006h ;установить в DPTR адрес правой
;пары знакомест С_инд
movx @DPTR, A
CALL ZAD ;вызов подпрограммы задержки
mov A, #10000000b
mov DPTR, #0A006h
movx @DPTR, A ;погасить все знакоместа С_инд
CALL ZAD ;вызов подпрограммы задержки
mov A, #01000000b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
mov A, #00100000b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
mov A, #00010000b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
mov A, #00001000b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
mov A, #00000100b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
mov A, #00000010b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
mov A, #00000001b
mov DPTR, #0A006h
movx @DPTR, A
CALL ZAD
jmp Continue ;переход на начало программы
ZAD: ;подпрограмма задержки
mov R1, #0FFh
C2: mov R2, #0FFh
C4: djnz R2, C4
djnz R1, C2
ret ;выход из подпрограммы
END
Но потом последовало дополнительное задание, звучит: При нажатии кнопки SW15 включать «бегущий огонь» на линейке светодиодов HL1-HL8, при еще одном нажатии "бегущий огонь" должен остановиться, при еще одно - дальше "побежать"....
думал две пары как сделать(даже на С++ пытался) - не могу...
Помогите плиз...
Последний раз редактировалось F&D; 29.11.2008 в 14:31..
|