2/01/2008

PWM USER TIMER MODE (SOFTWARE MODE)

如果硬體沒有提供 PWM 輸出,則必需自已用 TIMER
來模擬做出 PWM ,軟體可分為二種做法。
精準(中斷法)
不精準(系統LOOP)


當使用 SYSTEM LOOP 需注意其它程式的執行時間,
其它程式執行時間過長,則會延長 PWM 的輸出,
或是可在其它程式中間插入 PWM 函式,用以檢查
是否以過週期。

Ex:假設需要在 50ms 週期,固定 20ms 的輸出則

output = high;
unsigned int timer_count;

timer_interrupt( )
{
timer_count ++;
}
while(1)
{
if(timer_count < 50)
{
if(timer_count < 20)
output=high;
else
output=low;
}
else
{
timer_count=0;
output=high;
}
}

沒有留言: