/*********************************************************************************************************
** 工程功能 :呼吸灯实验
** 工程作者 :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*****************************/
|