2013-07-16 3 views
0

здесь im using pic 16f877 MCU и mikroc для pic compilerto понимать PWM-signels. В листе данных указано, что этот микроконтроллер имеет разрешение 10 бит в ШИМ. Я не могу понять, что означает эта резолюция. это означает, что, если я использую его для питания двигателя, я могу получить 1024 различных скоростей. вот программа, которую я написал в mikroc, чтобы увеличить яркость светодиода и снова уменьшить его.Разрешение PWM в pic 16F877

int i=0; 

void blink_up(){ 
    i++; 
    PWM1_Set_Duty(i); 
    Delay_ms(10); 
} 

void blink_down(){ 
    i--; 
    PWM1_Set_Duty(i); 
    Delay_ms(10); 
} 


void main() { 
    trisc=0; 
    portc=0; 

    PWM1_Init(5000); //initilize PWM 1 at 5kHz 
    PWM1_Start(); 
    PWM1_Set_Duty(i); 

while(1){ 
    while(i != 1023){ 
    blink_up(); 
    } 

    while(i!=0) { 
    blink_down(); 
    } 

} 

, но это не даст ожидаемых результатов. светодиодный градиент соединяется и суетно выключается, и снова градулла мерцает. но когда я меняю строку while(i != 1023) на `while (i! = 255), она дает ожидаемые результаты.

, так что я хочу знать, что означает 10-битное разрешение, я понял, что это неправильно или я делаю enything неправильно.

, пожалуйста, помогите ....

ответ

0

наконец-то я получил решение. Я даю это, потому что это может быть полезно кому-то другому.

библиотека pwm mokroc не поддерживает 10 бит. поэтому PWM1_Set_Duty() принимает только число от 0 до 255. Это составляет 0% для 100% рабочего цикла. если вы хотите использовать 10-битное разрешение, вы должны сделать это вручную для регистрации.

+0

@TevoD Я не могу принять мой собственный ответ до 2-х дней ... –

+0

Спасибо за напоминание. :) Рад, что вы смогли решить вашу проблему. –

0

Теперь, когда вам удалось успешно работать с вашим кодом, попробуйте использовать внутренние регистры PIC. Разрешение 10 бит является более мощным, скажем, для RGB-гигабайта, чем 8 бит. Не так сложно заставить его работать самостоятельно, это написано непосредственно в техническом описании, и есть много веб-сайта, в котором вам предлагаются функции для расчета рабочего цикла и частоты вашего модуля PWM.

техническое описание для режима КПК (PWM) от Microchip: http://ww1.microchip.com/downloads/en/DeviceDoc/31014a.pdf

Смежные вопросы