Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_Методичка_07-04-11.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
7.8 Mб
Скачать

Режим 1: 16-разрядный Таймер/Счетчик

Режим 1 аналогичен режиму 0 с тем лишь исключением, что регистры Т/С используют все 16 бит. Таймеры/счетчики включаются и настраиваются в режиме 1 точно так же, как в режиме 0.

Режим 2: 8-разрядный таймер/счетчик с автоперезагрузкой

В режиме 2 Таймеры 0 и 1 настраиваются для работы в качестве 8-разрядных таймеров/счетчиков с автоматической перезагрузкой начального значения. Регистр TL0 содержит значение счетчика, а регистр TH0 содержит перезагружаемое значение. Когда счетчик в регистре TL0 переполняется (переходит из состояния 0xFF в состояние 0х00), флаг переполнения таймера TF0 (TCON.5) устанавливается в 1 и значение регистра TH0 загружается в регистр TL0. При установке флага TF0 будет сгенерировано прерывание от Таймера 0, если оно разрешено. Перезагружаемое значение в регистре TH0 не изменяется. Чтобы первый отсчет был корректным, необходимо проинициализировать регистр TL0 требуемым значением до включения таймера. Таймер 1 в режиме 2 работает так же, как Таймер 0.

В режиме 2 оба Т/С включаются и настраиваются точно так же, как и в режиме 0. Установка в 1 бита TR0 (TCON.4) включит таймер, если либо бит GATE0 (TMOD.3) равен нулю, либо на внешнем выводе /INT0 присутствует сигнал с активным логическим уровнем, который определяется битом IN0PL в регистре IT01CF.

Рис 6.2.2 Структурная схема Таймера 0 в режиме 2

Режим 3: Два 8-разрядных таймера/счетчика (только Таймер 0)

В режиме 3 Таймер 0 функционирует как два отдельных 8-разрядных таймера/счетчика TL0 и TH0. Для управления таймером/счетчиком TL0 используются биты управления/состояния Таймера 0 (в регистрах TCON и TMOD): TR0, C/T0, GATE0 и TF0. В качестве источника тактирования ТL0 может использовать либо системный тактовый сигнал, либо внешний входной сигнал. Таймер/счетчик TH0 поддерживает только таймерные функции и может использовать для тактирования либо системный тактовый сигнал, либо сигнал с выхода предварительного делителя. Для включения таймера/счетчика TH0 используется управляющий бит запуска Таймера 1 (TR1). Таймер/счетчик TH0 при переполнении устанавливает флаг переполнения Таймера 1 TF1 и, таким образом, управляет прерыванием от Таймера 1.

В режиме 3 Таймер 1 неактивен. Если Таймер 0 функционирует в режиме 3, Таймер 1 может работать в режимах 0, 1 или 2, но не может тактироваться внешними сигналами, устанавливать флаг TF1 и генерировать прерывание. Однако переполнение Таймера 1 можно использовать для генерации скорости передачи данных для модулей SMBus и/или UART, и/или запускать преобразования АЦП. Пока Таймер 0 функционирует в режиме 3, управление запуском Таймера 1 осуществляется путем настройки режима его работы. Чтобы запустить Таймер 1 в то время, когда Таймер 0 функционирует в режиме 3, необходимо установить для Таймера 1 режим работы 0, 1 или 2. Чтобы отключить Таймер 1, необходимо настроить его на работу в режиме 3.

Рис 6.2.3 Структурная схема Таймера 0 в режиме 3

SFR-описание 6.2.1. TCON Регистр управления Таймерами 0 и 1

SFR-описание 6.2.2. TMOD Регистр режима Таймеров 0 и 1

SFR-описание 6.2.3. CKCON Регистр управления тактированием