《]单片机C语言编程模板(PWM脉宽调制)6页》由会员分享,可在线阅读,更多相关《]单片机C语言编程模板(PWM脉宽调制)6页(6页珍藏版)》请在人人文库网上搜索。
1、转单片机C语言编程模板(PWM脉宽调制) 修改浏览权限 | 删除 - MCS-51系列单片机C语言编程PWM脉宽调制器程序模板 - 适用于STC系列内嵌PWM的单片机产品(以STC12C2052为例) - 以PWM控制LED亮度实验电路为例 /*函数名:PWM初始化函数调 用:PWM_init();参 数:无返回值:无结 果:将PCA初始化为PWM模式,初始占空比为0备 注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可/*/void PWM_init (void)CMOD=0x02; /设置PCA定时器CL=0x00; CH=0x00;CCAPM0=0x42; /PWM0设置PC。
2、A工作方式为PWM方式(0100 0010)CCAP0L=0x00; /设置PWM0初始值与CCAP0H相同CCAP0H=0x00; / PWM0初始时为0/CCAPM1=0x42; /PWM1设置PCA工作方式为PWM方式(使用时删除/)/CCAP1L=0x00; /设置PWM1初始值与CCAP0H相同/CCAP1H=0x00; / PWM1初始时为0/CCAPM2=0x42; /PWM2设置PCA工作方式为PWM方式/CCAP2L=0x00; /设置PWM2初始值与CCAP0H相同/CCAP2H=0x00; / PWM2初始时为0/CCAPM3=0x42; /PWM3设置PCA工作方式为P。
3、WM方式/CCAP3L=0x00; /设置PWM3初始值与CCAP0H相同/CCAP3H=0x00; / PWM3初始时为0CR=1; /启动PCA定时器/*/*函数名:PWM0占空比设置函数调 用:PWM0_set();参 数:0x000xFF(亦可用0255)返回值:无结 果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平备 注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可/*/void PWM0_set (unsigned char a)CCAP0L= a; /设置值直接写入CCAP0LCCAP0H= a; /设置值直接写入CCAP0H/*/- 。
4、程序模块/*程序名: PWM模块调试程序(仅实验用)编写人: 杜洋编写时间:2009年7月22日硬件支持:STC12C2052 12MHz接口说明:LED灌电流接P3.7接口(PWM0) 修改日志:NO.1-/*说明:/*/#include /头文件/*函数名:PWM初始化函数调 用:PWM_init();参 数:无返回值:无结 果:将PCA初始化为PWM模式,初始占空比为0备 注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可/*/void PWM_init (void)CMOD=0x02; /设置PCA定时器CL=0x00; CH=0x00;CCAPM0=0x42; /PWM0。
5、设置PCA工作方式为PWM方式(0100 0010)CCAP0L=0x00; /设置PWM0初始值与CCAP0H相同CCAP0H=0x00; / PWM0初始时为0/CCAPM1=0x42; /PWM1设置PCA工作方式为PWM方式(使用时删除/)/CCAP1L=0x00; /设置PWM1初始值与CCAP0H相同/CCAP1H=0x00; / PWM1初始时为0/CCAPM2=0x42; /PWM2设置PCA工作方式为PWM方式/CCAP2L=0x00; /设置PWM2初始值与CCAP0H相同/CCAP2H=0x00; / PWM2初始时为0/CCAPM3=0x42; /PWM3设置PCA工作。
6、方式为PWM方式/CCAP3L=0x00; /设置PWM3初始值与CCAP0H相同/CCAP3H=0x00; / PWM3初始时为0CR=1; /启动PCA定时器/*/*函数名:PWM0占空比设置函数调 用:PWM0_set();参 数:0x000xFF(亦可用0255)返回值:无结 果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平备 注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可/*/void PWM0_set (unsigned char a)CCAP0L= a; /设置值直接写入CCAP0LCCAP0H= a; /设置值直接写入CCAP0H/*/*函数名:主函数调 用:无参 数:无返回值:无结 果:程序开始处,无限循环备 注:/*/void main (void)PWM_init(); /PWM初始化PWM0_set(0x10); /设置PWM占空比while(1)/无限循环程序/*/* 杜洋工作室 www.DoYoung.net/*/- 应用实例- 使用说明。