MSB LSB.
- | - | SEPE | SEPREN | CLKPOL | CLKPH | SEPS1 | SEPS0 |
Бит | Поз. | Функция |
- | SEPCON.7 | Зарезервирован для дальнейшего использования |
- | SEPCON.6 | Зарезервирован для дальнейшего использования |
SEPE | SEPCON.5 | Бит разрешения SEP |
SEPREN | SEPCON.4 | Бит разрешения приёма в SEP |
CLKPOL | SEPCON.3 | Полярность тактирования SEP |
CLKPH | SEPCON.2 | Фаза тактирования SEP |
SEPS1 | SEPCON.1 | Бит 1 выбора скорости SEP |
SEPS0 | SEPCON.0 | Бит 0 выбора скорости SEP |
CLKPOL | CLKPH | Режим SEP |
SEPMODE0 | ||
SEPMODE1* | ||
SEPMODE2 | ||
SEPMODE3* |
*- не используются при приеме
SEPS1 | SEPS0 | Скорость SEP |
Fosc/12 | ||
Fosc/24 | ||
Fosc/48 | ||
Fosc/96 |
Рис. 2.26. Регистр управления SEPCON
MSB LSB
- | - | - | - | - | SEPFWR | SEPFRD | SEPIF |
Бит | Поз. | Функция присвоения приоритета прерывания |
- | SEPSTAT.7 | Зарезервирован дпя дальнейшего использования |
- | SEPSTAT.6 | Зарезервирован дпя дальнейшего использования |
- | SEPSTAT.5 | Зарезервирован для дальнейшего использования |
- | SEPSTAT.4 | Зарезервирован для дальнейшего использования |
- | SEPSTAT.3 | Зарезервирован для дальнейшего использования |
SEPFWR | SEPSTAT.2 | Флаг ошибки записи SEP |
SEPFRD | SEPSTAT.1 | Флаг ошибки чтения SEP |
SEPIF | SEPSTAT.0 | Флаг прерывания SEP |
Рис. 2.27. Регистр состояния SEPSTAT
2.8. Таймеры/счетчики
8XC51GB имеет три 16-битных Таймера/Счетчика: Таймер 0, Таймер 1 и Таймер 2. Каждый из них состоит из двух 8-битных регистров: ТНх и TLх, х = 0,1 или 2. Все три могут работать либо в режиме таймера, либо в режиме счетчика событий.
В режиме таймера, регистр ТLx инкрементируется в каждом машинном цикле. Таким образом, вы можете использовать, его в качестве счетчика машинных циклов. Так как машинный цикл состоит из 12 периодов осциллятора, то частота счета равна 1/12 частоты осциллятора.
В режиме счетчика событий регистр TLx инкрементируется при переходе сигнала из "1" в "0" на соответствующем выводе: Т0, T1 или Т2. В этом режиме вывод порта опрашивается в фазе SSР2 каждого машинного цикла. При обнаружении высокого уровня сигнала в одном цикле и низкого в следующем, счетчик инкрементируется. Новое счетное значение появляется в регистре в фазе S3P1 цикла, следующего за тем, котором был обнаружен этот переход. Так как на распознавание перехода уходит 2 машинных цикла (24 периода осциллятора), максимальная частота счета равна 1/24 частоты осциллятора (генератора). Нет ограничений на коэффициент заполнения внешнего входного сигнала, однако, чтобы быть уверенным, что данный уровень зафиксировался хотя бы раз до того, как изменился, он должен быть удержан по крайней мере один полный машинный цикл.
Таймер 0 и Таймер 1 имеют четыре режима работы:
· режим 0: 13-битный таймер;
· режим 1: 16-битный таймер;
· режим 2: 8-битный автоперезагружаемый таймер;
· режим 3: Таймер 0 как 2 раздельных 8-битных таймера.
Таймер 1 можно использовать для управления скоростью передачи (baud rate) последовательного порта.
Таймер 2 имеет три режима работы:
· режим захвата;
· режим автоперезагрузки (счет в прямом или в обратном направлении);
· режим управления скоростью передачи последовательного порта.
Таймер 0 и Таймер 1
Эти таймеры общие для семейства (см. описание базового МК).
Таймер 2
Таймер 2 - 16-битный Таймер/Счетчик, который может работать либо как таймер, либо как счетчик событий. Эта функция выбирается битом С_Т2 в регистре T2CON . Таймер 2 имеет следующие три режима работы:
· режим захвата;
· режим автоперезагрузки (счет в прямом или в обратном направлении);
· режим управления скоростью передачи последовательного порта.
T2MOD
Адрес = 0C9H Значение после сброса = XXXX XX00B
Не имеет битовой адресации
- | - | - | - | - | - | T2OE | DCEN | |
Бит |
Символ | Функция |
- | Зарезервированы*. |
T2OE | Бит разрешения выходного сигнала Таймера 2. |
DCEN | Бит разрешения счета в обратном направлении. Установка бита переводит Таймер 2 в режим реверсивного счетчика (счет в прямом и обратном направлении) |
*Пользователь не должен записывать в эти биты. Они могут использоваться в будущих версиях семейства 8051. при реализации новых возможностей. В этом случае их сброшенное или неактивное значение будет «0», а активное – «1». Чтение будет возвращать неопределенные значения этих битов. |
T2СON
Адрес = 0C8H Значение после сброса = 0000 0000B
Побитовая адресация
TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/ | CP/ | |
Бит |
Символ | Функция |
TF2 | Флаг переполнения Таймера 2. Устанавливается при переполнении Таймера 2 и должен сбрасываться программно. TF2 не будет установлен, если RCLK =1 или TCLK = 1. |
EXF2 | Флаг события Таймера 2. Устанавливается по срезу сигнала на выходе T2EX, при захвате или перезагрузке, если EXEN2 = 1, EXF2 = 1, может вызвать прерывание Таймера 2, если оно разрешено. EXF2 должен быть сброшен программно. EXF2 в режиме реверсивного счетчика не вызывает прерывание (DCEN = 1). |
RCLK | Флаг выбора тактового генератора приемника. Если RCLK = 1, последовательный порт использует переполнение Таймера 2 в качестве тактовых импульсов приемника, в режимах 1 и 3. Если RCLK = 0, в качестве тактовых импульсов приемника используется переполнение Таймера 1. |
TCLK | Флаг выбора тактового генератора передатчика. Если TCKL = 1, последовательный порт использует переполнение Таймера 2 в качестве тактовых импульсов передатчика, в режимах 1 и 3. Если TCKL = 0, в качестве тактовых импульсов передатчика используется переполнение Таймера 1. |
EXEN2 | Флаг разрешения события Таймера 2. Когда EXEN2 = 1, срез сигнала на выводе T2EX вызовет захват или перезагрузку, если Таймер 2 не используется в режиме тактового генератора последовательного порта. Когда EXEN2 = 0, Таймер 2 игнорирует события на T2EX. |
TR2 | Бит управления пуском/остановом Таймера 2. Логическая «1» запускает таймер. |
C/ | Бит выбора режима таймера или счетчика для Таймера 2. 0 = таймер (OSC/12 в обычном режиме или OSC/2 в режиме тактового генератора). 1 = счетчик внешних событий (по срезу). |
CP/ | Флаг выбора режима. Установка бита переводит Таймер 2 в режим захвата по срезу сигнала на T2EX (если EXEN2 = 1). Сброс бита переводит Таймер 2 в режим автоперезагрузки по срезу сигнала на T2EX (если EXEN2 = 1) или по переполнению Таймера 2. Если RCKL = 1 или TCKL = 1, этот бит игнорируется, а Таймер 2 работает в режиме автоперезагрузки по переполнению. |
Режимы выбираются битами в регистре T2C0N как показано в табл. 2.7
Дата добавления: 2015-10-09; просмотров: 801;