Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички по Микропроцессорам / Работа №4 (стр. 64-80).doc
Скачиваний:
22
Добавлен:
26.04.2015
Размер:
860.16 Кб
Скачать

16-Разрядный таймер/счетчик1

16-разрядный таймер/счетчик1 управляется двумя регистрами TCCR1A и TCCR1B.

Регистр управления А таймера/счетчика 1 - TCCR1A

Бит

7

6

5

4

3

2

1

0

$2F ($4F)

COM1A1

COM1A0

COM1B1

COM1B0

PWM11

PWM10

TCCR1A

Чтение/Запись

R/W

R/W

R/W

R/W

R

R

R/W

R/W

Исходное значение

0

0

0

0

0

0

0

0

Биты 7,6 - COM1A1, COM1A0: Compare Output Mode1A, bits 1 and 0 - Режим1A сравнения выхода, биты 1 и 0

Управляющие биты COM1A1 и COM1A0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика1. Сигнал выхода поступает на вывод 19 OC1A (Output CompareA). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в табл. 2.7.

Биты 5,4 - COM1B1, COM1B0: Compare Output Mode1B, bits 1 and 0 - Режим1B сравнения выхода, биты 1 и 0

Управляющие биты COM1B1 и COM1B0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика1. Сигнал выхода поступает на вывод 18 OC1B (Output CompareB). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в табл. 2.7.

В ШИМ режиме функции этих битов отличаются.

При изменении битов COM1X1/COM1X0 прерывания по сравнению выхода1 должны быть запрещены очисткой битов разрешения прерывания в регистре TIMSK. В противном случае при изменении битов может произойти прерывание

Таблица 2.7. Выбор режима сравнения 1

COM1X1

COM1X0

Описание

0

0

Таймер/счетчик1 отключен от вывода выхода OC1X

0

1

Переключение выходной линии OC1X

1

0

Очистка выходной линии OC1X (на линии низкий уровень)

1

1

Установка выходной линии OC1X (на линии высокий уровень)

Примечание: X = A или В

Биты 3.. 2 - Res: Reserved Bits – Зарезервированные биты

Данные биты в микроконтроллерах AT90S8535 зарезервированы и при считывании всегда покажут состояние 0.

Биты 1.. 0 - PWM11, PWM10: Pulse Width Modulator Select Bits - Биты выбора режима ШИМ

Данные биты определяют установку режима ШИМ, как это показано в табл. 2.8

Таблица 2.8. Выбор ШИМ режима

PWM11

PWM10

Описание

0

0

Работа таймера/счетчика1 в ШИМ режиме запрещена

0

1

Работа таймера/счетчика1 в 8-разрядном ШИМ режиме

1

0

Работа таймера/счетчика1 в 9-разрядном ШИМ режиме

1

1

Работа таймера/счетчика1 в 10-разрядном ШИМ режиме

Регистр управления B таймера/счетчика1 - TCCR1B

Бит

7

6

5

4

3

2

1

0

$2E ($4E)

ICNC1

ICES1

CTC1

CS12

CS11

CS10

TCCR1B

Чтение/Запись

R/W

R/W

R

R

R/W

R/W

R/W

R/W

Исходное значение

0

0

0

0

0

0

0

0

Бит 7 - ICNC1: Input Capture1 Noise Canceler (4 CKs) - Установка режима подавления шума на входе захвата 1

При сброшенном в состояние 0 бите ICNC1 функция подавления шума входного триггера захвата запрещена. Вход захвата переключается по первому нарастающему/падающему фронту, поступившему на вывод входа захвата ICР. При установленном в состояние 1 бите ICNC1 выполняются четыре последовательных опроса состояния вывода ICР и все четыре выборки должны иметь одинаковый (высокий/низкий), определяемый битом ICES1, уровень. Частота опроса соответствует частоте XTAL.

Бит 6 - ICES1: Input Capture1 Edge Select - Выбор фронта срабатывания на входе захвата 1

При сброшенном в состояние 0 бите ICES1 содержимое таймера/счетчика1, по падающему фронту на выводе входа захвата ICP, пересылается в регистр захвата входа ICR1. При установленном в 1 бите ICES1 содержимое таймера/счетчика1 пересылается в регистр захвата входа ICR1 по нарастающему фронту на выводе входа захвата ICP.

Биты 5, 4 - Res: Reserved Bits – Зарезервированные биты

Данные биты в микроконтроллерах AT90S8535 зарезервированы и при считывании всегда покажут состояние 0.

Бит 3 - CTC1: Clear Timer/Counter1 on Compare Match - Очистка таймера/счетчика1 по совпадению

При установленном в состояние 1 бите CTC1 таймер/счетчик1 сбрасывается в состояние $0000 в течение тактового цикла, следующего за совпадением при сравнении в A. Если бит CTC1 очищен, таймер/счетчик1 продолжает отсчет и не реагирует на совпадение при сравнении. Поскольку совпадение при сравнении детектируется в течение тактового цикла CPU, следующего за совпадением, то поведение функции будет отличаться при установке коэффициента предварительного деления таймера/счетчика1 большем 1. При коэффициенте предварительного деления 1 и установленном в регистре сравнения A значения C таймер будет считать в соответствии с установкой CTC1:

... | C-2 | C-1 | C | 0 | 1 | ...

При установленном коэффициенте предварительного деления 8 таймер будет считать подобно:

... | C-2, C-2, C-2, C-2, C-2, C-2, C-2, C-2 | C-1, C-1, C-1, C-1, C-1,C-1, C-1, C-1 | C, 0, 0, 0, 0, 0, 0, 0, 0 | 1,1,1,1,1,1,1,1|...

В ШИМ режиме состояние бита CTC1 значения не имеет.

Биты 2,1,0 - CS12, CS11, CS10: Clock Select1, bit 2,1 and 0 - Выбор источника тактовой частоты, биты 2,1 и 0

Установкой состояния данных битов производится выбор источника тактового сигнала (см. табл. 2.9).

Таблица 2.9. Выбор источника тактового сигнала таймера/счетчика1

CS12

CS11

CS10

Описание

0

0

0

Stop условие – таймер/счетчик1 остановлен

0

0

1

CK

0

1

0

CK / 8

0

1

1

CK / 64

1

0

0

CK / 256

1

0

1

CK / 1024

1

1

0

Внешний тактирующий сигнал на выводе Т1, нарастающий фронт

1

1

1

Внешний тактирующий сигнал на выводе Т1, падающий фронт

Stop условие выполняет функцию разрешения/запрещения таймера/счетчика1. В режимах с предварительным делением на соответствующий коэффициент делится частота CK тактового генератора. При использовании внешнего тактирования необходимо выполнить соответствующие установки в регистре управления направлением (очистка переводит вывод в режим входа).

Таймер/счетчик1 осуществляет счет в 16-разрядном регистре TCNT1.