Алгоритм - Учебный центр
Заполните форму ниже! Мы вам перезвоним!

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


Многофункциональные таймеры.

Многофункциональные таймеры.

Микроконтроллеры позволяют решать множество за­дач встроенных систем. Они отличаются боль­шой универсальностью, их быстродействие позволяет применять их в различных устройствах в том числе и в платах управления второго уровня принтеров, что позволяет ощутимо удешевить готовую систему. Кроме того, микроконтроллеры очень легко программируются и перепрограммируются. Таймеры обычно используется для отсчета временных интервалов. А сторожевой таймер - это специальный таймер, предназначен­ный для предотвращения сбоев программы. Он работает следующим образом: после запуска он начинает отсчет заданного временного ин­тервала. Если программа не перезапустит его до истечения этого ин­тервала времени, сторожевой таймер перезапустит микроконтроллер. Таким образом, программа должна давать сторожевому таймеру сигнал — что все в порядке. Если она этого не сделала, значит, по ка­кой-либо причине произошел сбой.

Многие микроконтроллеры обычно имеют два многофункциональных таймера (которые имеют названия Т1 и Т2). Их функции служат допол­нением к функциям таймера RTCC и сторожевого таймера, обычно имеющихся во всех типах микроконтроллеров. Эти таймеры позволяют высво­бодить ресурсы центрального процессора для нужд приложения. Осо­бенно это касается приложений реального времени, таких, как генера­ция сигнала с ШИМ, управление двигателями, управление тиристорными преобразователями, генерация синусоидальных сигналов и, нако­нец, сбор данных.

Каждый таймер обычно построен на основе 16-разрядных регистров. Кроме того, каждому из них соответствуют 4 вывода микроконтроллера: один вы­вод — вход тактового сигнала, 2 вывода — входы захвата и еще один вы­вод — выход таймера. Выводы, которые используются многофункцио­нальными таймерами, имеют также и другие функции: выводы таймера Т1 являются выводами порта В, а выводы таймера Т2 — выводами порта С.

Каждый такой таймер может работать в четырех различных режимах. В пер­вом режиме таймер работает в качестве генератора ШИМ-сигнала (ШИМ — широтно-импульсная модуляция). Во втором он используется в качестве программного счетчика. В третьем режиме таймер используется для под­счета внешних событий. И наконец, четвертый режим позволяет запоми­нать состояние счетчика по внешнему сигналу («захват») и сравнивать его с заданным значением.

Широтно-импульсная модуляция (рис. 1) заключается в генерировании сигнала с программируемыми частотой и коэффициентом заполнения. Для исполь­зования этого режима необходимо загрузить в регистры сравнения R1 и R2 значения, равные количеству машинных циклов, в течение которых сигнал на выходе таймера равен «0» и «1» соответственно. Таким образом, содер­жимое регистра R1 определяет длительность сигнала «НИЗКОГО», а содер­жимое регистра R2 — длительность сигнала «ВЫСОКОГО» уровня на выхо­де таймера.

QIP Shot - Image: 2018-05-14 13:22:58 

Рис. 1. Формирование ШИМ-сигнала

Сначала счетчик инициализируется значением 0000h. Затем содержи­мое счетчика инкрементируется до тех пор, пока не станет равным содер­жимому регистра R1. В этот момент генерируется прерывание (если оно разрешено), изменяется уровень на выходе таймера, а в счетчик вновь за­писывается значение 0000h. Во втором цикле содержимое счетчика инкре­ментируется до тех пор, пока не станет равным содержимому регистра R2. В этот момент генерируется прерывание (если оно разрешено), изменяет­ся уровень на выходе таймера, а в счетчик вновь записывается значение 0000h. Описанный процесс постоянно повторяется с поочередным исполь­зованием регистров R1 и R2. Значения, записанные в регистрах R1 и R2, определяют коэффициент заполнения и период, а следовательно, и часто­ту выходного сигнала. Если в регистрах R1 и R2 записано одно и то же число, на выходном контакте таймера будет присутствовать сигнал меанд­ра, имеющий коэффициент заполнения, равный 50%. Если в момент запи­си в регистр R1 значение таймера больше, чем записываемое, а на выходе таймера «НИЗКИЙ» уровень (т.е. таймер считает до совпадения с R1), то таймер досчитает до FFFFh и затем до нового значения R1, сохраняя на вы­ходе «НИЗКИЙ» уровень. Аналогичная ситуация будет и при обновлении R2, только на выходе таймера сохранится «ВЫСОКИЙ» уровень.

 

 


Лицензия