ШИМ PIC16f628A

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

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

Код: Выделить всё

#include <pic.h>
//pic16f628a

__CONFIG (INTIO & UNPROTECT & LVPDIS 
& BOREN & MCLRDIS & PWRTEN & WDTDIS);

void podgot (void); // подготовка МК

// === начало программы
void main (void){
podgot ();  
while(1) 
{

} //конец бесконечного цикла
} //конец программы


// === подготовка МК
void podgot (void)
{

INTCON = 0;// чистим регистр прерываний
TRISA = 0b00000000; TRISB = 0b00000000;
CMCON = 0x07;//  отключаем компараторы
PORTA = 0; PORTB = 0; 
RBPU = 0; // включить подтягивающие резисторы
PEIE = 1; //  разрешаем прерывания периферии
//ШИМ
PR2=20;//Период шим 1000
CCPR1L=100; CCP1CON |= 0b00110000; //устанавливаем длительность импульса
TRISB3=0;//вывод ССР на выход
TMR2ON=1;//включаем таймер 2
T2CKPS1=0;//предделитель таймера 1к1
T2CKPS0=0;
CCP1CON |=0b00001100;//включаем ССР в режим ШИМ
}



спасибо за помощь :))
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

PWM.rar
(60.52 КБ) 358 скачиваний

Код: Выделить всё

void main(void){
CCP1CON = 0b1100 ;
PR2=0x3F;
TMR2ON=1;
TRISB3=0;

CCPR1L=100;

while(1){


}
}

Реклама
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

спасибо,заработало.
со скваженностью все понятно,а как частоту изменять?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 25597
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

PR2
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2365
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

КРАМ писал(а):PR2
И прескалер.
И не забывать, что с уменьшением PR2 уменьшается и разрешающая способность ШИМа.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Реклама
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

а можно ли на базе этого шима организовать генератор импульсов с регулировкой частоты и коэфициента заполнения? если да то подскажите как
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25597
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Можно, только нужно определить требуемую дискретность по заполнению и частоте.
Необходимо отдавать себе отчет в том, что входная частота ШИМа должна быть обратна шагу ПЕРИОДА ШИМа.
Пример.
Нужно иметь шаг 1 Гц для частот в районе 1000 Гц.
Значит нужно найти разность периодов частот 1000 Гц и 1001 Гц.
Получаем 1000 мкс - 999 мкс = 1 мкс.
Входная частота 1 МГц
Другой пример.
Нужен тоже шаг в 1 Гц, но уже для частоты 100 кГц.
Получаем 10 мкс - 9,9999 мкс = 100 пикосекунд
Входная частота 10 ГГц...
:cry:
:wink:
Ответить

Вернуться в «PIC»