Приветствую Вас ГостьВоскресенье, 13.10.2024, 20:02

Лаборатория технического творчества молодёжи


Проект 2. Назад. Задержка. Остановка

А сейчас давайте попробуем научиться программировать движение нашего РОБОТА назад, делать задержку и останавливаться

Наша новая программа будет состоять из четырёх блоков. Первый блок - старый, он обеспечивает движение РОБОТА вперёд. Как это делается мы рассмотрели в нашем первом проекте. Движение назад и остановку мы прописываем во втором блоке и здесь есть новые команды, а также изменены данные пинов порта В. 

Итак второй блок начинается с команды rcall, которая обеспечивает вызов подпрограммы delay, обеспечивающей задержку движения РОБОТА. Сама подпрограмма delay дана в третьем блоке. Её можно не набирать, а просто скопировать и вставить, используя специальную программу, которую можно скачать по этой ссылке на нашем сайте. Время задержки можно ставить любое. Как это можно сделать, смотрите на страничке ПОМОЩЬ ЗАДЕРЖКА

Просмотрим как всё это работает. Итак наша РОБОТ начинает движение вперёд по коду первого блока и делает это ровно столько, сколько задано командой rcall delay но уже во втором блоке, а дальше происходит перенастройка пинов порта В (строчка ldi temp  , 0b00000101)  на движение назад. Снова программный код доходит до строчки rcall delay и начинается движение назад на время задержки, определяемое подпрограммой delay. Всё, теперь будем останавливать движение нашего РОБОТА. Для этого делаем метку m 1 в программном коде. В строчках ldi temp и следующей - out port B четвертого блока выводим на все  пины порта В   нули. (0b00000000). Это будет означать остановку всех двигателей РОБОТА. Команда rjmp m1 возвращает выполнение программного кода к метке m1, и делает это бесконечное количество раз, обеспечивая остановку двигателей тележки.  Программный код нашей программы завершается командой ret.   

 

 

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Вход на сайт
Поиск
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Друзья сайта