Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 4 / Лабораторная работа N 4.doc
Скачиваний:
14
Добавлен:
01.05.2014
Размер:
152.06 Кб
Скачать

Режимы работы t/c.

В таблице 3.4. приведен перечень режимов работы таймеров/счетчиков.

Назначение режимов 0, 1, 2 и 6 одинаковое для обоих таймеров/счетчиков. Режим 3 различен для T/C0 и T/C1.

Таблица 3.4

Биты TnM2 – TnM0

Режим работы таймера

000

Младшая часть таймера TLn функционирует как 5-разрядный предделитель.

001

THn и TLn каскадно соединены. Разрядность таймера/счетчика равна 16.

010

Автоперезагружаемый 8-разрядный таймер/счетчик. При переполнении TLn в него загружается значение, находящееся в THn.

011

Таймер 0 образует 2 независимых 8-разрядных таймера/счетчика. TL0 управляется с помощью битов управления таймера 0. TH0 управляется с помощью битов управления таймера 1. Таймер 1 остановлен.

100

Зарезервировано. Пользователь не должен задавать такой режим.

101

Зарезервировано. Пользователь не должен задавать такой режим.

110

Режим широтно-импульсного модулятора (ШИМ).

111

Зарезервировано. Пользователь не должен задавать такой режим.

Режим 0

Таймер в режиме 0 аналогичен таймеру 8048. Старшая часть T/C работает как 8-разрядный делитель, младшая часть - как 5-разрядный предделитель (реализует деление на 32). Таким образом, разрядностьT/C в этом режиме равна 13. Старшие 3 бита TLn игнорируются. Работа таймера разрешена если TRn = 1 и либо TnGATE = 1 либо INTn = 1. Установка TnGATE в 1 позволяет управлять таймером с помощью внешнего сигнала INTn. TRn – управляющий бит в регистре специальных функций TCON. TnGATE – бит регистра TMOD. Установка TRn (флаг запуска) не очищает регистр. При изменении значения со всех единиц на все нули (переполнение таймера), таймер выставляет запрос на прерывание (флаг TFn).

Функционирование в режиме 0 идентично для T/C0 и T/C1.

Рис. 3.1. Логика работы T/C0 или T/C1 в режиме 0.

Режим 1

Режим 1 аналогичен режиму 0, за исключением того, что разрядность T/C равна 16 (используются все биты THn и TLn).

Рис. 3.2. Логика работы T/C0 или T/C1 в режиме 1.

Режим 2

В режиме 2 таймер работает в качестве 8-разрядного счетчика (TLn) с автоматической перезагрузкой. При переполнении TLn устанавливается флаг TFn и в TLn загружается значение, находящееся в THn (значение должно быть задано программно). Значение THn при перезагрузке не изменяется. Функционирование в режиме 2 идентично для T/C0 и T/C1.

Рис. 3.3. Логика работы T/C0 или T/C1 в режиме 2.

Режим 3

В режиме 3 таймеры работают по-разному.

Таймер 1 остановлен и сохраняет свое значение (соответствует установке TR1=0).

Таймер 0 образует 2 независимых 8-битных счетчика. TL0 может работать в режиме таймера и в режиме счетчика. Для управления TL0 используются биты, относящиеся к таймеру 0: T0C/T, T0GATE, TR0, INT0 и TF0. TH0 работает только в режиме “таймера” (подсчет машинных циклов), использует бит включения TR1 и при переполнении выставляет флаг TF1.

Установка T/C0 в режим 3 лишает T/C1 бита включения TR1. Поэтому T/C1 в режимах 0, 1, 2 при T1GATE=0 всегда включен и при переполнении в режимах 0 и 1 обнуляется, а в режиме 2 перезагружается не устанавливая флага TF1, если T/C0 находится в режиме 3. Управление от входов INT1, Т1, биты управления T1C/T, T1GATE для T/C1 не зависят от режима T/C0.

Таймер 1 аппаратно связан с блоком синхронизации последовательного интерфейса При работе в режимах 0, 1, 2 при переполнении T/C1 вырабатывает тактовый импульс для последовательного интерфейса. Поэтому режим 3 T/C0 удобно применять тогда, когда требуется работа последовательного интерфейса и двух таймеров (таймера и счетчика). При работе T/C0 в режиме 3, T/C1 может использоваться в любых приложениях, не требующих прерывания.

Рис. 3.3. Логика работы T/C0 в режиме 3.

Соседние файлы в папке Лабораторная работа 4