Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_k_ekzamenu_po_mikroprocessornym_sistemam....doc
Скачиваний:
59
Добавлен:
19.04.2019
Размер:
4.17 Mб
Скачать
  1. Таймеры-счетчики микроконтроллеров семейства 8051: регистр режима работы, регистр управления-статуса. Режимы работы таймеров-счетчиков.

В базовых моделях семейства 8051 имеются два программируемых 16-битных таймера/счетчика (T/C0 и T/C1), которые могут быть использованы как в качестве таймеров, так и в качестве счетчиков внешних событий. В первом случае содержимое соответствующего таймера/счетчика (далее для краткости Т/С) инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов колебаний кварцевого резонатора, во втором оно инкрементируется под воздействием перехода из «1» в «0» внешнего входного сигнала, подаваемого на соответствующий (T0,T1) вывод микроконтроллера 8051. Для управления режимами работы Т/С и для организации их взаимодействия с системой прерываний используются два регистра специальных функций (TMOD и TCON), описание которых приведено в таблицах 2.4, 2.5.

Так как на распознавание периода требуются два машинных цикла, максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входной сигнал должен удерживать значение 1, как минимум, в течение одного машинного цикла микроконтроллера.

Четыре различных режима работы реконфигурируют структуру таймера для выполнения разнообразных задач. В этой структуре TLn и ТНn представляют 8 младших и 8 старших разрядов каждого таймера, где n – его номер (например, TL0 – младший 8-разрядный регистр таймера 0).

Источником синхросигналов, переключающих таймер, могут быть тактовые импульсы, частота которых уменьшается при помощи делителя, или внешний сигнал. Выбор источника определяется битом С/Т в регистре TMOD таймера. Биты выбора режима в регистре TMOD определяют режим работы таймера.

Таблица 2.4 - Регистр режима работы таймера/счетчика TMOD

Символ

Позиция

Имя и назначение

GATE

TMOD.7 для Т/С1; TMOD.3 для Т/СО

Управление блокировкой. Если бит установлен, то таймер /счет-чик "x" разрешен до тех пор, пока на входе "lNTx" высокий уровень и бит управления "TRx" установлен. Если бит сброшен, то Т/С разрешается, как только бит управления "TRx" устанавливается

С/Т

TMOD.6 для T/C1; TMOD.2 для Т/СО

Бит выбора режима таймера или счетчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если; установлен, то работает счетчик от внешних сигналов на входе "Tx"

M1

TMOD.5 для T/C1; TMOD.1 для Т/СО

Режим работы

M1

M0

 

0

0

Таймер ВЕ48. "TLx" работает как 5-битный предделитель

0

1

16 битный таймер/счетчик. "THx" и "TLx" включен последовательно

1

0

8-битный авто перезагружаемый таймер/счетчик. "THx" хранит значение, которое должно быть перезагружено в "TLx" каждый раз по переполнению

1

1

Таймер/счетчик 1 останавливается. Таймер/счетчик 0: TLO работает как 8-битный таймер/счетчик, и его режим определяется управляющими битами таймера 0. TH0 работает только как 8 битный таймер, и его режим определяется управляющими битами таймера 1

M0

TMOD.4 для Т/С1 и TMOD.0 для Т/СО

Таблица 2.5 - Регистр управления/статуса таймера TCON

Символ

Позиция

Имя и назначение

TF1

TCON.7

Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера/счетчика. Сбрасывается при обслуживании прерывания аппаратно

TR1

TCON.6

Бит управления таймера 1. Устанавливается, / сбрасывается программой для пуска/останова

TF0

TCON.5

Флаг переполнения таймера 0. Устанавливается аппаратурно. Сбрасывается при обслуживании прерывания

TR0

TCON.4

Бит управления таймера 0. Устанавливается / сбрасывается программой для пуска/останова таймера/счетчика

IE1

TCON.3

Флаг фронта прерывания 1. Устанавливается аппаратно, когда детектируется срез внешнего сигнала INT1. Сбрасывается при обслуживании прерывания

IT1

TCON.2

Бит управления типом прерывания 1. Устанавливается / сбрасывается программно для спецификации запроса INT1 (срез/низкий уровень)

IE0

TCON.1

Флаг фронта прерывания 0. Устанавливается по срезу сигнала INT0. Сбрасывается при обслуживании прерывания

IT1

TCON .0

Бит управления типом прерывания 0. Устанавливается / сбрасывается программно для спецификации запроса INT0 (срез/низкий уровень)

В режиме 0 таймер конфигурируется как 13-разрядный счетчик, перепол­нение которого фиксируется по возникновению переноса из разряда 4 регистра TLn. В режиме 1 таймер работает как 16-разрядный счетчик.

Режим 2 обычно используется для задания скорости обмена встроенного последовательного порта. Для счета используется только счетчик TLn. Когда содержимое этого счетчика превышает OFFh, то в него загружается значение, которое содержится в регистре ТНп, и счет возобновляется. Последовательный порт может использовать сигнал переполнения, чтобы задать скорость обмена.

В режиме 3 регистры TL0 и ТНО работают как два независимых таймера. Этот режим обеспечивается только в таймером 0, так как для его реализации требуются как внешний так и внутренний синхросигналы, а таймер 1 не может переключаться внешним сигналом. Таймер ТНО переключается внешними сигналами, a TL0 — внутренними тактовыми импульсами. Режим 3 может применяться для реализации тахометра, когда счетчик ТНО определяет количество событий (например, оборотов вала), a TL0 — промежуток времени, в течение которого они произошли.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]