当前位置:文档之家› 51单片机呼吸灯程序

51单片机呼吸灯程序

#include
#define uint unsigned int
#define uchar unsigned char
/* ---------------------------------------------------------
51单片机 呼吸灯
基于郭天祥51单片机实验开发板,Led灯接单片机P1口
设亮暗周期为T,点亮时间为light,熄灭时间为T-light
根据亮暗时间light/(T-light) 的不同,led的亮度会发生变化,
将亮暗控制在人眼不可分辨的频率下,让Light的值不断增加再不断减小
如此循环,即可实现灯的亮度渐变,即呼吸灯的效果
Mr.Gao
Xaut
2014.9
Build with Keil μVisio4
stc89c52rc
--------------------------------------------------------------
*/
#define T 80 /*设置闪烁周期*/
void delay(uint time) /*延时程序*/
{
uchar a,b;
for(a=time;a>0;a--)
for(b=110;b>0;b--);
}
void main(void)
{
uint light;
while(1)
{
P1=0;
delay(light);
P1=0xff;
delay(T-light);

light++; /*light递增,灯逐渐变亮*/
if(light==T) /*达到亮度最大后开始逐渐变暗*/
{
for(;light>0;light--) /*跳出for循环的条件为light=0达到最暗*/
{
P1=0;
delay(light);
P1=0xff;
delay(T-light);
}
}
}
}

相关主题
文本预览
相关文档 最新文档