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

📄

📁 这是一个三色LED灯控制程序
💻
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit BB=P2^7;//蜂鸣器
uchar key; ////取键值单元
uint data ji_msa;// 1豪秒加1单元
uint data ji_msb;////闪烁计时单元
uint data ji_msc;////闪烁计时单元

uchar data Hight_Set;//亮度设定值。
uchar data Hight_i;//亮度控制计数器。
bit        ShanShuo_bit;//闪烁控制标记位。
uint  data ShanShuo_i;//闪烁计时单元

uchar data Hight_SetB;//亮度设定值。
uchar data Hight_iB;//亮度控制计数器。
bit        ShanShuo_bitB;//闪烁控制标记位。
uint  data ShanShuo_iB;//闪烁计时单元

uchar data Hight_SetC;//亮度设定值。
uchar data Hight_iC;//亮度控制计数器。
bit        ShanShuo_bitC;//闪烁控制标记位。
uint  data ShanShuo_iC;//闪烁计时单元

uchar AUTO_A;//---------------1灯RGB循环亮开关
uchar AUTO_B;//---------------2灯RGB循环亮开关
uchar AUTO_C;//---------------3灯RGB循环亮开关

uchar ledone_open;  ////1灯总开关
uchar ledtwo_open;//////2灯总开关
uchar ledthree_open;////3灯总开关
uchar shanone;   /////灯1闪动标志///
uchar shantwo;    /////灯2闪动标志///
uchar shanthree;  /////灯3闪动标志///
uchar danse_one;  //1灯单色切换
uchar danse_two;  //2灯单色切换
uchar danse_three;//3灯单色切换
sbit R1=P2^2;
sbit G1=P2^3;///one light 引脚定仪
sbit B1=P3^2;
//------------
sbit R2=P3^3;
sbit G2=P3^4;///two light 引脚定仪
sbit B2=P3^5;
//---------------

sbit R3=P2^4;
sbit G3=P2^5; ////three light 引脚定仪
sbit B3=P2^6;
///////。。。。。。。。。。。。。。。。。。。。。?
sbit D1=P2^0;
sbit D2=P2^1;///电疗 引脚定仪

///////-------------------------
void Delay(uint i)     ////////延时涵数
{ 
     uint j;
       for(;i>0;i--)
       for(j==0;j<125;j++)
      {;}
}



///=------------------------------------------------------------------------------------------------------------------                                 /////500毫秒///#####################
      
                                                

                                         
 

uchar cankey()///按键函数
{
    uchar a;
	unsigned long b;
    uchar kk=0;
    uchar pook=11; 


    P1=0xff;
    P3=P3|0x80;

    a=0xff;
	if((P1&0x01)==0)a=1;
	if((P1&0x02)==0)a=2;
	if((P1&0x04)==0)a=3;
	if((P1&0x08)==0)a=4;
	if((P1&0x10)==0)a=5;
	if((P1&0x20)==0)a=6;
	if((P1&0x40)==0)a=7;
	if((P1&0x80)==0)a=8;
	if((P3&0x80)==0)a=9;
	if(a<0xff)
	{
	    a=0xff;
	    for(b=0;b<2000;b++);
        if((P1&0x01)==0)a=1;
	    if((P1&0x02)==0)a=2;
    	if((P1&0x04)==0)a=3;
	    if((P1&0x08)==0)a=4;
    	if((P1&0x10)==0)a=5;
	    if((P1&0x20)==0)a=6;
    	if((P1&0x40)==0)a=7;
	    if((P1&0x80)==0)a=8;
    	if((P3&0x80)==0)a=9;
	}
    /*
	if(a<0xff)BB=0;
	for(b=0;b<9000;b++);
	BB=1;
   */
    return a;
	
}


////////////////////////////////////键值出理
uchar openkey(uchar k)
{   
   
        switch(k)
        {

             case  6:         //////LED 1 开/关
                   ledone_open++;
                   D1=0;
                   if(ledone_open==1)
			       { 
				        Hight_Set=1;//亮度设定值。 
				   }
                   if(ledone_open==2)
				   { 
					     Hight_Set=2;//亮度设定值。
				   }
				   if(ledone_open==3)
				   { 
					     Hight_Set=3;//亮度设定值。
				   }
                   if(ledone_open==4)
                   {
					     ledone_open=0;
					     D1=1;                               
                         R1=0;
                         G1=0;
                         B1=0;
						 AUTO_A=0;
						 shanone=0;
						 danse_one=0;
                         Hight_Set=0;
                    }
		     break;
             case 2:         //////LED 2 开/关
                     ledtwo_open++;
                     D2=0;
				     if(ledtwo_open==1)
			         { 
				        Hight_SetB=1;//亮度设定值。 
				     }
                     if(ledtwo_open==2)
				     { 
					     Hight_SetB=2;//亮度设定值。
				     }
				     if(ledtwo_open==3)
				     { 
					     Hight_SetB=3;//亮度设定值。
				     }
                     if(ledtwo_open==4)
                     {
					     ledtwo_open=0;
                         D2=1;
                         R2=0;
                         G2=0;
                         B2=0;
						 AUTO_B=0;
						 shantwo=0;
						 danse_two=0;
						  Hight_SetB=0;
                     }
			 break;
             case 4:         //////LED 3开/关
                     ledthree_open++;
                     if(ledthree_open==1)
			         { 
				        Hight_SetC=1;//亮度设定值。 
				     }
                     if(ledthree_open==2)
				     { 
					     Hight_SetC=2;//亮度设定值。
				      }
				      if(ledthree_open==3)
				      { 
					     Hight_SetC=3;//亮度设定值。
				      }
                     
                      if(ledthree_open==4)
                      {
                         ledthree_open=0;
                         R3=0;
                         G3=0;
                         B3=0;
						 AUTO_C=0;
						 shanthree=0;
						 danse_three=0;
						  Hight_SetC=0;
                      }
			 break;
             case 8:      ////灯1闪烁
                      
                            shanone++;
                            if(shanone==1)ShanShuo_bit=1;//闪烁控制标记位

⌨️ 快捷键说明

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