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

Лабораторная работа n 4

ИЗУЧЕНИЕ СТРУКТУРЫ И РЕЖИМОВ РАБОТЫ ТАЙМЕРОВ-СЧЕТЧИКОВ

ОМК P89LPC932.

Цель работы: 1.Ознакомление со структурой блока

таймеров/счетчиков ОМК P89LPC932

2.Получение навыков программирования и применения таймеров/счетчиков в основных режимах работы.

Общие сведения Структура блока таймеров/счетчиков омк p89lpc932

В микроконтроллере LPC932 имеется блок таймеров/счетчиков общего назначения, который совместим со стандартом 80C51, и предназначен для выполнения следующих функций:

Формирование программно-управляемых временных задержек;

Подсчет числа внешних событий;

Выполнение времязадающих функций ОМК.

В состав блока входят:

1.два 16-разрядных регистра T/C0 и T/C1;

2.два 8-разрядных регистра режимов TMOD и TАMOD;

3.восьмиразрядный регистр управления TCON;

4.схема инкремента;

5.схема фиксации INT0, INT1, Т0, Т1;

6.схема управления флагами;

7.логика управления T/C.

Два 16-разрядных регистра T/C0 и T/C1 выполняют функцию хранения содержимого счета. Каждый из них состоит из пары 8-разрядных регистров TH0, TL0 и TH1, TL1. Каждый из 8-разрядных регистров имеет свой адрес и может быть использован как регистр общего назначения (РОН), если T/C не используется.

Регистры режимов TMOD и TАMOD предназначены для приема и хранения кодов настройки T/Cn

Каждый из таймеров/счетчиков может быть запрограммирован на работу в режиме таймера (подсчет импульсов, поступающих от внутреннего тактового генератора) или счетчика событий (подсчет импульсов, поступающих с внешних устройств через входы T0 и T1). Также добавлена возможность автоматического переключения вывода Tx при переполнении таймера.

Таймеры 0 и 1 могут быть запрограммированы на автоматическое переключение выходов порта при переполнении таймера. ВыводыT0 и T1, используемые для подсчета внешних сигналов (в качестве входов) и для ШИМ’а (в качестве выходов), также используются для переключения выходов таймера. Эту функцию можно разрешить с помощью битов ENT0 и ENT1 регистра AUXR1, соответственно для таймера 0 и таймера 1. Выходы порта устанавливаются в единицы перед первым переполнением таймера, если данный режим включен. Для правильного функционирования в этом режиме, бит C/T должен быть сброшен, для тактирования таймера сигналами PCLK.

В режиме таймера содержимое регистра инкрементируется в каждом машинном цикле (МЦ). В режиме счетчика содержимое регистра инкрементируется под воздействием внешнего сигнала на соответствующих входах T0 и T1, при переходе из 1 в 0 (т.е. по спаду сигнала). В этом режиме сигнал на внешних выводах проверяется один раз за каждый машинный цикл. Если сигнал имеет высокий уровень в течение одного МЦ, а в следующем МЦ – низкий уровень, то счетчик инкрементируется. Новое значение счетчика записывается в регистр в течение цикла, следующего за тем, в котором был обнаружен переход. Поскольку для распознавания перехода необходимо 2 машинных цикла (4 такта CPU, Central Processing Unit), то максимальная частота подсчета входных сигналов составляет 1/4 опорной частоты CPU. Ограничений на длительность входных сигналов нет, но изменение значения счетчика гарантировано только в том случае, если сигнал на входе держится как минимум в течение одного машинного цикла.

Выбор режима “таймер” или “счетчик” осуществляется с помощью битаTnC/T в регистре TMOD.

Таймеры 0 и 1 имеют 5 режимов работы (режим 0, 1, 2, 3 и 6), которые выбираются с помощью битов TnM1 и TnM0 в регистре TMOD и бита TnM2 в регистре TAMOD. Назначение отдельных разрядов регистров TMOD.( Timer/Counter Mode Control register) и TAMOD (Timer/Counter Auxiliary Mode Control register) приведено в таблицах 3.1 и 3.2.

Таблица 3.1.

Бит

Обозначение

Назначение

TMOD.7

T1GATE

Управление разрешением работы таймера 1. Если бит установлен в 1, то работа таймера/счетчика разрешена, только если вывод INT1 имеет высокий уровень и установлен бит TR1. Если бит сброшен, то работа таймера 1 разрешена, если установлен бит TR1.

