F60-67 (1041605), страница 55
Текст из файла (страница 55)
Если DCEN = 1, то логический уровеньна выводе TnEX управляет направлением счета таймера и сигнал на этом выводе не будет вызыватьперезагрузку или прерывание. Функционирование таймера в режиме обратного отсчета описано в разделе24.2.1.В режиме обратного отсчета Таймер/Счетчик установит соответствующий ему флагпереполнения/опустошения TFn (TMRnCN.7) и сгенерирует прерывание (если оно разрешено) в тот момент,когда значение регистров таймера (TMRnH, TMRnL) станет равно значению регистров захвата/перезагрузки(RCAPnH, RCAPnL). Это событие считается опустошением таймера и вызывает загрузку в регистры таймеразначения 0xFFFF.
При опустошении таймер автоматически перезапускается.Режим таймера/счетчика с автоперезагрузкой выбирается сбросом в 0 бита CP/RLn. Установка в 1 битаTRn включает и запускает таймер.В режиме автоперезагрузки флаг EXFn инвертируется при каждом переполнении или опустошении ине вызывает прерывания. Флаг EXFn можно рассматривать как старший значащий разряд (СЗР) 17-разрядногосчетчика.Рисунок 24.12. Структурная схема Таймера n в режиме автоперезагрузкиTMRnCFTTTTDn nOnCMMG O E1 0 nENСхема переключения0212Внешний тактовыйсигнал (XTAL1)Tn0xFFTMRnLTMRnHRCAPnLRCAPnHOVF1TCLKМатрицаTRnEXENnПерезагрузкаМатрицаSMBus(только Таймер 4)297Tn(вывод порта)08TnEX1TnCONSYSCLK0xFFРед. 1.2CP/RLnC/TnTRnEXENnEXFnTFnПрерываниеC8051F060/1/2/3/4/5/6/724.2.4.
Режим инвертирования выходаТаймер n имеет возможность переключать (инвертировать) состояние соответствующего емувыходного вывода порта (Т2, Т3 или Т4) и таким образом генерировать на этом выводе прямоугольныеимпульсы с 50% скважностью. Состояние вывода порта будет изменяться при переполнении или опустошениисоответствующего таймера (в зависимости от направления счета таймера). Частота переключений определяетсячастотой тактирования таймера и значениями, загруженными в регистры RCAPnH и RCAPnL. Если таймерсчитает в обратном направлении, то значением перезагрузки таймера является значение 0xFFFF и опустошениебудет происходить в тот момент, когда значение регистров таймера станет равно значению регистров RCAPnHи RCAPnL.
Если таймер считает в прямом направлении, то значением перезагрузки таймера является значение,содержащееся в регистровой паре RCAPnH : RCAPnL и переполнение будет происходить в тот момент, когдазначение регистров таймера изменится из состояния 0xFFFF на значение перезагрузки.Чтобы генерировать прямоугольные импульсы, таймер переводится в режим перезагрузки (бит выборарежима Захват/Перезагрузка и бит выбора режима Таймер/Счетчик сбрасываются в 0). Выход таймераподключается путем установки в 1 бита разрешения выхода таймера в регистре TMRnCF.
Необходимо такимобразом выбрать источник тактирования и значения перезагрузки/опустошения таймера, чтобы онпереполнялся/опустошался с частотой, равной половине требуемой частоты выходного сигнала. Вывод порта,назначенный матрицей выходом таймера, следует настроить как цифровой выход (см. раздел 18). Установка в 1бита запуска таймера (TRn) запустит процесс генерации прямоугольного сигнала на выходном выводе.Чтение/запись бита состояния переключаемого выхода таймера (TMRnCF.2) используется для считываниясостояния переключаемого выхода или для принудительной установки на выходе требуемого значения.
Этополезно в том случае, если требуется запустить процесс переключения выходного сигнала с определенногоначального состояния или если во время остановки процесса переключения требуется перевести сигнал навыходном выводе в определенное состояние.Уравнение 24.1 Частота прямоугольных импульсовFsq = FTCLK / (2 x (65535 – RCAPn))Ред. 1.2298C8051F060/1/2/3/4/5/6/7Рисунок 24.13. TMRnCN: Регистры управления Таймерами nR/WTFnБит 7SFR Адрес:SFR страница:R/WEXFnR/W-R/W-R/WEXENnR/WTRnR/WC/TnR/WCP/RLnБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000(доступен в битовомрежиме адресации)TMR2CN: 0xC8; TMR3CN: 0xC8; TMR4CN: 0xC8TMR2CN: стр.0; TMR3CN: стр.1; TMR4CN: стр.2Бит 7: TFn: Флаг переполнения/опустошения Таймера n.Устанавливается в 1 аппаратно, если:таймер переполняется из состояния 0xFFFF в состояние 0x0000;таймер опустошается, изменяя свое значение, равное содержимому регистров RCAPnH:RCAPnLна значение 0хFFFF (в режиме автоперезагрузки);таймер опустошается, изменяя свое значение, равное 0х0000 на Если прерывание от Таймера 3разрешено, то установка этого бита приведет к переходу на значение 0хFFFF (в режиме захвата).Если прерывание от Таймера разрешено, то установка этого бита приведет к переходу на процедуруобслуживания прерывания от Таймера n.
Этот бит не сбрасывается аппаратно, он должен быть сброшенпрограммно.Бит 6: EXFn: Флаг внешнего входного сигнала Таймеров 2, 3 или 4.Этот бит аппаратно устанавливается в 1, если срез сигнала на входном выводе TnEX вызвал захватили перезагрузку и EXENn = 1. Если прерывание от Таймера разрешено, то установка этого битаприведет к переходу на процедуру обслуживания прерывания от Таймера n. Этот бит не сбрасываетсяаппаратно, он должен быть сброшен программно.Биты 5-4: Зарезервированы.Бит 3: EXENn: Бит разрешения внешнего сигнала для Таймера n.Этот бит разрешает осуществлять захват или перезагрузку по срезам сигнала на выводе TnEX ииспользовать этот вывод для управления направлением счета.
Если DCEN = 1, то в режимеавтоперезагрузки сигнал на выводе TnEX будет определять направление счета таймера. ЕслиEXENn = 1, то TnEX следует настроить как цифровой вход.0: Изменения состояния сигнала на выводе TnEX игнорируются.1: Изменения состояния сигнала на выводе TnEX вызывают захват, перезагрузку, а также определяютнаправление счета таймера следующим образом:Режим захвата: При переходе сигнала на выводе TnEX из ‘1’ в ‘0’ значение таймера захватывается(переписывается) в регистры RCAPnH:RCAPnL.Режим автоперезагрузки:DCEN = 0: При переходе сигнала из ‘1’ в ‘0’ происходит захват и устанавливается флаг EXFn.DCEN = 1: Уровень сигнала на выводе TnEX определяет направление счета таймера.Бит 2: TRn: Бит управления запуском Таймера n.Этот бит включает/отключает соответствующий Таймер.0: Таймер n отключен.1: Таймер n включен и запущен/считает.Бит 1: C/Tn: Выбор режима счетчика или таймера для Таймера n.0: Режим таймера: Таймер n инкрементируется от сигнала тактирования, который определяетсябитами TnM1:TnM0 (TMRnCF.4: TMRnCF.3).1: Режим счетчика: Таймер n инкрементируется под воздействием перехода из 1 в 0 внешнеговходного сигнала.Бит 0: CP/RLn: Выбор режима захвата или перезагрузки.Этот бит определяет, в каком режиме функционирует Таймер n: в режиме захвата или в режимеавтоперезагрузки.0: Таймер n функционирует в режиме автоперезагрузки.1: Таймер n функционирует в режиме захвата.299Ред.
1.2C8051F060/1/2/3/4/5/6/7Рисунок 24.14. TMRnCF: Регистры конфигурации Таймеров n---R/WTnM1R/WTnM0R/WTOGnR/WTnOER/WDCENБит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес:SFR страница:Значениепри сбросе:00000000(доступен в битовомрежиме адресации)TMR2CN: 0xC9; TMR3CN: 0xC9; TMR4CN: 0xC9TMR2CN: стр.0; TMR3CN: стр.1; TMR4CN: стр.2Биты 7-5: Зарезервированы.Биты 4-3: TnM1 и TnM0: Биты выбора источника тактового сигнала Таймера n.Эти биты используются для выбора сигнала тактирования Таймера n.
Этим сигналом могут быть:SYSCLK, SYSCLK/2, SYSCLK/12, либо сигнал от внешнего источника тактирования, подаваемый навывод порта Tn и деленный по частоте на 8. Сигнал тактирования задается следующим образом:00: SYSCLK/12;01: SYSCLK;10: EXTCLK/8;11: SYSCLK/2.Бит 2: TOGn: Бит состояния переключаемого выхода.Если таймер используется для переключения (инвертирования) сигнала на выводе порта, то этот битможно использовать для чтения состояния выходного сигнала или для принудительной установкивыходного сигнала в заданное состояние.Бит 1: TnOE: Бит разрешения выходного сигнала Таймера n.Этот бит разрешает таймеру генерировать прямоугольные импульсы с 50% скважностью насвязанном с этим таймером внешнем выводе порта.Примечание: Таймер настраивается для генерации прямоугольных импульсов следующим образом:CP/RLn = 0C/Tn = 1TnOE = 1Загрузить в регистры RCAPnH:RCAPnL неоходимое значение (см.
уравнение 24.1)Настроить вывод порта как выход прямоунольного сигнала (см. раздел 18)0: Инвертируемый выходной сигнал недоступен на связанном с таймером выводе порта.1: Инвертируемый выходной сигнал доступен на связанном с таймером выводе порта.Бит 0: DCENn: Бит разрешения декремента.Этот бит разрешает таймеру считать в обоих направлениях (в зависимости от уровня сигнала навыводеTnEX).0: Таймер будет считать в прямом направлении независимо от уровня сигнала на выводеTnEX.1: Таймер будет считать в прямом или обратном направлениях в зависимости от уровня сигнала навыводеTnEX как показано ниже:- если TnEX = 0, то таймер считает в обратном направлении;- если TnEX = 1, то таймер считает в прямом направлении.Ред. 1.2300C8051F060/1/2/3/4/5/6/7Рисунок 24.15.
RCAPnL: Младший байт регистра захвата Таймера nR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:SFR страница:RCAP2L: 0xCA; RCAP3L: 0xCA; RCAP4L: 0xCARCAP2L: стр.0; RCAP3L: стр.1; RCAP4L: стр.2Биты 7-0: RCAPnL: Младший байт регистра захвата Таймера n.Регистр RCAPnL захватывает младший байт Таймера n, если Таймер n работает в режимезахвата. Если Таймер n работает в режиме автоперезагрузки, то этот регистр содержитмладший байт перезагружаемого значения.Рисунок 24.16.
RCAPnH: Старший байт регистра захвата Таймера nR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:SFR страница:RCAP2H: 0xCB; RCAP3H: 0xCB; RCAP4H: 0xCBRCAP2H: стр.0; RCAP3H: стр.1; RCAP4H: стр.2Биты 7-0: RCAPnH: Старший байт регистра захвата Таймера n.Регистр RCAPnH захватывает старший байт Таймера n, если Таймер n работает в режимезахвата. Если Таймер n работает в режиме автоперезагрузки, то этот регистр содержитстарший байт перезагружаемого значения.Рисунок 24.17.
TMRnL: Младший байт Таймера nR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:SFR страница:TMR2L: 0xCC; TMR 3L: 0xCC; TMR 4L: 0xCCTMR 2L: стр.0; TMR 3L: стр.1; TMR 4L: стр.2Биты 7-0: TMRnL: Младший байт Таймера n.Регистр TMRnL содержит младший байт 16-разрядного Таймера n.301Ред.