/*********************************************************************************************************
** 工程功能 :呼吸燈實驗
** 工程作者 :Blue Sky Teams——ZZL
** 工程版本 :V1.0
** 工程說明 :此程序為PWM(脈寬調制)的應用之一,詳細的原理會在后面講解PWM模塊程序的時候介紹
**
*********************************************************************************************************/
#include<STC12C5A60S2.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED0 = P0^0; //定義呼吸燈連接的端口
/*********************************************************************************************************
** 函數功能 :延時函數
** 函數說明 :利用軟件延時,占用CPU
** 入口參數 :time:需要延時的時間
** 出口參數 :無
*********************************************************************************************************/
void Delay(uint time)
{
uint i;
for(i = time;i> 0;i --);
}
void main()
{
uint temp , i;
while(1)
{
//通過不斷循環連續改變輸出脈沖的占空比來調整供給LED燈的支流功率,如脈沖占空比越大,脈沖的直流功率越大
for(temp = 0;temp <= 300;temp ++)
{
for(i=0;i<10;i++)
{
LED0 = 1;
Delay(temp);
LED0 = 0;
Delay(300-temp);
}
}
for(temp = 300;temp > 0;temp--)
{
for(i=0;i<10;i++)
{
LED0 = 1;
Delay(temp);
LED0 = 0;
Delay(300-temp);
}
}
}
}
/************************** (C) COPYRIGHT 2011 Blue Sky Teams *****END OF FILE*****************************/
|