2011年4月21日 星期四

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

DIY - PICPIC18F4550 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 只使用Timer2PWM 工作之前,除了要配置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% 
天氣:短暫陽光

沒有留言:

張貼留言