Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Следует отметить, что включенный Таймер 1 увеличивает потребление микроконтроллера на величину порядка 20 мкА. Особенно следует обращать на это внимание, если Таймер 1 используется для вывода микроконтроллера из режима пониженного потребления, в котором потребление микроконтроллера с выключенной периферией составляет всего 0.9 мкА (все цифры приведены для моделей PIC16F87X).

* * *

Совместно с Таймером 1 (а также, как мы увидим позже, и с Таймером 2) используется один (например, в PIC16F62X) или два (например, в PIC16F87X) модуля захвата/сравнения/ШИМ (Capture/Compare/PWM — ССР). Каждый модуль ССР, по существу, состоит из 16-битного регистра (поскольку счетный регистр Таймера 1 является двухбайтным) и 16-битного цифрового компаратора для сравнения состояния Таймера 1 и содержимого регистра модуля ССР. Поскольку модули ССР1 и ССР2 практически идентичны (они используют один и тот же задающий Таймер 1[176]), отличаясь только различными контактами ввода/вывода ССР1 и ССР2, мы будем рассматривать модуль ССР1. Там, где это необходимо, различия между модулями будут указаны отдельно.

Модуль ССР выполняет три основных функции:

• При его работе в режиме захвата (Capture) появление заданного события на выводе, связанном с модулем ССР, вызывает копирование состояния счетного регистра Таймера 1 в регистр ССР. Эту возможность можно использовать для определения момента наступления данного события или его длительности с разрешением вплоть до 12.5 нc.

• При работе в режиме сравнения (Compare) в случае равенства счетного регистра Таймера 1 и содержимого регистра модуля ССР изменяется состояние соответствующего вывода модуля или осуществляется сброс Таймера 1. Эта возможность может использоваться для аппаратного формирования сигналов с разрешающей способностью 200 нc.

• При работе в режиме ШИМ (PWM) модуль ССР совместно с Таймером 2 может использоваться для аппаратного формирования сигнала с широтноимпульсной модуляцией разрядностью до 10 бит (разрешение 0.1 %) с программируемыми периодом и скважностью.

Во всех случаях, когда используется Таймер 1, он должен работать в синхронном режиме, т. е. бит  должен быть сброшен в 0.

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

Работа модуля в режиме захвата показана на Рис. 13.6. В этом режиме имеются следующие подрежимы:

∙ 0000

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

∙ 0100

По спадающему  фронту на выводе ССР1 оба байта счетного регистра Таймера 1 одновременно копируются в пару регистров CCPR1H: L. При этом устанавливается флаг прерывания CCP1IF (PIR1 [2]) и, при установленном бите маски CCP1IE (PIE1 [2]), генерируется прерывание.

Модуль ССР2 функционирует точно так же, за исключением того, что соответствующие биты флага CCP2IF и маски CCP2IE прерывания расположены в регистрах PIR2 (PIR2[0]) и PIE2 (Р1Е2[0]) соответственно. Причем во многих моделях среднего уровня эти биты являются единственными задействованными в указанных регистрах.

∙ 0101

Описанный выше процесс захвата производится по нарастающему  фронту на выводе модуля ССР.

∙ 0110

Захват производится по четвертому нарастающему фронту на выводе ССРn.

∙ 0111

Захват производится по шестнадцатому нарастающему фронту на выводе ССРn.

Рис. 13.6. «Захват» времени наступления события

После наступления заданного события процессор может считать сохраненное значение (время) либо в обработчике прерывания, либо после установки опрашиваемого флага CCPIF в 1. Если Таймер 1 после каждого события сбрасывается, то данное значение представляет собой время, прошедшее с момента наступления предыдущего события. Если же инкрементирование Таймера 1 не прекращается, то для определения времени между событиями достаточно вычесть новое значение из значения, запомненного во время предыдущего прерывания. Поскольку режим модуля ССР допускается изменять «налету», мы можем измерять интервал между нарастающим и спадающим фронтами на входе модуля ССР1, переключая между операциями захвата бит ССР1М[0]. При изменении режима возможна самопроизвольная установка флага прерывания ССР1IF. Чтобы предотвратить генерацию ложного прерывания, необходимо перед изменением режима сбрасывать бит ССР1IЕ, а после изменения режима — бит ССР1IF. Также можно использовать разные модули для захвата по каждому из фронтов, скажем, модуль ССР1 — для захвата по нарастающему фронту, а модуль ССР2 — для захвата по спадающему фронту (см. Пример 13.3).

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

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

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

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника