F18-19 (1041602), страница 29
Текст из файла (страница 29)
Читаются как 000b. Должны быть записаны как 000b.127Ред. 1.2C8051F018C8051F019Рисунок 17.7. TL0: Младший байт Таймера 0R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0x8AБиты 7-0: TL0: Младший байт Таймера 0.Регистр TL0 является младшим байтом 16-разрядного Таймера 0.Рисунок 17.8. TL1: Младший байт Таймера 1R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0x8BБиты 7-0: TL1: Младший байт Таймера 1.Регистр TL1 является младшим байтом 16-разрядного Таймера 1.Рисунок 17.9.
TH0: Старший байт Таймера 0R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0x8CБиты 7-0: TH0: Старший байт Таймера 0.Регистр TH0 является старшим байтом 16-разрядного Таймера 0.Рисунок 17.10. TH1: Старший байт Таймера 1R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0x8DБиты 7-0: TH1: Старший байт Таймера 1.Регистр TH1 является старшим байтом 16-разрядного Таймера 1.Ред. 1.2128C8051F018C8051F01917.2.
Таймер 2Таймер 2 представляет собой 16-разрядный таймер/счетчик, образованный двумя SFR регистрами: TL2(младший байт) и TH2 (старший байт). Аналогично Таймерам 0 и 1, Таймер 2 в качестве сигнала тактированияможет использовать системный тактовый сигнал или срез сигнала на внешнем входном выводе. Бит выборарежима таймера или счетчика C/T2 (T2CON.1) определяет источник сигнала тактирования для Таймера 2. Еслибит C/T2 = 0, то в качестве сигнала тактирования будет использоваться системный тактовый сигнал (деленныйлибо на 1, либо на 12 в зависимости от значения бита T2M регистра CKCON).
Если бит C/T2 = 1, то регистртаймера/счетчика будет инкрементироваться под воздействием перехода из 1 в 0 внешнего сигнала на входномвыводе Т2. (В разделе 12 приведена подробная информация о выборе и настройке внешних выводов). Таймер 2может также использоваться для запуска преобразования АЦП.Таймер 2 обладает дополнительными возможностями, отсутствующими у Таймеров 0 и 1. Он можетработать в одном из трех режимов:- 16-разрядный таймер/счетчик с захватом,- 16-разрядный таймер/счетчик с автоперезагрузкой,- режим генератора скорости передачи данных.Режимы работы Таймера 2 задаются установкой бит конфигурации в регистре управления Таймера 2T2CON, (см. таблицу в конце этого раздела).
В следующих разделах приводится подробное описание каждогорежима работы Таймера 2.RCLK00011X129TCLK00101XCP/RL210XXXXTR2111110Режим16-разрядный таймер/счетчик с захватом16-разрядный таймер/счетчик с автоперезагрузкойГенератор скорости передачи данных для TXГенератор скорости передачи данных для RXГенератор скорости передачи данных для TX и RXОтключенРед. 1.2C8051F018C8051F01917.2.1. Режим 0: 16-разрядный таймер/счетчик с захватомВ этом режиме Таймер 2 работает как 16-разрядный счетчик с возможностью захвата. Подвоздействием перехода из 1 в 0 внешнего сигнала на входном выводе T2EX 16-разрядное значение из регистровТаймера 2 (TH2, TL2) загружается в регистры захвата (RCAP2H, RCAP2L).Таймер 2 при работе в режиме таймера/счетчика с захватом в качестве внутреннего сигналатактирования может использовать сигнал системной тактовой частоты (SYSCLK), сигнал системной тактовойчастоты, деленной на 12 (SYSCLK/12), или срез (переход из 1 в 0) сигнала на внешнем выводе Т2.
Если битC/T2 (T2CON.1) сброшен в 0, то в качестве сигнала тактирования будет использоваться системный тактовыйсигнал (деленный либо на 1, либо на 12 в зависимости от значения бита T2M регистра CKCON). Если бит C/T2установлен в 1, то регистр таймера/счетчика будет инкрементироваться под воздействием перехода из 1 в 0внешнего сигнала на входном выводе Т2. Когда регистр таймера/счетчика инкрементируется и переполняетсяиз состояния 0xFFFF в состояние 0x0000, устанавливается флаг переполнения таймера TF2 и будетсгенерировано прерывание, если оно разрешено.Режим таймера/счетчика с захватом выбирается установкой в 1 бита выбора режимазахват/перезагрузка CP/RL2 (T2CON.0) и бита управления запуском Таймера 2 TR2 (T2CON.2).
Для включениязахвата бит разрешения внешнего сигнала для Таймера 2 EXEN2 (T2CON.3) также должен быть установлен в 1.Если бит EXEN2 сброшен, то срезы внешнего сигнала на входном выводе T2EX будут игнорироваться.Рисунок 17.11. Структурная схема Таймера 2 в режиме 0CKCONTTT2 1 0MMM120SYSCLK1T2Матрица01TCLKTL2TH2EXEN2T2EXT2CONTR2ЗахватRCAP2LRCAP2HCP/RL2C/T2TR2EXEN2TCLKRCLKEXF2TF2ПрерываниеМатрицаРед. 1.2130C8051F018C8051F01917.2.2. Режим 1: 16-разрядный таймер/счетчик с автоперезагрузкойТаймер/Счетчик с режимом автоперезагрузки устанавливает флаг переполнения таймера TF2 припереполнении регистра таймера/счетчика из состояния 0xFFFF в состояние 0x0000. Генерируется прерывание,если оно разрешено. При переполнении 16-битное значение, хранящееся в двух регистрах захвата (RCAP2H,RCAP2L), автоматически загружается в регистр таймера/счетчика и таймер перезапускается.Режим таймера/счетчика с автоперезагрузкой выбирается сбросом в 0 бита CP/RL2.
Установка в 1 битаTR2 включает и запускает таймер. Таймер 2 в качестве внутреннего сигнала тактирования может использоватьсигнал системной тактовой частоты или срез (переход из 1 в 0) внешнего сигнала (выбор сигнала тактированияосуществляется битом С/Т2). Если бит EXEN2 установлен в 1, то под воздействием перехода из 1 в 0 внешнегосигнала на выводе T2EX произойдет перезагрузка Таймера 2. Если бит EXEN2 сброшен в 0, то срезы внешнегосигнала на входном выводе T2EX будут игнорироваться.Рисунок 17.12. Структурная схема Таймера 2 в режиме 1CKCONT TT2 1 0MMM120SYSCLKT2Матрица01TL2TH2RCAP2LRCAP2HTCLKT2CON1TR2EXEN2T2EX131МатрицаПерезагрузкаРед. 1.2CP/RL2C/T2TR2EXEN2TCLKRCLKEXF2TF2ПрерываниеC8051F018C8051F01917.2.3. Режим 2: Генератор скорости передачи данныхТаймер 2 может использоваться в качестве генератора скорости передачи данных дляпоследовательного порта УАПП, если УАПП работает в режимах 1 или 3 (подробная информация о режимахработы УАПП приведена в разделе 16.1).
В режиме генератора скорости передачи данных Таймер 2 работаеттак же, как в режиме автоперезагрузки. При переполнении 16-битное значение, хранящееся в двух регистрахзахвата (RCAP2H, RCAP2L), автоматически загружается в регистр таймера/счетчика. Однако, флагпереполнения TF2 не устанавливается и прерывание не генерируется. Вместо этого, событие переполненияиспользуется в качестве входного тактового сигнала для регистра сдвига модуля УАПП. Переполнение Таймера2 может использоваться для генерации скорости передачи данных для передатчика и/или приемниканезависимо.Режим генератора скорости передачи данных выбирается установкой в 1 битов RCLK (T2CON.5) и/илиTCLK (T2CON.4).
Если RCLK = 1 или TCLK = 1, то Таймер 2 работает в режиме автоперезагрузки независимоот состояния бита CP/RL2. Скорость передачи данных УАПП, работающего в режимах 1 или 3, определяетсяскоростью переполнения Таймера 2:Baud Rate = Timer 2 Overflow Rate / 16.Следует отметить, что во всех других режимах частота внутреннего сигнала тактирования таймераравна системной тактовой частоте, деленной либо на 1, либо на 12 (определяется битом T2M регистра CKCON).Однако, в режиме генератора скорости передачи данных частота тактирования таймера равна системнойтактовой частоте, деленной на 2. Другой коэффициент деления выбрать нельзя.
Если требуется другая частотатактирования таймера, то установка в 1 бита С/Т2 позволит использовать для этой цели входной сигнал навнешнем выводе Т2. В этом случае скорость передачи данных для УАПП вычисляется по формуле:Baud Rate = FCLK / [32 * (65536 – [RCAP2H:RCAP2L]) ],гдеFCLK – частота входного сигнала на внешнем выводе Т2,[RCAP2H:RCAP2L] - 16-битное значение, хранящееся в регистрах захвата.Как описано выше, в режиме генератора скорости передачи данных Таймер 2 не устанавливает флагпереполнения TF2 и поэтому не может генерировать прерывание. Однако, если бит EXEN2 установлен в 1, топод воздействием перехода из 1 в 0 входного сигнала на внешнем выводе T2EX будет установлен флаг EXF2 ибудет сгенерировано прерывание от Таймера 2, если оно разрешено.