2011年4月21日 星期四

DIY - PIC:PIC18F4550 PWM 脈衝寬度調變函數庫程式 (六十二)

DIY - PIC:PIC18F4550 PWM 脈衝寬度調變函數庫程式 (六十二):

Microchip C18 內置支持 PWM 脈衝寬度調變函數庫模塊 (pwm.h),衹需要用包括 pwm 頭文件 ()。然後再呼叫不同的功能,便可控制 PWM 脈衝寬度調變。

 注1: 增強型PWM 函數僅可用於帶有ECCPxCON 寄存器的器
  
功能 –ClosePWMx / CloseEPWMx(1) (禁止PWM 通道x) 
原型:void ClosePWM1( void ); 
            void ClosePWM2( void ); 
            void CloseEPWM1( void ); 
說明:該函數禁止指定的 PWM 通道。 
檔案名:pw1close.c 
                pw2close.c 
                ew1close.c 
範例:ClosePWM1; 

功能 –OpenPWMx / OpenEPWMx(1) (配置PWM 通道 x) 
原型:void OpenPWM1( char period ); 
            void OpenPWM2( char period ); 
            void OpenEPWM1( char period ); 
參數:period 
可以是0x00 到0xff 之間的任何值,通過使用下面的公式,這個值可確定PWM 頻率:PWM 週期 =[(period ) + 1] x 4 x TOSC x TMR2預分頻值 
說明:該函數配置指定PWM 通道的週期和時基。PWM 只使用Timer2。在PWM 工作之前,除了要配置PWM 通道外,還要用 OpenTimer2(...) 語句配置Timer2 。 
檔案名:pw1open.c 
                pw2open.c 
                ew1open.c 
範例:OpenPWM1(0xff); 

功能 –SetDCPWMx / SetDCEPWMx(1) (向PWM 通道 x 寫入一個新的佔空比值) 
原型:void SetDCPWM1( unsigned int dutycycle ); 
            void SetDCPWM2( unsigned int dutycycle ); 
            void SetDCEPWM1( unsigned int dutycycle ); 
參數:dutycycle 
dutycycle 的值可以是任何一個10位數。只有dutycycle 的低 10 位寫入到佔空比寄存器。占空比,或者更具體地說是PWM 波形的高電平時間,可以通過下面的公式計算出來:PWM x 佔空比 = (DCx<9:0>) x TOSC 其中, DCx<9:0> 是調用該函數時指定的10 位值。 
說明:該函數向指定 PWM 通道的占空比寄存器寫入新的佔空比值。 
PWM 波形的最大解析度可以使用下面的公式、通過週期計算出來: 
解析度(位) = log(FOSC/Fpwm) / log(2) 
檔案名:pw1setdc.c 
                pw2setdc.c 
                ew1setdc.c 
範例:SetDCPWM1(0); 

功能 –SetOutputPWMx / SetOutputEPWMx(1) (設置ECCP x 的PWM 輸出配置位元) 
原型:void SetOutputPWM1 (unsigned char outputconfig, unsigned char outputmode);void SetOutputEPWM1 (unsigned char outputconfig, unsigned char outputmode); 
參數:outputconfig 
outputconfig 的值可以是下列值(在pwm.h 中定義)之一:

SINGLE_OUT
單端輸出
FULL_OUT_FWD
全橋正向輸出
HALF_OUT
半橋輸出
FULL_OUT_REV
全橋反向輸出

outputmode 
outputmode 的值可以是下列值(在 pwm.h 中定義)之一:
PWM_MODE_1
P1A 和 P1C 高電平有效
P1B 和P1D 高電平有效
PWM_MODE_2
P1A 和P1C 高電平有效
P1B 和 P1D 低電平有效
PWM_MODE_3
P1A 和 P1C 低電平有效
P1B 和 P1D 高電平有效
PWM_MODE_4
P1A 和 P1C 低電平有效
P1B 和 P1D 低電平有效

說明:僅適用於帶擴展型或增強型CCP (ECCP)的器件。 
檔案名:pw1setoc.c 
                ew1setoc.c 
範例:SetOutputPWM1 (SINGLE_OUT, PWM_MODE_1); 

2011 年 04 月 21 日 天氣報告
氣溫:23.0 度 @ 08:00 
相對濕度:百分之84% 
天氣:短暫陽光

沒有留言:

張貼留言