F20-23 (1041603), страница 49
Текст из файла (страница 49)
Генерируется прерывание от Таймера 4, если оно разрешено.Таймер 4 при работе в режиме таймера/счетчика с захватом в качестве внутреннего сигналатактирования может использовать сигнал системной тактовой частоты (SYSCLK), сигнал системной тактовойчастоты, деленной на 12 (SYSCLK/12), или срез (переход из 1 в 0) сигнала на внешнем выводе Т4.
Если битC/T4 (T4CON.1) сброшен в 0, то в качестве сигнала тактирования будет использоваться системный тактовыйсигнал (деленный либо на 1, либо на 12 в зависимости от значения бита T4M регистра CKCON). Если бит C/T4установлен в 1, то регистр таймера/счетчика будет инкрементироваться под воздействием перехода из 1 в 0внешнего сигнала на входном выводе Т4. Когда регистр таймера/счетчика инкрементируется и переполняетсяиз состояния 0xFFFF в состояние 0x0000, устанавливается флаг переполнения таймера TF4 (T4CON.7) и будетсгенерировано прерывание, если оно разрешено.Режим таймера/счетчика с захватом выбирается установкой в 1 бита выбора режимазахват/перезагрузка CP/RL4 (T4CON.0) и бита управления запуском Таймера 4 TR4 (T4CON.2). Для включениязахвата бит разрешения внешнего сигнала для Таймера 4 EXEN4 (T4CON.3) также должен быть установлен в 1.Если бит EXEN4 сброшен, то срезы внешнего сигнала на входном выводе T4EX будут игнорироваться.Рисунок 22.25.
Структурная схема Таймера 4 в режиме 0CKCONTTTT4 2 1 0MMMM120SYSCLK101МатрицаTCLKTL4TH4TR4T4CONT4T4EXЗахватRCAP4LRCAP4HCP/RL4C/T4TR4EXEN4TCLK0RCLK0EXF4TF4ПрерываниеEXEN4Ред. 1.4244C8051F020/1/2/322.4.2. Режим 1: 16-разрядный таймер/счетчик с автоперезагрузкойТаймер/Счетчик с режимом автоперезагрузки устанавливает флаг переполнения таймера TF4 припереполнении регистра таймера/счетчика из состояния 0xFFFF в состояние 0x0000.
Генерируется прерывание,если оно разрешено. При переполнении 16-битное значение, хранящееся в двух регистрах захвата (RCAP4H,RCAP4L), автоматически загружается в регистр таймера/счетчика и таймер перезапускается.Режим таймера/счетчика с автоперезагрузкой выбирается сбросом в 0 бита CP/RL4.
Установка в 1 битаTR4 включает и запускает таймер. Таймер 4 в качестве внутреннего сигнала тактирования может использоватьсигнал системной тактовой частоты или срез (переход из 1 в 0) внешнего сигнала на входном выводе Т4 (выборсигнала тактирования осуществляется битом С/Т4). Если бит EXEN4 установлен в 1, то под воздействиемперехода из 1 в 0 внешнего сигнала на выводе T4EX произойдет перезагрузка Таймера 4 и будет сгенерированопрерывание от Таймера 4, если оно разрешено.
Если бит EXEN4 сброшен в 0, то срезы внешнего сигнала навходном выводе T4EX будут игнорироваться.Рисунок 22.26. Структурная схема Таймера 4 в режиме 1CKCONT T T T4 2 1 0MMMM120SYSCLK01T4МатрицаT4EXTCLKTH4RCAP4LRCAP4HTR4ПерезагрузкаEXEN4245TL4T4CON1Ред. 1.4CP/RL4C/T4TR4EXEN4TCLK0RCLK0EXF4TF4ПрерываниеC8051F020/1/2/322.4.3. Режим 2: Генератор скорости передачи данныхТаймер 4 может использоваться в качестве генератора скорости передачи данных дляпоследовательного порта УАПП1, если УАПП1 работает в режимах 1 или 3 (подробная информация о режимахработы УАПП1 приведена в разделе 21.1).
В режиме генератора скорости передачи данных Таймер 4 работаеттак же, как в режиме автоперезагрузки. При переполнении 16-битное значение, хранящееся в двух регистрахзахвата (RCAP4H, RCAP4L), автоматически загружается в регистр таймера/счетчика. Однако, флагпереполнения TF4 не устанавливается и прерывание не генерируется. Вместо этого, событие переполненияиспользуется в качестве входного тактового сигнала для регистра сдвига модуля УАПП1. ПереполнениеТаймера 4 может использоваться для генерации скорости передачи данных для передатчика и/или приемниканезависимо.Режим генератора скорости передачи данных выбирается установкой в 1 битов RCLK1 (T4CON.5)и/или TCLK1 (T4CON.4).
Если RCLK1 = 1 или TCLK1 = 1, то Таймер 2 работает в режиме автоперезагрузкинезависимо от состояния бита CP/RL4. Следует иметь ввиду, что в режиме генератора скорости передачиданных частота тактирования Таймера 4 равна системной тактовой частоте, деленной на 2. Если Таймер 4используется в качестве генератора скорости передачи данных для УАПП1, то скорость передачи данныхУАПП1 определяется следующим уравнением:Baud Rate = SYSCLK / [32 * (65536 – [RCAP4H:RCAP4L]) ]Если требуется другая частота тактирования таймера, то установка в 1 бита С/Т4 позволитиспользовать для этой цели входной сигнал на внешнем выводе Т4. В этом случае скорость передачи данныхдля УАПП1 вычисляется по формуле:Baud Rate = FCLK / [16 * (65536 – [RCAP4H:RCAP4L]) ],гдеFCLK – частота входного сигнала на внешнем выводе Т4,[RCAP4H:RCAP4L] - 16-битное значение, хранящееся в регистрах захвата.Как описано выше, в режиме генератора скорости передачи данных Таймер 4 не устанавливает флагпереполнения TF4 и поэтому не может генерировать прерывание.
Однако, если бит EXEN4 установлен в 1, топод воздействием перехода из 1 в 0 входного сигнала на внешнем выводе T4EX будет установлен в 1 флагEXF4 и будет сгенерировано прерывание от Таймера 4, если оно разрешено. Поэтому вход T4EX можноиспользовать как дополнительный источник внешнего прерывания.Рисунок 22.27. Структурная схема Таймера 4 в режиме 2C/T4SYSCLK20RCLK1T4Матрица1TL4TCLKTH4ПереполнениеТаймера 4016TR4SSMSOTDA0 T0PCONSSMSOTDA1 T1ПерезагрузкаS ITDOLPERCAP4L1RCAP4H0162ПереполнениеТаймера 10T4EXМатрицаТактовыеимпульсыдляпередатчика1T4CON1EXEN4ТактовыеимпульсыдляприемникаCP/RL4C/T4TR4EXEN4TCLK1RCLK1EXF4TF4Ред.
1.4TCLK1Прерывание246C8051F020/1/2/3Рисунок 22.28. T4CON: Регистр управления Таймера 4R/WTF4Бит 7R/WEXF4R/WRCLK1Бит 6Бит 5R/WTCLK1Бит 4R/WEXEN4Бит 3R/WTR4R/WC/T4R/WCP/RL4Бит 2Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес:0xC9Бит 7: TF4: Флаг переполнения Таймера 4.Устанавливается в 1 аппаратно, если Таймер 4 переполняется из состояния 0xFFFF в состояние0x0000. Если прерывание от Таймера 4 разрешено, то установка этого бита приведет к переходу напроцедуру обслуживания прерывания от Таймера 4. Этот бит не сбрасывается аппаратно, он долженбыть сброшен программно. Флаг TF4 не устанавливается, если RCLK1 = 1 и/или TCLK1 = 1.Бит 6: EXF4: Флаг внешнего входного сигнала Таймера 4.Устанавливается в 1 аппаратно, если под воздействием перехода из 1 в 0 входного сигнала навнешнем выводе T4EX происходит либо захват, либо перезагрузка, и EXEN4 = 1.
Еслипрерывание от Таймера 4 разрешено, то установка этого бита приведет к переходу на процедуруобслуживания прерывания от Таймера 4. Этот бит не сбрасывается аппаратно, он должен бытьсброшен программно.Бит 5: RCLK1: Флаг тактирования приемника УАПП1.Этим битом осуществляется выбор таймера, используемого для тактирования приемника модуляУАПП1 (в режимах 1 или 3).0: Для тактирования приемника УАПП1 используется переполнение Таймера 1.1: Для тактирования приемника УАПП1 используется переполнение Таймера 4.Бит 4: TCLK1: Флаг тактирования передатчика УАПП1.Этим битом осуществляется выбор таймера, используемого для тактирования передатчикамодуля УАПП1 (в режимах 1 или 3).0: Для тактирования передатчика УАПП1 используется переполнение Таймера 1.1: Для тактирования передатчика УАПП1 используется переполнение Таймера 4.Бит 3: EXEN4: Разрешение внешнего сигнала для Таймера 4.Разрешает переходам из 1 в 0 (срезам) входного сигнала на внешнем выводе T4EX вызыватьзахват или перезагрузку, если Таймер 4 не работает в режиме генератора скорости передачиданных.0: Срезы внешнего сигнала на выводе T4EX игнорируются.1: Срезы внешнего сигнала на выводе T4EX вызывают захват или перезагрузку.Бит 2: TR4: Бит управления запуском Таймера 4.Этот бит включает/отключает Таймер 4.0: Таймер 4 отключен.1: Таймер 4 включен.Бит 1: C/T4: Выбор режима счетчика или таймера для Таймера 4.0: Режим таймера: Таймер 4 инкрементируется от внутреннего сигнала тактирования, частотакоторого задается битом T4M (CKCON.6).1: Режим счетчика: Таймер 4 инкрементируется под воздействием перехода из 1 в 0 внешнеговходного сигнала (T4).Бит 0: CP/RL4: Выбор режима захвата или перезагрузки.Этот бит определяет, в каком режиме функционирует Таймер 4: в режиме захвата или в режимеавтоперезагрузки.