Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Stenin Lab / C8051F60-67-устройство МК.pdf
Скачиваний:
150
Добавлен:
10.02.2015
Размер:
5.19 Mб
Скачать

C8051F060/1/2/3/4/5/6/7

24.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.2

298

C8051F060/1/2/3/4/5/6/7

Рисунок 24.13. TMRnCN: Регистры управления Таймерами n

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Значение

TFn

EXFn

 

-

 

-

EXENn

TRn

C/Tn

CP/RLn

при сбросе:

 

 

 

 

 

 

 

 

 

 

00000000

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

(доступен в битовом

SFR Адрес:

TMR2CN: 0xC8;

TMR3CN: 0xC8;

TMR4CN: 0xC8

 

 

 

режиме адресации)

 

 

 

 

SFR страница:

TMR2CN: стр.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.2

C8051F060/1/2/3/4/5/6/7

Рисунок 24.14. TMRnCF: Регистры конфигурации Таймеров n

 

 

 

 

 

R/W

R/W

R/W

R/W

R/W

Значение

-

-

 

-

 

TnM1

TnM0

TOGn

TnOE

DCEN

при сбросе:

 

 

 

 

 

 

 

 

 

 

00000000

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

(доступен в битовом

SFR Адрес:

TMR2CN: 0xC9;

TMR3CN: 0xC9;

TMR4CN: 0xC9

 

 

 

режиме адресации)

 

 

 

 

SFR страница:

TMR2CN: стр.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 = 0

C/Tn = 1

TnOE = 1

Загрузить в регистры RCAPnH:RCAPnL неоходимое значение (см. уравнение 24.1) Настроить вывод порта как выход прямоунольного сигнала (см. раздел 18)

0:Инвертируемый выходной сигнал недоступен на связанном с таймером выводе порта.

1:Инвертируемый выходной сигнал доступен на связанном с таймером выводе порта.

Бит 0: DCENn: Бит разрешения декремента.

Этот бит разрешает таймеру считать в обоих направлениях (в зависимости от уровня сигнала на выводеTnEX).

0:Таймер будет считать в прямом направлении независимо от уровня сигнала на выводеTnEX.

1:Таймер будет считать в прямом или обратном направлениях в зависимости от уровня сигнала на выводеTnEX как показано ниже:

-если TnEX = 0, то таймер считает в обратном направлении;

-если TnEX = 1, то таймер считает в прямом направлении.

Ред. 1.2

300

C8051F060/1/2/3/4/5/6/7

Рисунок 24.15. RCAPnL: Младший байт регистра захвата Таймера n

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Значение

 

 

 

 

 

 

 

 

 

 

 

при сбросе:

 

 

 

 

 

 

 

 

 

 

 

00000000

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

 

SFR Адрес:

RCAP2L: 0xCA;

RCAP3L: 0xCA;

RCAP4L: 0xCA

 

 

 

 

 

SFR страница:

RCAP2L: стр.0;

RCAP3L: стр.1;

RCAP4L: стр.2

 

 

 

 

 

Биты 7-0: RCAPnL: Младший байт регистра захвата Таймера n.

Регистр RCAPnL захватывает младший байт Таймера n, если Таймер n работает в режиме захвата. Если Таймер n работает в режиме автоперезагрузки, то этот регистр содержит младший байт перезагружаемого значения.

Рисунок 24.16. RCAPnH: Старший байт регистра захвата Таймера n

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Значение

 

 

 

 

 

 

 

 

 

 

 

при сбросе:

 

 

 

 

 

 

 

 

 

 

 

00000000

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

 

SFR Адрес:

RCAP2H: 0xCB;

RCAP3H: 0xCB;

RCAP4H: 0xCB

 

 

 

 

 

SFR страница:

RCAP2H: стр.0;

RCAP3H: стр.1;

RCAP4H: стр.2

 

 

 

 

 

Биты 7-0: RCAPnH: Старший байт регистра захвата Таймера n.

Регистр RCAPnH захватывает старший байт Таймера n, если Таймер n работает в режиме захвата. Если Таймер n работает в режиме автоперезагрузки, то этот регистр содержит старший байт перезагружаемого значения.

Рисунок 24.17. TMRnL: Младший байт Таймера n

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Значение

 

 

 

 

 

 

 

 

 

 

 

при сбросе:

 

 

 

 

 

 

 

 

 

 

 

00000000

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

 

SFR Адрес:

TMR2L: 0xCC;

TMR 3L: 0xCC;

TMR 4L: 0xCC

 

 

 

 

 

SFR страница:

TMR 2L: стр.0;

TMR 3L: стр.1;

TMR 4L: стр.2

 

 

 

 

 

Биты 7-0: TMRnL: Младший байт Таймера n.

Регистр TMRnL содержит младший байт 16-разрядного Таймера n.

301

Ред. 1.2