欢迎来到天天文库
浏览记录
ID:55954789
大小:69.50 KB
页数:2页
时间:2020-06-18
《PWM调节led等的亮度的程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#includebitflay;sbitled=P1^1;#defineucharunsignedchar#defineuintunsignedintsbitled=P1^1;ucharpwm=0,aa=0;voiddelay(uint);voiddelays();main(){TMOD
2、=0x01;//定时器初始化TH0=(65536-100)/256;//给定时器赋值TL0=(65536-100)%256;//给定时器赋值EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器开始计数whil
3、e(1){while(!flay){pwm++;//pwm表示占空比delay(20);//延时大约20毫秒保证pwm每增加一次都会进入中断if(pwm==100)flay=1;}//上面这段代码占空比增加//下面这段代码占空比减少while(flay){pwm--;delay(20);if(pwm==1)flay=0;}}}voiddelay(uintm)//大概延时m毫秒{uinti,j;for(i=0;i4、1;i++)for(j=0;j<1;j++);}voidtime()interrupt1{//每100微秒进入一次中断TH0=(65536-100)/256;TL0=(65536-100)%256;if(aa==pwm){led=1;//熄灭8个led灯}aa++;if(aa==100)//周期为10毫秒{aa=0;if(pwm!=0)led=0;//点亮8个了的等}}
4、1;i++)for(j=0;j<1;j++);}voidtime()interrupt1{//每100微秒进入一次中断TH0=(65536-100)/256;TL0=(65536-100)%256;if(aa==pwm){led=1;//熄灭8个led灯}aa++;if(aa==100)//周期为10毫秒{aa=0;if(pwm!=0)led=0;//点亮8个了的等}}
此文档下载收益归作者所有