stc单片机可调PWM程序
时间:08-29
来源:互联网
点击:
下面这个程序是应用在stc12c2052ad上的pwm程序,测试成功
#includereg52.h>sfr CCON =0xD8; //PCA control registersfr 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 ECFCIDL: =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=1CCAPM1=0X42; //使能PWM模式,PWM1=1,ECOM1=1CR=1; //启动PCA计数器while(1) {CCAP0H=RF4432_TxRxBuf[4]; //此处改变占空比CCAP1H=RF4432_TxRxBuf[5];CCAP2H=RF4432_TxRxBuf[6]/2.5;};}
- 交流稳压电源模拟采样stc单片机程序(12-02)
- STC单片机内部EEPROM程序(12-02)
- STC单片机 EEPROM/IAP 功能测试程序演示(12-01)
- stc单片机IO配置与PWM(12-01)
- STC单片机I/O口控制程序(两个不同的跑马灯效果)(12-01)
- STC单片机实现水滴效果程序(12-01)