Таймеры и счетчики в микроконтроллере 8051 и его приложениях

Попробуйте наш инструмент устранения неполадок





Многие из приложения микроконтроллера требуют подсчета внешних событий, таких как частота последовательностей импульсов, и создания точных внутренних временных задержек между действиями компьютера. Обе эти задачи могут быть реализованы программными методами, но программные циклы для подсчета и отсчета времени не дадут точного результата, более важные функции не выполняются. Чтобы избежать этих проблем, таймеры и счетчики в микроконтроллерах являются лучшими вариантами для простых и недорогих приложений. Эти таймеры и счетчики используются как прерывания в микроконтроллере 8051 .

Есть два 16-битных таймера и счетчика. 8051 микроконтроллер : таймер 0 и таймер 1. Оба таймера состоят из 16-битного регистра, в котором младший байт хранится в TL, а старший байт хранится в TH. Таймер можно использовать как счетчик, а также для работы по синхронизации, которая зависит от источника тактовых импульсов для счетчиков.




Таймеры и счетчики

Таймеры и счетчики

Счетчики и таймеры в микроконтроллере 8051 содержат два специальных функциональных регистра: TMOD (регистр режима таймера) и TCON (регистр управления таймером), которые используются для активации и настройки таймеры и счетчики .



Управление режимом таймера (TMOD): TMOD - это 8-битный регистр, используемый для выбора таймера или счетчика и режима таймеров. Младшие 4 бита используются для управления работой таймера 0 или счетчика 0, а оставшиеся 4 бита используются для управления работой таймера 1 или счетчика 1. Этот регистр присутствует в регистре SFR, адрес регистра SFR - 89-й.

Управление режимом таймера (TMOD)

Управление режимом таймера (TMOD)

Ворота: Если бит гейта установлен в «0», то мы можем запускать и останавливать «программный» таймер таким же образом. Если вентиль установлен на «1», мы можем запустить аппаратный таймер.

C / T: Если бит C / T равен «1», то он действует как режим счетчика, и аналогично, когда установлен C +
= / T бит равен «0», он действует как режим таймера.


Биты выбора режима: M1 и M0 - это биты выбора режима, которые используются для выбора операций таймера. Есть четыре режима работы таймеров.

Режим 0: Это 13-битный режим, который означает, что работа таймера завершается с «8192» импульсами.

Режим 1: Это 16-битный режим, что означает, что работа таймера завершается с максимальным количеством тактовых импульсов, равным «65535».

Режим 2: Этот режим представляет собой 8-битный режим автоматической перезагрузки, что означает, что работа таймера завершается только с «256» тактовыми импульсами.

Режим 3: Этот режим представляет собой режим разделения таймера, что означает загрузку значений в T0 и автоматический запуск T1.

Биты выбора режима

Биты выбора режима

Выбор режима Значения таймеров и счетчика в 8051

Значения выбора режима таймеров и счетчиков

Значения выбора режима таймеров и счетчиков

Регистр управления таймером (TCON): TCON - еще один регистр, используемый для управления работой счетчика и таймеров в микроконтроллерах. Это 8-битный регистр, в котором четыре старших бита отвечают за таймеры и счетчики, а младшие разряды отвечают за прерывания.

Регистр управления таймером (TCON)

Регистр управления таймером (TCON)

TF1: TF1 обозначает бит флага «timer1». Каждый раз, когда вычисляется время задержки в таймере 1, TH1 и TL1 автоматически достигают максимального значения, равного «FFFF».

EX: в то время как (TF1 == 1)

Когда TF1 = 1, очистите бит флага и остановите таймер.

TR1: TR1 обозначает стартовый или стоповый бит таймера 1. Запуск этого таймера может происходить с помощью программных инструкций или аппаратных средств.

Пример: ворота = 0 (запустить таймер 1 с помощью программной инструкции)
TR1 = 1 (запуск таймера)

TF0: TF0 означает бит-флаг 'timer0'. Каждый раз, когда вычисляется время задержки в таймере 1, TH0 и TL0 автоматически достигают максимального значения «FFFF».

