欢迎来到天天文库
浏览记录
ID:55955583
大小:71.50 KB
页数:4页
时间:2020-06-18
《stc单片机PWM输出程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、STC单片机PWM的实现方法与原理一款单片机提供的pwm实现变频输出。程序将变频pwm输出到led上作测试。#includesfrCCON=0xD8;sfrCMOD=0xD9;sfrCL=0xE9;sfrCH=0xF9;sfrCCAP0L=0xEA;sfrCCAP0H=0xFA;sfrCCAPM0=0xDA;sfrCCAPM1=0xDB;sbitCR=0xDE;sbitled=P2^0;unsignedcharduty=0x80;unsignedintfre=0xffff;voidtimer0_int(void)interrupt1using1{TH0=fre>>8;TL0=f
2、re&0xff;led=~led;}voidtimer0_init(void){TMOD&=0xf0;TMOD
3、=0x1;TH0=0xff;TL0=0xff;TR0=1;ET0=1;}voidpwm_init(void){CMOD=0x4;//Usetimer0CL=0x0;CH=0x0;CCAP0H=duty;//DutyCycleCCAPM0=0x42;//PWMmodeCR=1;//StartPCATimer.}voidsoft_delay(unsignedint_1ms){unsignedinttmp;while(_1ms--!=0){for(tmp=0;tmp<144
4、;tmp++);}}voidcheck_key(void){unsignedcharkey1,key2;key1=P1&0xf;soft_delay(20);key2=P1&0xf;if(key1==key2&&key1!=0xf){if(key1==0xe)duty+=16;elseif(key1==0xd)duty-=16;elseif(key1==0xb)fre+=0xff;elseif(key1==0x7)fre-=0xff;while((P1&0xf)!=0xf);}}voidmain(void){pwm_init();timer0_init();EA=1;while
5、(1){CCAP0H=duty;check_key();}
此文档下载收益归作者所有