Белов, А.В. Микроконтроллеры 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) логической единицы для уменьшения потребляемой мощности.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==