F60-67 (1041605), страница 54
Текст из файла (страница 54)
1.2292C8051F060/1/2/3/4/5/6/7Рисунок 24.6. CKCON: Регистр управления тактированиемR/WБит 7R/W-R/W-R/WT1MR/WT0MR/W-R/WSCA1R/WSCA0Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес: 0x8ЕSFR страница: 0Бит 7-5: Не используются. Читаются как 000b. Запись не имеет значения.Бит 4:T1M: Выбор источника тактирования для Таймера 1.Этот бит определяет, какой тактовый сигнал будет подаваться на Таймер 1. Бит Т1М игнорируется,если С/Т1 = 1.0: Для тактирования Таймера 1 используется сигнал, определяемый битами настройкипредварительного делителя (SCA1 – SCA0).1: Таймер 1 тактируется системным тактовым сигналом.Бит 3:T0M: Выбор источника тактирования для Таймера 0.Этот бит определяет, какой тактовый сигнал будет подаваться на Таймер 0. Бит Т0М игнорируется,если С/Т0 = 1.0: Для тактирования Таймера 0 используется сигнал, определяемый битами настройкипредварительного делителя (SCA1 – SCA0).1: Таймер 0 тактируется системным тактовым сигналом.Бит 2:Не используется.
Читается как 0b. Запись не имеет значения.Биты 1-0: SCA1–SCA0: Биты выбора коэффициента деления для частоты тактирования Таймеров 0 и 1.Эти биты управляют делением частоты сигнала тактирования, подаваемого на Таймер 0 и/илиТаймер 1, если они настроены на использование предварительного делителя.SCA10011SCA00101Тактовый сигналSYSCLK/12SYSCLK/4SYSCLK/48EXTCLK/8**Примечание: Для работы таймера в этом режиме необходимо, чтобы внешний сигнал с частотой EXTCLK/8был синхронизирован с системным тактовым сигналом и выполнялось условиеEXTCLK/8 ≤ SYSCLK.293Ред.
1.2C8051F060/1/2/3/4/5/6/7Рисунок 24.7. TL0: Младший байт Таймера 0R/WЗначениепри сбросе:R/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0x8ASFR страница: 0Значениепри сбросе:00000000Бит 7Биты 7-0: TL0: Младший байт Таймера 0.Регистр TL0 является младшим байтом 16-разрядного Таймера 0.Рисунок 24.8.
TL1: Младший байт Таймера 1R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0x8BSFR страница: 0Значениепри сбросе:00000000Бит 7Биты 7-0: TL1: Младший байт Таймера 1.Регистр TL1 является младшим байтом 16-разрядного Таймера 1.Рисунок 24.9. TH0: Старший байт Таймера 0R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес: 0x8CSFR страница: 0Значениепри сбросе:00000000Бит 7Биты 7-0: TH0: Старший байт Таймера 0.Регистр TH0 является старшим байтом 16-разрядного Таймера 0.Рисунок 24.10.
TH1: Старший байт Таймера 1R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 000000000Бит 7SFR Адрес: 0x8DSFR страница: 0Биты 7-0: TH1: Старший байт Таймера 1.Регистр TH1 является старшим байтом 16-разрядного Таймера 1.Ред. 1.2294C8051F060/1/2/3/4/5/6/724.2. Таймер 2, Таймер 3 и Таймер 4Таймеры 2, 3, 4 представляют собой 16-разрядные таймеры/счетчики, образованные двумя SFRрегистрами: TMRnL (младший байт) и TMRnH (старший байт), где n = 2, 3, 4 для Таймеров 2, 3, 4соответственно.
Эти таймеры поддерживают режимы автоперезагрузки, захвата и переключаемого выхода свозможностью реверсивного счета. Режимы захвата и автоперезагрузки выбираются с помощьюсоответствующих битов в регистрах управления Таймерами 2, 3 и 4 (TMRnCN). Режим переключаемого выходавыбирается с помощью регистров конфигурации Таймеров 2, 3, 4 (TMRnCF). Эти таймеры можно такжеиспользовать для генерации прямоугольного сигнала на внешнем выводе.
В качестве источника сигналатактирования Таймеров 2, 3, 4 можно использовать либо системный тактовый сигнал (деленный по частоте на1, 2 или 12), либо внешний тактовый сигнал (деленный по частоте на 8), либо фронт входного сигнала навнешнем выводе. Таймеры 2 и 3 можно использовать для запуска АЦП. Переполнение Таймеров 2, 3 и 4 можноиспользовать для определения момента обновления выходного сигнала ЦАП. Таймеры 1, 2, 3 и 4 можноиспользовать для генерации скорости передачи данных УАПП0. Только Таймер 1 можно использовать длягенерации скорости передачи данных УАПП1.Бит выбора режима Таймер/Счетчик C/Tn (TMRnCN.1) настраивает соответствующий периферийныймодуль на работу в режиме таймера или счетчика.
Если C/Tn = 0, то Таймер n будет работать в режиме таймера(т.е. на вход таймера будет подаваться системный тактовый сигнал или фронт внешнего сигнала). Если C/Tn =1, то Таймер n будет работать в режиме счетчика (т.е. регистр таймера/счетчика будет инкрементироваться (илидекрементироваться) по срезу внешнего сигнала на выводе Tn). Информация о выборе и настройке внешнихвыводов портов (в том числе и выводов Tn) приведена в разделе 18.1.Если Таймер n функционирует как таймер/счетчик с режимом захвата, то в качестве сигналатактирования можно использовать либо SYSCLK, либо SYSCLK/2, либо SYSCLK/12, либо внешний тактовыйсигнал, деленный по частоте на 8, либо срез внешнего сигнала на входе Tn. Если бит C/Tn (TMRnCN.1)сброшен в 0, то на вход Таймера n будет подан системный/внешний тактовый сигнал.
Биты TnM0 и TnM1 врегистре TMRnCF определяют коэффициент деления этого тактового сигнала: SYSCLK, SYSCLK/2,SYSCLK/12, либо EXTCLK/8 (см. рис. 24.14). Если бит C/Tn установлен в 1, то переход внешнего сигнала навыводе Tn из состояния лог.1 в состояние лог.0 (т.е. срез) будет вызывать инкремент регистра таймера/счетчика(т.е. Таймер n функционирует как счетчик).24.2.1. Работа Таймеров 2, 3 и 4 в режиме обратного отсчетаТаймеры 2, 3, 4 могут функционировать в режиме обратного отсчета. Если бит разрешениядекрементирования (DCEN) соответствующего таймера в регистре конфигурации таймера (см. рис.
24.14)установлен в 1, то этот таймер может считать в обоих направлениях. Если DCEN = 1, то направление отсчетатаймера определяется логическим уровнем на внешнем выводе TnEX. Если TnEX = 1, то таймер/счетчик будетсчитать в прямом направлении; если TnEX = 0, то таймер/счетчик будет считать в обратном направлении.Чтобы использовать эту функцию, необходимо подключить вывод TnEX с помощью цифровой матрицы инастроить его как цифровой вход.Примечание: Если DCEN = 1, то другие функции входа TnEX (т.е. захват и автоперезагрузка)недоступны.
Если DCEN = 1, то TnEX будет только управлять направлением отсчета таймера.295Ред. 1.2C8051F060/1/2/3/4/5/6/724.2.2. Режим захватаВ режиме захвата Таймер n функционирует как 16-разрядный таймер/счетчик с возможностью захвата.Если бит разрешения внешнего сигнала таймера в регистре TMRnCN установлен в 1, то при переходе внешнегосигнала на входном выводе TnEX из состояния лог.1 в состояние лог.0 произойдет загрузка 16-разрядногозначения из регистров Таймера n (TMRnH, TMRnL) в регистры захвата (RCAPnH, RCAPnL).
При этом будетустановлен в 1 флаг внешнего входного сигнала Таймера n EXFn (TMRnCN.6) и будет сгенерированопрерывание, если оно разрешено. Дополнительная информация относительно настройки источниковпрерываний приведена в разделе «13.3 Обработка прерываний».Если при инкрементировании 16-разрядного регистра таймера TMRnH : TMRnL происходит егопереполнение, то устанавливается в 1 флаг переполнения/опустошения таймера TFn (TMRnCN.7) и произойдетпрерывание, если оно разрешено. Таймер может считать в обратном направлении, если бит разрешениядекрементирования DCEN = 1. Если при декрементировании регистра таймера произойдет его опустошение(т.е.
переход из состояния 0х0000 в состояние 0хFFFF), то в этом случае, как и при переполнении,устанавливается в 1 флаг переполнения/опустошения таймера TFn (TMRnCN.7) и произойдет прерывание, еслионо разрешено.Режим таймера/счетчика с захватом выбирается установкой в 1 бита выбора режимазахват/перезагрузка CP/RLn (TMRnCN.0) и бита управления запуском Таймера n TRn (TMRnCN.2).
Длявключения захвата бит разрешения внешнего сигнала для Таймера n EXENn (TMRnCN.3) также должен бытьустановлен в 1. Если бит EXENn сброшен в 0, то переходы внешнего сигнала на входном выводе TnEX будутигнорироваться.Рисунок 24.11. Структурная схема Таймера n в режиме захватаTMRnCFTTTTDn nOnCMMG O E1 0 nENСхема переключения212Внешний тактовыйсигнал (XTAL1)Tn0xFFTMRnLTMRnHRCAPnLRCAPnH08TCLKTRnEXENnTnEX1OVF1МатрицаTn(вывод порта)TnCONSYSCLK0xFF0ЗахватCP/RLnC/TnTRnEXENnEXFnTFnПрерываниеМатрицаРед.
1.2296C8051F060/1/2/3/4/5/6/724.2.3. Режим автоперезагрузкиТаймер/Счетчик в режиме автоперезагрузки может считать в обоих направлениях и вызыватьпрерывание как при переполнении, так и при опустошении регистра таймера. В режиме прямого отсчетаТаймер/Счетчик при переполнении установит соответствующий ему флаг переполнения/опустошения TFn(TMRnCN.7) и сгенерирует прерывание (если оно разрешено). При этом значение из регистровзахвата/перезагрузки (RCAPnH, RCAPnL) будет загружено в регистры таймера и таймер перезапустится. ЕслиEXENn = 1 и DCEN = 0, то переход внешнего сигнала на входном выводе TnEX (настроенном как вход) изсостояния лог.1 в состояние лог.0 также вызовет перезагрузку таймера.