Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

Шаг 5. Переходим непосредственно к разработке устройств и программ 249 ♦ Поле «Interrupt On» (Прерывание От) нам нужно изменить. Это поле предназначено для разрешения или запрета различных видов прерываний от таймера. В правой части поля имеются две малень ­ кие кнопочки, при помощи которых вы можете листать его содер ­ жимое. В процессе перелистывания в окошке появляются названия видов прерываний. ♦ Слева от названия каждого вида прерывания имеется поле выбо ­ ра («Check Box»), при помощи которого вы можете включить либо выключить данное прерывание. Путем перелистывания найдите прерывание, которое называется «Compare A Mach» (при совпа ­ дении с А). Поставьте «птичку» в соответствующем поле «Check Box». Теперь нужное прерывание будет включено. ♦ Поля «Value» и «Inp. Capture» оставим без изменений. Эти поля предназначены для задания начальных значений счетного регистра и содержимого регистра захвата. ♦ И, наконец, два поля под общим названием «Сотр.» позволяют выставить значения, записываемые в регистры совпадения А и В. Мы будем использовать регистр А. Запишем в поле «А:» значение нужного нам коэффициента деления (3D0). В данном случае допу- скается только шестнадцатиричный формат. В результате всех этих манипуляций окно настройки таймера должно выглядеть так, как показано на рис. 5.13. Сохраните новое значение пара ­ метров при помощи меню «File / Save» мастера. Теперь можно приступать к процессу формирования нового про ­ екта. Этот процесс был подробно описан в разделе 5.1, поэтому я повто ­ ряться не буду. После того, как проект сформирован, при ­ ступаем к созданию новой программы. Возможный вариант такой программы приведен в листинге 5.14. В новой программе в основном использованы уже знакомые нам операторы. Из новых операторов появился лишь один. #asm() ___________________________________ Это специальная системная функция, позво ­ ляющая в программе на СИ выполнять команды Ассемблера. Параметр функции — это строковая переменная или строковая константа, значение которой представляет собой текст команды на Ассемблере. Подобная функция добавляет про ­ грамме значительную гибкость. В строке 31 про ­ граммы (листинг 5.14) при помощи функции Рис. 5.13. Настройка таймера

RkJQdWJsaXNoZXIy MTExODQxMg==