stc單片機(jī)可調(diào)PWM程序
下面這個程序是應(yīng)用在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; //使用系統(tǒng)時鐘,時鐘輸入源頻率fosc/2。PWM頻率=fosc/2/256/************************************7 6 5 4 3 2 1 0 CIDL - - - cps2 CPS1 CPS0 ECFCIDL: =0時,空閑模式下PCA計數(shù)器繼續(xù)工作;=1時,空閑模式下PCA計數(shù)器停止工作。CPS2,CPS1,CPS0:PCA計數(shù)脈沖選擇。010,定時器0的溢出,可以實(shí)現(xiàn)可調(diào)頻率的PWM輸出。ECF: =1時,使能寄存器CCON CF位的中斷;=0時,禁止該功能。***************************************/CL=0x00;CH=0x00;CCAP0L=0xc0; //當(dāng)CL小于CCAP0L時,輸出為低;大于時,輸出為高。CCAP0H=0x7f; //當(dāng)CL由ff變?yōu)?0溢出時,CCAP0H裝載到CCAP0L中,實(shí)現(xiàn)無干擾的更新PWM。CCAP1L=0xc0; //當(dāng)CL小于CCAP1L時,輸出為低;大于時,輸出為高。CCAP1H=0xc0; //當(dāng)CL由ff變?yōu)?0溢出時,CCAP1H裝載到CCAP1L中,實(shí)現(xiàn)無干擾的更新PWM。CCAPM0=0X42; //使能PWM模式,PWM0=1,ECOM0=1CCAPM1=0X42; //使能PWM模式,PWM1=1,ECOM1=1CR=1; //啟動PCA計數(shù)器while(1) {CCAP0H=RF4432_TxRxBuf[4]; //此處改變占空比CCAP1H=RF4432_TxRxBuf[5];CCAP2H=RF4432_TxRxBuf[6]/2.5;};}
pwm相關(guān)文章:pwm是什么
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
pwm相關(guān)文章:pwm原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
評論