Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
98 Микроконтроллеры AVR от азов программирования... предназначен для автоматического перезапуска микроконтроллера в слу чае «зависания» его программы. Это полезно запомнить. Зависанием называют зацикливание программы в результате ошибки, допущенной программистом, либо в результате действия внешней помехи. Для каждой микросхемы нужен всего один сторожевой таймер. В любом микроконтроллере AVR такой таймер имеется. Таймеры общего назначения используются для формирования различ ных интервалов времени и прямоугольных импульсов заданной частоты. Кроме того, они могут работать в режиме счетчика и подсчитывать так товые импульсы заданной частоты, измеряя таким образом длительность внешних сигналов, а также при необходимости подсчитывать количество любых внешних импульсов. По этой причине данные таймеры называют «таймеры/счетчики». В микросхемах AVR применяются как восьмиразрядные, так и шестнадцати разрядные таймеры/счетчики. Их количество для разных микроконтрол леров изменяется от одного до четырех. Точное количество таймеров/счет- чиков для каждой микросхемы серии AVR можно определить из табл. 3.1 (графа «Таймеры 8/16 бит»). Все таймеры обозначаются числами от 0 до 3. Пример. Timer/CounterO, Timer/Counterl и т.д. В русскоязычной литературе их чаще именуют сокращенно ТО, Tl, Т2, ТЗ. Таймеры ТО и Т2 в большин стве микроконтроллеров — восьмиразрядные. Таймеры Т1 и ТЗ — шестнадцатиразрядные. Таймер ТО имеется в любой микросхеме AVR. Остальные добавляются по мере усложнения модели. Каждый восьмиразрядный таймер представляет собой один восьми разрядный регистр, который для микроконтроллера является регистром ввода-вывода. Этот регистр хранит текущее значение таймера и называется счетным регистром. Шестнадцатиразрядные таймеры имеют шестнадцати разрядный счетный регистр. Каждый счетный регистр имеет свое имя. Счетный регистр восьмиразрядного таймера именуется TCNTx, где «х» — это номер таймера. Для таймера ТО регистр называется TCNT0. Для таймера Т2 — TCNT2. Шестнадцатиразрядные регистры именуются похожим обра зом. Отличие в том, что каждый шестнадцатиразрядный счетный регистр для микроконтроллера представляет собой два регистра ввода-вывода. Один предназначен для хранения старших битов числа, а второй — для хранения младших битов. К имени регистра старших разрядов добав ляется буква Н, а для регистра младших разрядов добавляется буква L. Таким образом, счетный регистр таймера Т1 — это два регистра ввода-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==