вход Вход Регистрация



Два программируемых 16-битных таймера/счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резо­натора. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (Т0, Т1) вывод МК51. Опрос значе­ния внешнего входного сигнала выполняется в момент времени S5P2 каждого машинного цикла. Содержимое счетчика будет увеличено на 1 в том случае, если в предыдущем цикле был считан входной сигнал вы­сокого уровня (1), а в следующем - сигнал низкого уровня (0). Новое (инкрементированное) значение счетчика будет сформировано в момент S3P1 в цикле, следующем за тем, в котором был обнаружен переход сигнала из 1 в 0. Так как на распознавание перехода требуется два ма­шинных цикла, то максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигна­лов ограничений сверху нет. Для гарантированного прочтения входного считаемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла МК51.,

Для управления режимами работы Т/С и для организации взаимодей­ствия таймеров с системой прерывания используются два регистра спе­циальных функций (РРТС и РУСТ), описание которых приводится в табл. 2.4 и 2.5 соответственно. Как следует из описания управляющих бит РРТС, для обоих Т/С режимы работы 0, 1 и 2 одинаковы. Режимы 3 для Т/С0 и Т/С1 различны. Рассмотрим кратко работу Т/С во всех четы­рех режимах.

 

Режим 0. Перевод любого Т/С в режим 0 делает его похожим на тай­мер МК48 (8-битный счетчик), на вход которого подключен 5-битный предделитель частоты на 32. Работу Т/С в режиме 0 на примере Т/С1 иллюстрирует рис. 2.9, а.

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

Снмвол

Позиция

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

GATE TMOD.7

 

для Т/С1

и TMOD.3

для Т/СО

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

 

для Т/С1

и TMOD.2

для Т/С0

Бит выбора режима таймера или счетчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если бит установлен, то работает счетчик от внеш­них сигналов на входе "Тx"
Ml TMOD.5

 

для Т/С1

и TMOD.1

для Т/С0

Режим работы (см. примечание)
М0 TMOD.4

 

для Т/С1

и TMOD.0

для Т/С0

 

Примечание.

Ml М0

Режим работы

0 0 Таймер МК48. "TLx" работает как 5-битный предделитель
0 1 16-битный таймер/счетчик. "ТНх" и "TLx" включены последовательно
1 0 8-битный автоперезагружаемый таймер/счетчик. "ТНх" хранит значе­ние, которое должно быть перезагружено в "TLx" каждый раз по пе­реполнению
1 1 Таймер/счетчик 1 останавливается. Таймер/счетчик 0 : TL0 работает как 8-битный таймер/счетчик, и его режим определяется управляю­щими битами таймера 0. ТН0 работает только как 8-битный таймер, и его режим определяется управляющими битами таймера 1

 

 

В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния "все единицы" в состояние ''все нули" устанавливается флаг прерывания от таймера TF1. Входной синхросигнал таймера 1 разрешен (поступает на вход Т/С), когда управляющий бит TR1 установлен в 1 и либо управляющий бит GATE (блокировка) равен 0, либо на внешний вывод запроса прерывания поступает уровень 1.

Отметим попутно, что установка бита GATE в 1 позволяет использовать таймер для измерения длительности импульсного сигнала, подаваемого на вход запроса прерывания.

 

Режим 1. Работа любого Т/С в режиме 1 такая же, как и в режиме 0, за исключением того, что таймерный регистр имеет разрядность 16 бит.

 

Режим 2. В режиме 2 работа организована таким образом, что переполнение (переход из состояния "все единицы" в состояние "все нули") 8-битного счетчика TL1 приводит не только к установке флага TF1 (рис. 2.9, б), но и автоматически перезагружает в ТL1 содержимое старшего байта (ТН1) таймерного регистра, которое предварительно было задано программным путем. Перезагрузка оставляет содержимое ТН1 неизменным.

Рисунок 2.9 - Таймер/счетчик событий:

а - Т/С1 в режиме 0: 13-битный счетчик; б - Т/С1 в режиме 2: 8-битный автоперезагружаемый счетчик; в - Т/С0 в режиме 3: два 8-битных счетчика

 

В режиме 2 Т/С0 и Т/С1 работают совершенно одинаково.

 

Режим 3. В режиме 3 Т/С0 и Т/С1 работают по-разному. Т/С1 сохраняет неизменным свое текущее содержимое. Иными словами, эффект такой же, как и при сбросе управляющего бита TR1 в нуль.

Работу Т/С0 в режиме 3 иллюстрирует рис. 2.9, в. В режиме 3 ТL0 и ТН0 функционируют как два независимых 8-битных счетчика. Работу TL0 определяют управляющие биты Т/С0 (, GATE, TR0), входной сигнал и флаг переполнения TF0. Работу ТН0, который может выполнять только функции таймера (подсчет машинных циклов МК) определяет управляющий бит TR1. При этом ТН0 использует флаг переполнения TF1.

Режим 3 используется в тех случаях применения MK51, когда требуется наличие дополнительного 8-битного таймера или счетчика событий.

 

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

Символ Позиция

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

TF1 ICON. 7 Флаг переполнения таймера 1. Устанавливается аппаратурно при переполнении таймера/счетчика. Сбрасывается при об­служивании прерывания аппаратурно.
TRl TCON.6 Бит управления таймера 1. Устанавливается/сбрасывается программой для пуска/останова
TF0 TCON.5 Флаг переполнения таймера 0. Устанавливается аппаратурно. Сбрасывается при обслуживании прерывания
TR0 TCON.4 Бит управления таймера 0. Устанавливается/сбрасывается программой для пуска/останова таймера/счетчика
IE1 TCON.3 Флаг фронта прерывания 1. Устанавливается аппаратурно, когда детектируется срез внешнего сигнала (). Сбрасывается при обслуживании прерывания
IT1 TCON.2 Бит управления типом прерывания 1. Устанавливается/ сбрасывается программно для спецификации запроса (срез/низкий уровень)
IE0 TCON.l Флаг фронта прерывания 0. Устанавливается по срезу сигна­ла . Сбрасывается при обслуживании прерывания
IT0 TCON.0 Бит управления типом прерывания 0. Устанавливается/ сбрасывается программно для спецификации запроса (срез/низкий уровень)

 

Можно считать, что в режиме 3 МК51 имеет в своем составе три таймера/счетчика. В том случае, если Т/С0 используется в режиме 3, Т/С1 может быть или включен, или выключен, или переведен в свой собственный режим 3, или может быть использован последовательным портом в качестве генератора частоты передачи, или, наконец, может быть использован в любом применении, не требующем прерывания.

 

© 2018
  • Сайт "Литературка"
  • мы собираем различную техническую, образовательную, научную литратуру