*【使用说明】: 利用定时器控制产生占空比可变的PWM波按K3,PWM值增加,则占空比减小,LED灯渐亮按K4,PWM值减小,则占空比增加,LED灯渐暗当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警**********************************************************************************/#include<>#include<>sbitK1=P3^4;//PWM值增加键sbitK2=P3^5;//PWM值减少键sbitBEEP=P0^4;//蜂鸣器unsignedcharPWM=0x7f;//赋初值voidBeep();voiddelayms(unsignedcharms);voiddelay(unsignedchart);/*********************************************************/voidmain(){P1=0xff;TMOD=0x21; TH0=0xfc;//1ms延时常数TL0=0x66;//频率调节TH1=PWM;//脉宽调节TL1=0; EA=1; ET0=1; ET1=1;TR0=1;while(1){ do{ if(PWM!=0xff) {PWM++;delayms(10);}elseBeep(); }while(K1==0); do{if(PWM!=0x02) {PWM--;delayms(10);}elseBeep(); }while(K2==0);}}/*********************************************************///定时器0中断服务程序(频率)/*********************************************************/voidtimer0()interrupt1{TR1=0;TH0=0xfc;TL0=0x66;TH1=PWM;TR1=1;P1=0x00;//启动输出}/*********************************************************///定时器1中断服务程序(脉宽)/*********************************************************/voidtimer1()interrupt3{TR1=0;P1=0xff;//结束输出}/*********************************************************///蜂鸣器子程序/*********************************************************/voidBe
LED呼吸灯C51源程序 来自淘豆网m.daumloan.com转载请标明出处.