Показать сообщение отдельно

  #816  
Старый 29.11.2008, 14:26
F&D
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
Провел на форуме:
261838

Репутация: 9
Unhappy

Доброго времени суток. Надеюсь кто-то из здесь присутствубщих имел когда нибудь дело с отладочным стендом 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..
 
Ответить с цитированием