Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Brcc Loop ; Возвращаемся к началу, если флаг С сброшен



К моменту выхода из цикла пройдет ровно одна секунда. Каждая итерация цикла равна пяти тактам (команда перехода выполняется за два такта). Должно быть понятно, откуда взялись цифры, приведенные в Табл. 1, — для каждого дополнительного регистра задержки длительность итерации цикла увеличивается на один такт. Для вычитания единицы (декрементирования) используем команду subi, а не dec. Команда dec, в отличие от команды subi, не влияет на флаг переноса. А он необходим для определения моментов декрементирования старших байтов и выхода из цикла.

Счетчик команд и подпрограммы

В микроконтроллерах AVR имеется специальный встроенный счетчик, называемый счетчиком команд (Program Counter — PC), в котором хранится адрес следующей выполняемой команды. При выполнении обычных команд (арифметических, логических и т.п.) содержимое счетчика просто инкрементируется, в результате чего он указывает на следующую команду программы. При выполнении же команд перехода, таких как rjmp или brne, содержимое счетчика увеличивается на определенную величину, в результате чего микроконтроллер переходит к другому месту программы.

Start:

Sbi PortB,0; Включаем СИД

А sbic PinD,0;- Проверяем кнопку

В cbi PortB.0; Выключаем СИД

Loop:





Дата публикования: 2015-02-03; Прочитано: 322 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...