Views: 3256
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 на выходе будет постоянно высокий уровень!
Это может быть интересно
Защита датчиков температуры DS18B20 от статического электричестваViews: 1987 Статья перепечатана с сайта http://svetomuzyka.narod.ru При удалении датчика на большие расстояния возникает опасность наведения импульсов высокого напряжения на кабель, который соединяет датчик с контролером. Если не принимать меры защиты, …
ch-светомузыка от теории до реализацииViews: 924 Сразу оговоримся технология или теория ch-светомузыки, это постоянно развивающийся процесс и то что будет сказано сегодня завтра может быть опровергнуто и считаться ошибочным. Назовем само решение проблемы автоматического …
Проект с использованием MCC часть 10Views: 1066 Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – …
Индикатор температурыViews: 2833 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …
Altium Designer my setup system and project structureViews: 1058 Используйте только последнее обновление!!! Updates https://catcatcat.d-lan.dp.ua/altium-designer-my-libraries-project-templates-system-settings-by-catcatcat-v23-09/ Тут хочу поделиться как я настраиваю Altium Designer и как я использую файлы DXPPreferences.DXPPrf для быстрой конфигурации и получения …
TM1650 драйвер LED семисегментного индикатораViews: 18417 UPDATES 2025/10/10 Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd. Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов …
Acquaintance with audio-bluetooth modules F-6888 (BK3254).Views: 2399 Для проектов появилось необходимость познакомиться с недорогими модулями китайского производства, которые можно приобрести у нас в Украине и у китацев, на алиэкспрессе. Так как меня интересует не просто, …
ch-светомузыка и AK4113Views: 1513 Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это …
Часы + Календарь + Термометр + …Views: 2823 Часы + Календарь + Термометр + Индикатор влажности + Секундомер + Дистанционное управление на ИК лучах (пульты на RC-5 протоколе) + Автоматическая регулировка яркости + Возможность вывода данных через USB, …
Customs codes for exportViews: 378 Митні коди (HS Code) для надсилання посилок за кордон. Для відправки товару за кордон на сьогодні необхідно зазначати митні коди. Часто визначення коду займає багато часу. Для …






