STC15W4K58S4實現頻率、占空比可調的PWM波
已有 8974 次閱讀2017-4-30 17:34
|個人分類:STC15模塊測試
直接粘上程序,詳細信息參考STC官方文檔:STC15STC15W4K32S4芯片手冊
#include "STC15.H"
//主時鐘選的22.1184MHZ
//用定時器T0的溢出脈沖實現頻率可調,改變CCAP0H的值實現占空比可調
void initPWM(void)
{
CMOD=0x84; // #10000100B 空閑模式下停止PCA計數器工作
// 選擇PCA時鐘源為T0溢出脈沖,禁止PCA計數器溢出時中斷
TMOD = 0x00; //T0方式0 16自動重裝初值
AUXR = 0X00; //T0 1T
TR0 = 1; //開啟T0計數
ET0 = 0; //禁止T0中斷
TH0 = 0xFC ; //0x4C00 頻率比較高 0xFC00頻率就很低(1024個脈沖產生溢出)
TL0 = 0x00 ; //頻率=
CCAPM0=0x42; // 設置PCA模塊為PWM輸出方式。
CR=1; // PCA計數器開始運行
}
void main(void)
{
initPWM();
CCAP0H=0xD0; // 脈寬控制 值越大 占空比越小 cycle=(1-CCAP0H/256)
while(1);
}