|
#include<reg52.h>
#define uint unsigned int
#define led1 P1//P1口全接發(fā)光管,驗(yàn)證程序請(qǐng)自行修改
/**********占空比太小會(huì)熄滅,故一開(kāi)始有3.3%,最大占空比也看不出變化了,故最大為80%**********/
void delay (uint yc) //延遲函數(shù),定時(shí)器中斷更好,這里就偷懶了
{
uint i,j;
for (i=yc;i>0;i--)
for (j=10;j>0;j--);
}
void main()
{
uint i=5,n=0; //此處初始化i不得小于最小占空比
while(1)
{
if(i==120) //調(diào)節(jié)最大占空比
n=1;
if(i==4) //最小占空比
n=0;
led1=0x00;//此處自行修改
delay(i);
led1=0xff;//此處自行修改
delay(150-i);//半周期時(shí)間
if(n==0)
i++;
if(n==1)
i--;
}
}
呼吸燈,建議樓主仔細(xì)理解一下PWM的含義,簡(jiǎn)單說(shuō)PWM是固定時(shí)間長(zhǎng)度的周期內(nèi),高低電平占時(shí)間比的變化量。 |
|