![]() |
![]() |
||||||||||||
Делитель частоты на PIC
Автор: mig958
Очень часто бывает необходим делитель частоты. Собирать его на счетчиках? А если разделить нужно например на 1000000? или на что-то не стандартное. 6 корпусов десятичных счетчиков - это уже целое устройство. Если частота не превышает 20 - 25 МГц и разделить нужно не менее чем на 12 (к сожалению кратно четырем из-за формирователя команд) - отличный выход - применение микропроцессора. У Микрочип есть недорогие малогабаритные микропроцессоры, например 6 выводные PIC10F222T, или 8 выводные PIC12F629 и так далее. Разнообразие их очень велико. Они обладают очень низким энергопотреблением, большой нагрузочной способностью и они полностью статические. То есть их можно тактировать очень низкой частотой. Недавно мне потребовался делитель на 8000. Я долго ломал голову, уж очень не хотелось паять кучу счетчиков. И тут меня осенило ... "Эврика" воскликнул я и попробовал симулировать это в Proteus. Хочу поделиться полученным результатом. Вот программа на ассемблере для PIC12F629 деление на 2000. Кстати бесплатно получается еще на 8000 и на 16000. В чем суть программы: микропроцессор тактируется внешним сигналом, выбираем нужный порт на выход и в цикле производим инкремент порта и нужную задержка и опять в цикл. Таким образом на выводах порта у нас получается несколько частот кратных двум. Сложность только в том как найти задержку. В этом нам поможет программа: PIC_Delay. В ней уже учитывается деление на 4 формирователя тактов команды. Например рассчитаем делитель на 2000. Для удобства примем входную частоту 1МГц. Тогда нам нужна задержка на 1000мкс на половину периода. Учтем что у нас есть две команды не входящие в задержку: incf GPIO, GOTO Cikl0. Причем первая занимает один машинный такт а вторая два, с учетом делителя формирователя тактов: нужно вычесть из задержки 12мкс. Результат программы вставляем между инкрементом и циклом. В Proteus собираем схему: И любуемся: Наличие же на борту схемы генератора, позволяет сделать кварцевый генератор очень маленького размера. Например на частоту 1МГц и ниже найти приличный малогабаритный кварцевый резонатор или генератор очень трудно. Используя входы можно легко сделать управляемый делитель. А так как на борту у многих присутствуют компараторы, АЦП, таймеры, то вариантов применения становится ну очень много...
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |