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

 

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

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

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

 

Start:

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

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

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

Loop:

еще рефераты
Еще работы по информатике