立即注册 登录
返回首页

uid:129358的个人空间

日志

STC15W4K58S4实现频率、占空比可调的PWM波

已有 8998 次阅读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);          
}

路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (1 个评论)

回复 new518 2017-4-30 17:36
默认从P1.1输出PWM波

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

返回顶部