- •Лабораторная работа № 4 изучение таймеров микроконтроллера 8xc196кс
- •1. Общие сведения
- •1.1. Таймеры
- •1.2. Программирование таймера 2
- •1.2.2. Выбор источника синхронизации
- •1.2.3. Установка направления счета
- •1.2.4. Выбор сброса Таймера 2.
- •1.2.5. Синхронизация сигналов t2rst, t2clk, и t2Capture
- •1.2.5.1. Одновременная установка сигналов t2rst, t2clk, и t2capture
- •1.3. Прерывания по таймеру
- •1.3.1. Прерывание переполнения таймера
- •Input/Output Control Register 1
- •Input/Output Status Register 1
- •1.3.2. Прерывание переполнения Таймера 2
- •1.3.3. Прерывание фиксатора Таймера 2
- •Timer 2 Capture Register
- •1.4. Предосторожности при работе с Таймерами
- •2. Порядок выполнения работы
- •3. Содержание отчета
1.2.2. Выбор источника синхронизации
Таймер 2 считает и отрицательные и положительные переходы. Он может синхронизироваться или внутренне или внешне, в зависимости от состояния бита T2_ENA в регистре IOC3 (IOC3.0) (на рис.4.1 вход “CLOCK”) . Установка IOC3.0 выбирает внутренний источник тактов; очистка выбирает внешний источник тактов.
Если для таймера выбран источник внешней синхронизации, бит T2CLK_SRC в регистре IOC0 (IOC0.7) определяет, какой контакт будет использоваться в качестве внешнего источника синхронизации: если IOC0.7 = 0, то контакт T2CLK (P2.3), а если IOC0.7 = 1, то контакт HSI.1 .
Когда Таймер 2 синхронизируется внешне, бит FAST_T2_ENA (IOC2.0) ( на рис. 4.1 вход SLOW#/FAST ) управляет максимальной входной частотой на внешнем контакте . Когда бит FAST_T2_ENA установлен ( быстрый режим приращения ), Таймер 2 увеличивается один раз за каждое время состояния.
Когда бит FAST_T2_ENA очищен (нормальный режим ), Таймер 2 увеличивается один раз каждые восемь времен состояния.
Когда Таймер 2 синхронизируется внутренне, бит FAST_T2_ENA (IOC2.0) выбирает входную частоту синхронизации. Когда бит FAST_T2_ENA установлен ( быстрый режим приращения ), частота синхронизации равна Fosc/4 и Таймер 2 увеличивается один раз за каждое время состояния. Когда бит FAST_T2_ENA очищен (нормальный режим ), частота синхронизации равна Fosc/32, и Таймер 2 увеличивается один раз каждые восемь времен состояния.
Если Таймер 2 - датчик времени для HSO модуля, используют нормальный режим. HSO требует, чтобы каждые восемь времен состояния производилась выборка (сканирование) всех записей содержащихся в файле CAM (Content-Addressable Memory - ассоциативной памяти). Если Таймер 2 использует быстрый режим приращения, HSO события могут быть пропущены.
1.2.3. Установка направления счета
Бит T2UD_ENA в регистре IOC2 (IOC2.1) управляет будет ли Таймер 2 считать:
- только вверх (суммирующий) ;
- или вверх (суммирующий) или вниз (вычитающий);
в зависимости от значения на контакте T2UP-DN(P2.6) ( на рис.4.1 вход UP#/DOWN ).
Если IOC2.1 очищен, Таймер 2 всегда считает вверх. Если IOC2.1 установлен и T2UP-DN = 0 , Таймер 2 считает вверх. Если IOC2.1 установлен и T2UP-DN = 1, Таймер 2 считает вниз.
Когда Таймер 2 - датчик времени для HSO модуля, не изменяйте направление счета, поскольку HSO события могут произойти в неправильном порядке.
1.2.4. Выбор сброса Таймера 2.
Таймер 2 может сбрасываться аппаратными средствами, программным обеспечением, или HSO модулем ( на рис.4.1 вход RESET ). Установка бита T2RST_ENA (IOC0.3) допускает внешний источник сброса. Установка бита T2RST_SRC (IOC0.5) выбирает контакт HSI.0, а его очистка выбирает контакт T2RST (P2.4) в качестве внешнего источника сигнала сброса Таймера 2 . Передний фронт выбранного сигнала сбрасывает Таймер 2.
Программное обеспечение может сбрасывать этот таймер установкой бита SW_T2RST (IOC0.1).
HSO может сбрасывать этот таймер выполняя команду сброса Таймера 2. (CMD_TAG = 0EH ). Эта опция сброса особенно полезна при использовании HSO модуля для генерации широтно-импульсных модулируемых выходов (pulse width modulated (PWM) outputs).