TMOD.6

T1C/T

Выбор режима “таймер” или “счетчик” для таймера 1. Бит сбрасывается для выбора режима “таймер”. Установка бита приводит к выбору режима “счетчик”.

TMOD.5,4

T1M1, T1M0

Выбор режима работы таймера 1. Эти биты используются вместе с битом T1M2 регистра TAMOD для задания режима работы таймера 1.

TMOD.3

T0GATE

Управление разрешением работы таймера 0. Если бит установлен в 1, то работа таймера/счетчика разрешена, только если вывод INT0 имеет высокий уровень и установлен бит TR0. Если бит сброшен, то работа таймера 0 разрешена, если установлен бит TR0.

TMOD.2

T0C/T

Выбор режима “таймер” или “счетчик” для таймера 0. Бит сбрасывается для выбора режима “таймер”. Установка бита приводит к выбору режима “счетчик”.

TMOD.1,0

T0M1, T0M0

Выбор режима работы таймера 0. Эти биты используются вместе с битом T0M2 регистра TAMOD для задания режима работы таймера 0.

Таблица 3.2.

Бит

Обозначение

Назначение

TAMOD.7-5

-

Зарезервировано. Эти биты не должны устанавливаться в 1 при программировании микроконтроллера.

TAMOD.4

T1M2

Дополнительный бит выбора режима для таймера 1. Используется вместе с битами T1M1 и T1M0 (регистр TMOD) для задания режима работы таймера 1.

TAMOD.3-1

-

Зарезервировано. Эти биты не должны устанавливаться в 1 при программировании микроконтроллера.

TAMOD.0

T0M2

Дополнительный бит выбора режима для таймера 0. Используется вместе с битами T0M1 и T0M0 (регистр TMOD) для задания режима работы таймера 0.

Регистр управления TCON (Timer/Counter Control register) предназначен для приема и хранения кода управляющего слова.

Назначение разрядов регистра TCON приведено в таблице 3.3.

Таблица 3.3.

Бит

Обозначение

Назначение

TCON.7

TF1

Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера/счетчика. Сбрасывается аппарат-но после обработки прерывания, или программно (за исключением режима 6, где сброс только аппаратный).

TCON.6

TR1

Бит управления запуском таймера 1. Устанавливается /сбрасывается программно для включения/выключения таймера/счетчика 1.

TCON.5

TF0

Флаг переполнения таймера 0. Устанавливается аппаратно при переполнении таймера/счетчика. Сбрасывается аппарат-но после обработки прерывания, или программно (за ис-ключением режима 6, где сброс только аппаратный).

TCON.4

TR0

Бит управления запуском таймера 0. Устанавливается /сбрасывается программно для включения/выключения тай-мера/счетчика 0.

TCON.3

IE1

Флаг прерывания 1 по фронту. Устанавливается аппаратно при обнаружении фронта прерывания 1. Сбрасывается аппа-ратно после обработки прерывания или программно.

TCON.2

IT1

Бит управления типом прерывания 1. Устанавливается /сбрасывается программно для задания чувствительности прерывания по спаду или по низкому уровню.

TCON.1

IE0

Флаг прерывания 0 по фронту. Устанавливается аппаратно при обнаружении фронта прерывания 0. Сбрасывается аппаратно после обработки прерывания или программно.

TCON.0

IT0

Бит управления типом прерывания 0. Устанавливается /сбрасывается программно для задания чувствительности прерывания по спаду или по низкому уровню.

Схема инкремента предназначена:

- для увеличения на 1 в каждом машинном цикле содержимого регистров T/C0 и T/C1 при работе в режиме таймера при условии, что счет разрешен;

- для увеличения на 1 содержимого регистров T/C0 и T/C1 при работе в режиме счетчика при условии, что счет разрешен; и на соответствующем входе ОМК (T0 для T/C0 и T1 для T/C1) зафиксирован счетный импульс.

Схема фиксации INT0, INT1, Т0, Т1 представляет собой 4 триггера. В каждом машинном цикле в них запоминается информация с выводов INT0, INT1, Т0, Т1.

Схема управления флагами устанавливает и сбрасывает флаги переполнения T/C и флаги запросов внешних прерываний.

Логика управления T/C синхронизирует работу регистров T/C0 и T/C1 в соответствии с заданными режимами работы и синхронизирует работу блока T/C с работой ОМК.

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