EX: в то время как (TF0 == 1)
Когда TF0 = 1, очистите бит флага и остановите таймер.

TR0: TR0 обозначает стартовый или стоповый бит таймера 0. Запуск таймера может осуществляться программными инструкциями или аппаратным способом.

Пример: ворота = 0 (запустить таймер 1 с помощью программной инструкции)
TR0 = 1 (запуск таймера)

Расчет временной задержки для микроконтроллера 8051

Микроконтроллер 8051 работает с частотой 11,0592 МГц.

Частота 11,0592 МГц = 12 пулей

1 тактовый импульс = 11,0592 МГц / 12

F = 0,921 МГц

Задержка времени = 1 / F

T = 1 / 0,92 МГц

T = 1.080506 мкс (для «1» цикла)

1000 мкс = 1 мс

1000 мс = 1 сек

Порядок расчета программы задержки

1. Сначала мы должны загрузить значение регистра TMOD для «Timer0» и «Timer1» в разных режимах. Например, если мы хотим использовать таймер 1 в режиме 1, он должен быть настроен как «TMOD = 0x10».

2. Каждый раз, когда мы работаем с таймером в режиме 1, таймер принимает максимальное количество импульсов 65535. Затем рассчитанные импульсы с временной задержкой должны быть вычтены из максимального количества импульсов, а затем преобразованы в шестнадцатеричное значение. Это значение должно быть загружено в старший и младший биты timer1. Этот таймер программируется с помощью встроенный C в микроконтроллер .

Пример: задержка времени 500 мкс

500us / 1.080806us

461импульс

Р = 65535-461

P = 65074

65074 передается в шестнадцатеричном виде = FE32

TH1 = 0xFE

TL1 = 0x32

3. Запустите таймер1 «TR1 = 1».

4. Следите за битом флага «while (TF1 == 1)»

5. Сбросьте бит флага «TF1 = 0».

6. Сбросьте таймер «TR1 = 0».

Примеры программ:

Программа- 1

Программа- 1

Программа- 2

Программа- 2

Программа- 3

Программа- 3

Счетчики в 8051

Мы можем использовать счетчик, поддерживая высокий бит C / T, то есть логическую «1» в регистре TMOD. Для лучшего понимания мы привели одну программу, которая использует таймер 1 в качестве счетчика. Здесь светодиоды подключены к порту 2 8051, а переключатель - к выводу P3.5 таймера 1, и поэтому, если переключатель нажат, значение будет подсчитано. В противном случае, внешний датчик, подключенный к этому выводу счетчика в качестве входа, выполняет эту операцию подсчета.

Программа счетчика

Программа счетчика

Применение таймеров и счетчиков в 8051

Цифровой счетчик с 8051

Цифровой счетчик с 8051 достигается путем программирования микроконтроллера, как описано выше, и путем присоединения к нему сенсорной системы. Этот счетчик объектов использует инфракрасный датчик, который обнаруживает препятствие рядом с ним, а также позволяет вывод микроконтроллера 06. Когда объект проходит через датчики, микроконтроллер получает сигнал прерывания от ИК-датчиков и увеличивает счетчик, который отображается на 7-сегментном дисплее.

Цифровой счетчик с 8051

Цифровой счетчик с 8051

Схема временной задержки с использованием микроконтроллера 8051

На рисунке ниже показано, как можно реализовать работу таймера для эффективного переключения светодиодов. Операция с задержкой по времени для набора светодиодов программируется в микроконтроллере, как описано выше. Здесь набор светодиодов подключен к порту 2 с общей системой питания. Когда эта схема включается по времени задержки программа в микроконтроллере соответственно, эти светодиоды включаются.

Схема задержки времени

Схема задержки времени

Речь идет о таймере и счетчиках микроконтроллера 8051 с базовыми схемами программирования и приложений. Мы надеемся, что информация в этой статье могла дать вам достаточно данных, чтобы лучше понять концепцию. Кроме того, с любыми техническими сомнениями по программированию 8051 и его схем вы можете связаться с нами, оставив комментарий ниже.

Фото:

  • Цифровой счетчик с 8051 от схема
  • Схема задержки времени по vshamu