一、可调光可关闭
#include <REG51.H>
#define OFF 1
#define ON 0
sbit light=P1^0;
sbit light_up=P0^0;
sbit light_down=P0^1;
void delay(unsigned int i)
{
unsigned int k;
for(k=0;k<i;k++);
}
void main()
{
int i,j;
i=0;
j=500;
while(1)
{
if(i!=0) //先判断在熄灭
light=ON;
delay(i);
light=OFF;
delay(j);
if(light_up==0)
{
delay(100);
if(light_up==0)
{
j--;i++;
if(j==0)
{
j=500;i=0;
}
}
}
if(light_down==0)
{
delay(100);
if(light_down==0)
{
j++;i--;
if(j==0)
{
i=500;j=0;
}
}
}
}
}
二、只可调光
#include <REG51.H>
#define OFF 1
#define ON 0
sbit light=P1^0;
sbit light_up=P0^0;
sbit light_down=P0^1;
void delay(unsigned int i)
{
unsigned int k;
for(k=0;k<i;k++);
}
void main()
{
int i,j;
i=0;
j=500;
while(1)
{
light=ON;
delay(i);
light=OFF;
delay(j);
if(light_up==0)
{
delay(100);
if(light_up==0)
{
j--;i++;
if(j==0)
{
j=500;i=0;
}
}
}
if(light_down==0)
{
delay(100);
if(light_down==0)
{
j++;i--;
if(j==0)
{
i=500;j=0;
}
}
}
}
}
仿真百度网盘自取
链接:https://pan.baidu.com/s/1VZf1vfGFXAgWXgk8R3Mrlg
提取码:2222