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

Шаг 6. Осваиваем все возможности микроконтроллера ATtiny23 13 511 мера/счетчикаі от аналогового компаратора. Выход компаратора в этом случае непосредственно подключается к входу схемы захвата. Это позво ­ ляет использовать при захвате от компаратора схему шумоподавления и схему выбора активного фронта. Если значение разряда АСІС равно нулю, то выход компаратора отклю ­ чается от входа схемы захвата. Для того, чтобы сигнал от компаратора мог вызывать прерывание по захвату таймера/счетчикаі, бит ICIE1 регистра маски прерываний таймера (TIMSK) должен быть установлен в единицу. Биты 1,0 — ACIS1, ACIS0: Выбор условия возникновения прерыва ­ ния. При помощи этих двух разрядов можно выбрать условия возник ­ новения прерывания от аналогового компаратора. Все возможные вари ­ анты условий возникновения прерывания приведены в табл. 6.58. Установки разрядов ACIS1/ACIS0 Таблица 6.58 ACIS1 ACIS0 Режим прерывания 0 0 Прерывание по любому изменению сигнала на выходе компаратора 0 1 Зарезервировано 1 0 Прерывание по заднему фронту сигнала с выхода компаратора (переход с 1 на 0) 1 1 Прерывание по переднему фронту сигнала с выхода компаратора (переход с 0 на 1) В момент изменения значений разрядов ACIS1/ACIS0 прерывание от аналогового компаратора должно быть запрещено путем очистки бита разрешения прерывания регистра ACSR. В противном случае в момент изменения значения битов возможно возникновение ложного запроса на прерывание. Регистр отключения цифрового ввода — DIDR Номер бита 7 ________ 6 ________ 5 ________ 4 3 2 1 0 | — | — | — | — | — I AIN1D | AIN0D | DIDR Чтение(Р)/Запись(У7) R R R R R R R/W R/W Начальное значение 00000000 Бит 1,0 — AIN1D, AIN0D: Отключение цифрового ввода для входов AIN1, AIN0. Если в один из этих разрядов записать логическую единицу, то цифровой входной буфер соответствующего вывода AIN1/0 будет заблокирован. При чтении содержимого порта заблокированные биты будут всегда читаться как ноль. Если вход AIN1 (или AIN0) используется только для ввода аналогового сигнала, а ввод цифрового сигнала для этого входа не нужен, то рекомен ­ дуется всегда отключать цифровой ввод путем записи в разряд AIN0D (AIN1D) логической единицы для уменьшения потребляемой мощности.

RkJQdWJsaXNoZXIy MTExODQxMg==