Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
86 Микроконтроллеры AVR от азов программирования... Условное обозначение F_END означает адрес последней ячейки памяти. Значение этого адреса будет разным для разных микроконтрол леров. Например, для микроконтроллера ATtiny2313 адрес последней ячейки памяти будет равен $7FF. Адрес последней ячейки памяти всегда на единицу меньше объема этой памяти. Объем памяти для каждого микроконтроллера можно узнать из табл. 3.1. Так, для микроконтроллера ATtiny2313 объем программной памяти равен 2 килобайтам. То есть 2048 байт. Если записать это число в шестнадцатиричном виде, получим $800. Учитывая то, что адресация начинается с нулевого адреса, то для адресации такого количества ячеек мы должны использовать адреса с 0 по 2047. Или в шестнадцатиричном виде от $000 до $7FF. Некоторые адреса программной памяти зарезервированы. То есть используются для неких специальных целей. И первым зарезервирован ным адресом можно считать нулевой адрес. Он называется вектором системного сброса. Именно с этого адреса начинается выполнение про граммы после системного сброса микроконтроллера. Остальные зарезер вированные адреса — это векторы прерываний. Это полезно запомнить. Вектор прерывания — это адрес в программной памяти, с которого начинается выполнение процедуры обработки прерывания. Так как любой микроконтроллер AVR имеет несколько источников прерывания, то и векторов прерывания тоже несколько: по одному на каждый вид прерывания. Адреса векторов прерываний находятся сразу за вектором сброса. То есть занимают ячейки с адресами $001, $002 и т. д. Количество векторов прерываний для разных микросхем разное. Подробнее смотрите в табл. 3.1 в графе «Кол-во каналов прерывания Внут / Внешн». В этой графе отдельно показано количество внутренних и количество внешних прерываний. Это полезно запомнить. Внутренним прерыванием называется прерывание, вызванное одним из встроенных периферийных устройств самого микроконтроллера. Например прерывание по таймеру, аналоговому компаратору, АЦП и т. д. Это полезно запомнить. Внешнее прерывание — это прерывание по сигналу, поступающему от внешнего источника на специальный вход микроконтроллера.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==