78
таймера/счетчика1 в качестве 8-разрядного таймера достаточно
производить запись только младшего байта.
Если основная программа и подпрограммы обработки прерываний используют
обращение к регистрам посредством TEMP, то прерывания должны быть запрещены на
время обращения из основной программы.
Таймер/счетчи к 1 выпол нен в виде суммирующего счетч ик а с возможностью
чтения/записи . Если в таймер /счетчик 1 занесено некоторое значение и выбран источник
тактового сигна ла , то он через один так товый цикл продолжит счет с записанного значения.
В
ХОД ЗАХВАТА
Функция зах вата заключается в копировании содержимого таймера/сче тчи ка 1 в
регистр входа за х вата ICR1. Процесс копирования запу ска ется внешним событи ем на
вхо де захвата ICР. Реальные установки зах вата события определяются регистром
управления таймером/счетч ик ом 1 TCCR1B (Timer/Counter1 Control Register). Кроме того,
для воздействи я на вхо д зах вата может быть использован аналоговый компаратор. Если
разрешена функция подавления шума, действительные условия переключения события
зах вата тестиру ются , прежде че м захват будет активирован.
Реги стры вхо да зах вата ICR1H - (Timer/Counter1 Input Capture Register High) и ICR1L
(Timer/Counter1 Input Capture Register Low) образуют 16-битный регистр ICR1, доступный
только для чтения .
При обнаружении на вх оде захвата ICР нарастающего или падающего фронта
сигн ал а (определяемого установкой бита ICES1) теку щее состояни е таймера/сче тчи ка 1
пересылается в регистр вх о да зах вата ICR1. Одновременно устанавливается в состояни е 1
флаг захвата вход а ICF1 (Input Capture Flag 1) в регистре флагов прерывания TIFR (Timer
Interrupt Flags Register).
Поскольку регистр вх ода захвата ICR1 16-разрядный, то для обеспечения
одновременного чтения его старшего и младшего байтов ICR1H и ICR1L используется
регистр временного хранения TEMP. При считывании данных младшег о байта содержимое
ICR1L пересылается в процессорное ядро, а содержимое старшего байта ICR1H
размещается в регистре TEMP. Чтен ие старшего байта заключается в переносе в
процессорное ядро содержимого регистра временного хранения TEMP. Следовательно,
при чтении всего 16-разрядного регистра операцию чтения необходимо начинать с
младшего байта ICR1L. Регистр TEMP используется так же при обращении к TCNT1, OCR1A
и OCR1B. Если основная программа и подпрограммы обработки прерываний, используют
обращение к регистрам посредством TEMP, то прерывания на это время должны быть
запрещены. Для управления входом зах вата используются отдельные биты регистра
TCCR1B (Timer/Counter1 Control Register B):
º Бит 7 - ICNC1 (Input Capture1 Noise Canceler) - установка режима подавления
шума на входе захвата 1. При сброшенном в состояние 0 бите ICNC1
функция подавления шума входного триггера захвата запрещена. Вход
захвата в этом случае реагирует на первый же импульс, поступивший на
контакт входа захвата IC1. При установленном в состояние 1 бите ICNC1
импульс, поступивший на вход захвата IC1 подвергается серьезной проверке
- состояние входа IC1 опрашивается последовательно четыре раза. Все
четыре выборки должны иметь одинаковый (высокий/низкий), определяемый
битом ICES1, уровень. Частота опроса соответствует частоте синхронизации
процессорного ядра.