реклама на сайте
подробности

 
 
> ШИМ сигнал для pic12f683
Pavel_Bor
сообщение May 16 2010, 09:07
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 15-04-10
Из: Украина
Пользователь №: 56 660



Есть код

Код
unsigned char i,key,check;
void main()
{
TRISIO=0x03;
ANSEL=0x00;
CMCON0=7;
GPIO=0;

while(1)
{
if ((GPIO.GP0)&&(GPIO.GP1==0))
check=2;
else if ((GPIO.GP0==0)&&(GPIO.GP1))
check=3;
else check=1;

if (check!=key)
{
if ((GPIO.GP0)&&(GPIO.GP1==0))
{
PWM1_Init(29600);
key=2;
PWM1_Set_Duty(127);
PWM1_Start();
delay_ms(3);
}

else if ((GPIO.GP0==0)&&(GPIO.GP1))
{
PWM1_Init(30400);
key=3;
PWM1_Set_Duty(127);
PWM1_Start();
delay_ms(3);
}
else
{
PWM1_Init(30000);
key=1;
PWM1_Set_Duty(127);
PWM1_Start();
delay_ms(3);
}
}
}
}


На протеусе все работает четко. На железе появляется нестабильная частота (0-20 кГц). При подачи ШИМ без цикла все норм... но надо 3 сигнала разной частоты.
Подскажите пожалуйста в чем может быть проблема
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Марк_Я
сообщение May 26 2010, 04:39
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Так как речь о железе, то желательно увидеть схему и монтаж.
Есть смутное подозрение на некорректное управление входами выбора частоты (подтяжка к питанию-активный уровень низкий).
Или на болтающийся в воздухе сброс.
Или полное отсутствие блокировок.
Или все вместе.
PS Извините конечно, но код написан просто кошмарно... Даже трудно выдумать что либо более нечитаемое.
Тогда писали бы на АСМе...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016