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