Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

Для настройки формирователя уровня каждого канала на один из трех перечисленных режимов работы используются биты OMn:OLn в регистрах TCTL1 ($0088) и TCTL2 ($0089). Формат этих регистров представлен на рис. 4.36. Таблица рис. 4.37 устанавливает соответствие между режимом работы формирователя уровня и кодом инициализации в разрядах OMn:OLn.

Рассмотрим последовательность действий, которая должна быть реализована для генерации средствами подсистемы выходного сравнения «отрицательного» импульса заданной длительности. Под «отрицательным» импульсом мы будем понимать низкий логический уровень сигнала с последующим его изменением на высокий логический уровень.

1. Управляющая программа считывает текущее состояние счетчика временной базы из двухбайтового регистра TCNT.

2. Управляющая программа устанавливает выход используемого канала в 0.

3. Управляющая программа вычисляет длительность временного интервала, в течение которого на выходе должен удерживаться низкий логический уровень. Обратите внимание, полученная длительность временного интервала должна быть представлена в числе периодов тактирования счетчика временной базы.

4. Управляющая программа производит сложение ранее считанного кода счетчика и полученного кода длительности временного интервала. Полученное значение записывается в регистр данных канала выходного сравнения.

5. Управляющая программа задает режим работы формирователя уровня канала. Целесообразно выбрать режим установки выхода в 1, для чего необходимо записать в разряды OMn:OLn регистров TCTL1: TCTL2 комбинацию 11 (см. рис. 4.37).

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

Канал 7 в режиме выходного сравнения

До настоящего параграфа мы рассматривали все восемь каналов модуля таймера TIM, как полностью идентичные. Однако на самом деле полностью идентичными, работающими или в режиме входного захвата или в режиме выходного сравнения, являются лишь каналы 0…6. Канал 7 в режиме выходного сравнения обладает дополнительными возможностями. При этом рассмотренные режимы захвата/сравнения, совпадающие с режимами каналов 0…6, при соответствующей инициализации им полностью поддерживаются.

Если канал 7 находится в режиме выходного сравнения и его дополнительная функция разрешена, то в момент события в канале 7 устанавливается в назначенное состояние не только выход канала 7, но и любая комбинация выходов каналов 0…6. При этом выбранные для принудительной установки каналы также должны работать в режиме выходного сравнения. Два регистра специальных функций OC7M и OC7D используются для управления режимом принудительной установки по событию в канале 7. Каждый из битов регистра OC7M разрешает (при OC7Mn = 1) режим принудительной установки для одноименного (с номером n) канала. Соответствующий бит в регистре OC7D задает значение, которое должно быть установлено на выходе канала в момент принудительной установки. Например, если в регистре OC7M записан двоичный код 10110001, а в регистре OC7D – 01010101, то с каналом 7 в режиме принудительной установки будут связаны каналы 0, 4, 5. Тогда в момент события выходного сравнения на выходе канала 0 установится 1, на выходе канала 4 установится также 1, на выходе канала 5 установится 0 и на выходе канала 7 — тоже 0. На остальные каналы событие выходного сравнения в канале 7 влияния не окажет.

Свойство принудительной установки позволяет два раза за период работы счетчика временной базы изменять состояние на выходах каналов 0…6. Один раз по собственному событию выходного сравнения канала, второй раз — по событию в канале 7.

Регистры для управления каналами захвата/сравнения

В данном разделе мы рассмотрим регистры специальных функций, которые используются для управления режимами работы универсальных каналов захвата/сравнения. Формат регистров управления счетчиком временной базы в составе модуля таймера был рассмотрены ранее.

Регистр режимов каналов захвата/сравнения

Регистр режимов каналов захвата/сравнения TIOS (Timer Input capture/Output compare Register) располагается в памяти МК по адресу $0080. Формат регистра представлен на рис. 4.38. Каждый из битов регистра IOSn определяет режим работы канала с номером n. Если бит установлен в 1, то канал работает в режиме выходного сравнения. Если бит равен 0, то канал настроен на режим входного захвата.

Рис. 4.38. Формат дополнительных регистров управления таймером: TIOS, CFORC, OC7M, OC7D


Регистр принудительного события выходного сравнения

Регистр принудительного события выходного сравнения CFORC (Timer Compare Force Register) располагается в памяти МК по адресу $0081. Формат регистра представлен на рис. 4.38. Установка бита FOCn в 1 немедленно вызывает событие выходного сравнения в канале с номером n, независимо от текущего состояния счетчика временной базы и регистра данных канала. Функция принудительной установки очень удобна для задания начального уровня выхода канала выходного сравнения.

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT