CCP – модуль можно использовать в трех режимах:

Capture – позволяет захватывать входной сигнал и определять его параметры (длительность или частоту). Дополнительно управлять внутренними модулями.

Compare –  позволяет формировать импульсы любой полярности, формирование частоты. Так же управлять внутреними модулями.

PWM – формирование сигналом ШИМ.

В режимах Compare и PWM  модуль работает совместно со встроенными таймерами.


Тут речь пойдет о использовании CCP модуля в режиме Compare для формировании частоты.

Как выполнить настройку модуля в этом режиме.

В проекте запускаем MCC, в окне Ресурсы устройства

Выбираем в разделе CCP любой модуль (CCP1….CPPn) и делаем двойной клик. MCC добавит модуль в раздел Ресурсы проекта.

Сделаем клик для окна открытия быстрой настройки модуля, в нем укажем с каким таймером ему предстоит работать

Я выбрал из доступных вариантов таймер 5. Далее необходимо выбрать режим Pulse output, clear TMRx этот режим позволяет формировать на выходе модуля непрерывный поток заданной частоты.

После этого добавим выбранный таймер 5. Перейдем в окно Ресурсы устройства и откроем раздел таймеры и сделаем двойной клик на нашем таймере, он исчезнет в разделе Ресурсы устройства

 и появиться в разделе Ресурсы проекта. Вызовем свойства таймера и выполним его настройку, в принципе то, навастривать нечего. Главное, что бы тактовая была настроена FOSC/4, хотя можно выбрать и любое другой источник. Настройку  предделителя можно оставить 1:1, от него будет зависеть шаг генерируемой частоты при изменении настроек регистра CCPR.

Как это работает:

Таймер тактируется от тактовой частоты в нашем случает от FOSC/4, при совпадении значения записного в регистр CCPR со значением в таймере TMR будет формироваться импульс для выходной логики модуля который управляет RS-триггером. После это выполняется сброс таймера и его отсчет будет начат заново. По достижении сравнения выходная логика переключит триггер в противоположное состояние. Таким образом при задании значения в регистр CCPR мы формируем период который будет задавать выходную частоту на выходе модуля.

Подключит выход модуля к заданному нами порту микроконтроллера, например, мы его желаем подключить RB2, откроем окно Менеджера вводов и зададим подключение модуля к порту RB2.

Дополнительно в разделе Ресурсы проекта выберем ресурс Модуль выводов

и проверим конфигурацию нашего вывода, он должен быть настроен на выход и все остальные опции должны быть отключены

Теперь самое главное как рассчитать частоту которую мы можем получить на выход нашего модуля.

Наша тактовая частота FOSC = 64 000 000 Гц (в моем случае), сразу делиться на 4 (так выбрано в конфигуратора), т.е на входе таймера мы имеем 8 000 000 Гц. Далее идет предделитель у меня настроен на 1 , т.е после него все те же 8 МГц, таймер с связке с модулем может иметь период от 1 до 65536. Т.е. если период 1, то на выходе формируются управляющие импульсы для выходной логики с частотой 8Мгц, после каждого импульса состояние RS-триггера меняется на противоположное, это еще деление на 2 и мы будем иметь выходную частоту 4 Мгц.

Расчет выходной частоты для нашей настройки буде иметь вид

Foun = ((((FOSC/4) /Prescaler)/CCPR)/2);

Минимальная частота будет составлять если CCPR = 0xFFFF  ~  122 Гц.

Отсюда модно получить значение которое Нам необходимо записать в модуль CCPR  для получения заданной частоты.

CCPR  = ((((FOSC/4 )/Prescaler)/Foun)/2);

Если значение  CCPR  установлено в 0 на выходе будет постоянно высокий уровень! 



Это может быть интересно


  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG. Метки:UC1601s
  • HVLD модуль на примере PIC24FJ128GA204HVLD модуль на примере PIC24FJ128GA204
    HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что необходимо выполнить …
  • Часы-кухонный таймерЧасы-кухонный таймер
    Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и через заданный …
  • ch-4000 – универсальная печатная платаch-4000 – универсальная печатная плата
    На смену устаревшей плате ch-3000, пришла новая ch-4000. Плату уже можно приобрести в магазине Ворон. Схема. Плата позволяет создавать таймеры, часы реального времени, регуляторы температуры, регуляторы влажности, вольтметры, дистанционное управление …
  • Сумеречное релеСумеречное реле
    Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока 220 вольт. …
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
    Модуль I2C Не работает при использовании в стандартной конфигурации MCC. Требует особой нестандартной конфигурации и управления для нормальной работы. Обойти Обход проблемы возможен библиотека см статью. Модуль ADC2 На выводе RA0, …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований CAN 2.0B …
  • Мониторинг температурыМониторинг температуры
    Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то вы сможете …
  • USB K-L-line адаптерUSB K-L-line адаптер
    USB K-L-line адаптер предназначен для связи персонального компьютера с диагностической шиной автомобиля – интерфейс ISO-9141. Этот проект предназначен для сборки недорого устройства с использованием специально для этой цели разработанной печатной …
  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся старым и …



Tagged with →  
Share →
Translate »

Copyright © Catcatcat 2013-2018. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com