下面这个程序是应用在stc12c2052ad上的pwm程序,测试成功
#includesfr CCON =0xD8; //PCA control register sfr CMOD =0xD9; sfr CL =0xe9; sfr CH =0xF9; sfr CCAP0L=0xea; sfr CCAP1L=0xeb; sfr CCAP0H=0xfa; sfr CCAP1H=0xfb; sfr CCAPM0=0xda; sfr CCAPM1=0xdb; sbit CR=0xde; //位寻址 void main(void) { CMOD=0x02; //使用系统时钟,时钟输入源频率fosc/2。PWM频率=fosc/2/256 /************************************ 7 6 5 4 3 2 1 0 CIDL - - - cps2 CPS1 CPS0 ECF CIDL: =0时,空闲模式下PCA计数器继续工作;=1时,空闲模式下PCA计数器停止工作。 CPS2,CPS1,CPS0:PCA计数脉冲选择。010,定时器0的溢出,可以实现可调频率的PWM输出。 ECF: =1时,使能寄存器CCON CF位的中断;=0时,禁止该功能。 ***************************************/ CL=0x00; CH=0x00; CCAP0L=0xc0; //当CL小于CCAP0L时,输出为低;大于时,输出为高。 CCAP0H=0x7f; //当CL由ff变为00溢出时,CCAP0H装载到CCAP0L中,实现无干扰的更新PWM。 CCAP1L=0xc0; //当CL小于CCAP1L时,输出为低;大于时,输出为高。 CCAP1H=0xc0; //当CL由ff变为00溢出时,CCAP1H装载到CCAP1L中,实现无干扰的更新PWM。 CCAPM0=0X42; //使能PWM模式,PWM0=1,ECOM0=1 CCAPM1=0X42; //使能PWM模式,PWM1=1,ECOM1=1 CR=1; //启动PCA计数器 while(1) { CCAP0H=RF4432_TxRxBuf[4]; //此处改变占空比 CCAP1H=RF4432_TxRxBuf[5]; CCAP2H=RF4432_TxRxBuf[6]/2.5; }; }
上一篇:stc12c5a60s2单片机的常用函数
下一篇:STC单片机做的电子表C51程序
推荐阅读最新更新时间:2024-03-16 13:06
设计资源 培训 开发板 精华推荐
- 睿瀚医疗万斌:“脑机接口+AI+机器人”是康复赛道的未来
- 希润医疗孟铭强:手功能软体机器人,让脑卒中患者重获新生
- 柔灵科技陈涵:将小型、柔性的脑机接口睡眠设备,做到千家万户
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度