⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 well light electrocircuit.c

📁 节能调光控制
💻 C
字号:
#include<reg51.h>
typedef	unsigned	char	byte;
typedef	unsigned	int		word;
sbit	out=P0^0;
sbit	off_on=P1^0;
sbit	key_add=P1^01;
sbit	key_subb=P1^02;
bit		sign_off_on;
bit		most;
bit		least;
byte	show;
byte	parameter;
word	m;

void delay(word	i)
{	
 m=0;
 for(m=0;m<i;m++)
	{
	 TR1=1;
	 if(TF0==0);
	 TF0=0;
	}
 TR1=0;
 return;
}

void main()
{	
 TMOD=0x22;
 TH1=231;
 TL1=231;
 TH0=125;	
 TL0=125;
 EA=1;
 IT0=1;
 ET0=1;
 parameter=40;
 show=parameter;
 most=0;
 least=0;
 sign_off_on=0;

 while(1)
	 {
	  EX0=sign_off_on;
	  if(sign_off_on==0)
		{
		 out=1;
		 if(off_on==0)
		   {
			delay(m=800);
			if(off_on==0)
			  {
			   sign_off_on=!sign_off_on;
			   while(off_on==0);		
			  }
		  }
	    }
 		else{   // sign_off_on==1	
		 	 if(off_on==0)
				{
				 delay(m=800);
				 if(off_on==0)
				   {
				    sign_off_on=!sign_off_on;
					while(off_on==0);		
				   }
			    }
			   	else{//off_on==1
					 if(key_add==0)
						{
						 delay(m=1600);
						 if(key_add==0)
						   {	
							if(least==0)
							  {
							   most=0;
							   parameter--;
							   if(parameter==4)	least=1;
							  }
					        delay(m=800);
						   }
					     }					
					     else if(key_subb==0)//key_add==1
						        {
							     delay(m=1600);
							     if(key_subb==0)
								   {	
									if(most==0)
									  {
									   least=0;								
									   parameter++;
									   if(parameter==95) most=1;
									  }
							        delay(m=800);						 									   							
								   }								
						        }					
																																										
				  }
			}		
	}
}

void timer(void) interrupt	0
{
 TR0=1;
 if(show==0)
   {
    show=parameter;
	out=0;
	TR0=0;
	delay(m=1);
	out=1;
   }

}

void t0_int(void) interrupt	1
{
 show--;
}

⌨️ 快捷键说明

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