渐明渐暗彩灯.c

来自「LED逐渐点亮再逐渐熄灭」· C语言 代码 · 共 46 行

C
46
字号
#include   <AT89X52.h>
sbit LED=P2^0;		  //定义P1.0为LED控制口,低电平使能
void delay (unsigned int d)	  //延时功能函数,由d决定延时长度
{	
	unsigned char i;
	while( --d != 0)
	{
		for(i = 0; i < 2; i++);
	}   				   
}
/*************************************************************
* 主函数 *
实验板上连接到P2.0上的LED逐渐点亮再逐渐熄灭
/*************************************************************/
void main (void)
{
	unsigned char a, b;//a控制延时长度 b控制循环周期
	while (1)
	{
		LED = 1;
		a = 0x00;
        for (b=250; b>0; b--)
		{
         	a++;
			delay (a);		//延时长度随a而改变
			LED = 0;
         	a = ~a;			//a值取反,决定灯灭时的占空比
         	delay (a);
			LED = 1;
			a = ~a;			//a值取反 使a回到原值继续循环
         }
		LED = 0;			//亮起LED
		a = 0x00;
		for (b=250; b>0; b--)
		{
			a++;
			delay (a);
			LED = 1;
			a = ~a;
			delay (a);
			LED = 0;
			a = ~a;
		}
		LED = 1;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?