ШИМ PIC16f628A

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

ШИМ PIC16f628A

Сообщение 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;//включаем ССР в режим ШИМ
}



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

Re: ШИМ PIC16f628A

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

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

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

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

CCPR1L=100;

while(1){


}
}

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

Re: ШИМ PIC16f628A

Сообщение vovik15 »

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

Re: ШИМ PIC16f628A

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

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

Re: ШИМ PIC16f628A

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

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

Re: ШИМ PIC16f628A

Сообщение vovik15 »

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

Re: ШИМ PIC16f628A

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

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

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