Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[68]

TBR(max)

Режим вывода 1:

Установка

Режим вывода 2: Переключение/Сброс

Режим вывода 3: Установка/Сброс

Режим вывода 4:

Переключение Режим вывода 5:

Режим вывода 6: Переключение/Установка

Режим вывода 7:

Сброс/Установка

EQU0EQU1 EQU0EQU1 EQU0 События, вызывающие

TBIFGTBIFGTBIFG прерывание

Рис. 12-12. Пример вывода - таймер в режиме «вверх»

Пример вывода - таймер в режиме «вверх/вниз»

Сигнал OUTx изменяется, когда таймер равен TBCLx при любом направлении счета, либо когда таймер равен TBCL0, в зависимости от режима вывода. Пример с использованием TBCL0 и TBCL3 показан на рис. 12-14.

Примечание: Переключение между режимами вывода

При переключении между режимами вывода один из битов OUTMODx должен оставаться установленным во время перехода между режимами, кроме переключения в режим 0. В противном случае может произойти сбой, поскольку режим вывода 0 декодирует элемент NOR (НЕ-ИЛИ). Безопасный метод переключения между режимами вывода заключается в использовании режима вывода 7 как переходного состояния:

BIS #OUTMOD 7,&TBCCTLx;Установка режима вывода =7

BIC #OUTMODx,&TBCCTLx;Очистка ненужных битов


Режим вывода 1: Установка

Режим вывода 2: Переключение/Сброс

Режим вывода 3: Установка/Сброс

Режим вывода 4: Переключение

Режим вывода 5: Сброс

Режим вывода 6: Переключение/Установка

Режим вывода 7: Сброс/Установка

TBIFG EQU1 EQU0 TBIFG EQU1 EQU0 События, вызывающие

прерывания

Рис. 12-13. Пример вывода - таймер в «непрерывном» режиме 122.6. Прерывания Таймера В

С 16-разрядным модулем таймера В связаны два вектора прерываний:

•Вектор прерывания TBCCR0 для TBCCR0 CCIFG

•Вектор прерывания TBIV для всех других флагов CCIFG и TBIFG

В режиме захвата любой флаг CCIFG устанавливается, когда значение таймера зафиксировано в соответствующем регистре TBCCRx. В режиме сравнения устанавливается любой флаг CCIFG, если TBR досчитал до соответствующего значения TBCLx. Программное обеспечение может также устанавливать или очищать любой флаг CCIFG. Все флаги CCIFG запрашивают прерывания, когда установлены их соответствующие биты CCIE и бит GIE.

Вектор прерывания TBCCR0

Флаг TBCCR0 CCIFG обладает наивысшим приоритетом прерывания Таймера B и имеет специализированный вектор прерывания, как показано на


TBR(max)

TBCL0 TBCL3

. Режим вывода 1: Установка

Режим вывода 2: • Переключение/Сброс

Режим вывода 3: Установка/Сброс

Режим вывода 4: Переключение

Режим вывода 5: Сброс

Режим вывода 6: Переключение/Установка

Режим вывода 7: Сброс/Установка

События, вызывающие прерывание

Рис. 12-14. Пример вывода - таймер в режиме «вверх/вниз»

рис. 12-15. Флаг TBCCR0 CCIFG автоматически сбрасывается, когда обслуживается запрос на прерывание TBCCR0.

EQU0 CAP

IRQ, запрос обработки прерывания

IRACC, прием запроса на прерывание

Рис. 12-15. Флаг прерывания TBCCR0 захвата/сравнения



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]