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

📄 main.c

📁 彩色灯光系统控制程序C51格式写当然很好
💻 C
字号:
#include "reg2051.h"
/**********************************************************

**********************************************************/
#define  delay1  20
#define  delay2  100
#define  delay3  140
#define  delay4  200
/**********************************************************

**********************************************************/
void S_Hua_led(unsigned int delay);
void One_Channel_led(unsigned int delay);
void S_Zi_led(unsigned int delay);
void Delay1MS(unsigned int count);
/***********************************************************
* 名称:void main(void)
* 功能:显示各种各样的流水灯数据
* 入口参数:无
* 出口参数:无
***********************************************************/
void main(void)
{ 
  unsigned char i;
  P1 = 0x00;
  P3 = 0xff;
  while(1)
  {
        for(i = 0;i<40;i++)
        {    
     	     if(i<20)
             One_Channel_led(delay4); //一路一路循环显示彩灯
	         else
             One_Channel_led(delay2);
         }
        for(i = 0;i<40;i++)
        { 
             if(i<20)
             S_Hua_led(delay4);
     	     else
             S_Hua_led(delay3);
         }
        for(i = 0;i<40;i++)
        {
             if(i<20)
             S_Zi_led(delay4);
   	         else
             S_Zi_led(delay2);
        }
        for(i =0;i<40;i++)
        {
            One_Channel_led(delay4);
            S_Hua_led(delay4);
            S_Zi_led(delay4);
        }
	}
}  

/***********************************************************
* 名称:S_Hua_led(unsigned int delay)
* 功能:
* 入口参数:无
* 出口参数:无
***********************************************************/
void S_Hua_led(unsigned int delay)
{
  P1 = 0x00;
  P3 = 0xff;

  P3 = 0x00;
  P1 = 0x04;   
  Delay1MS(delay);

  P1 = 0x08; 
  Delay1MS(delay);

  P1 = 0x10; 
  Delay1MS(delay);

  P1 = 0x20; 
  Delay1MS(delay);

  P1 = 0x40; 
  Delay1MS(delay);
  
  P1 = 0x80; 
  Delay1MS(delay);

  P1 = 0x00;
  P3 = 0xff;
}
/***********************************************************
* 名称:One_Channel_led(unsigned int delay)
* 功能:一路一路循环显示彩灯
* 入口参数:无
* 出口参数:无
***********************************************************/
void One_Channel_led(unsigned int delay)
{
  P1 = 0x00;
  P3 = 0xff;
  
  P1 = 0xff;
  P3 = 0xfe;
  Delay1MS(delay);

  P3 = 0xfd;
  Delay1MS(delay);

  P3 = 0xfb;
  Delay1MS(delay);

  P3 = 0xf7;
  Delay1MS(delay);

  P3 = 0xef;
  Delay1MS(delay);

  P3 = 0xdf;
  Delay1MS(delay);

  P1 = 0x00;
  P3 = 0xff;
}
/***********************************************************
* 名称:S_Zi_led(unsigned int delay)
* 功能:
* 入口参数:无
* 出口参数:无
***********************************************************/
void S_Zi_led(unsigned int delay)
{
   P1 = 0x00;
   P3 = 0xff;

   P1 = 0xff;
   P3 = 0xde;
   Delay1MS(delay);

   P3 = 0xed;
   Delay1MS(delay);

   P3 = 0xf3;
   Delay1MS(delay);

   P1 = 0x00;
   P3 = 0xff;
}
/***********************************************************
* 名称:Delay1ms(unsigned int count)
* 功能:延时函数。
* 入口参数:无
* 出口参数:无
***********************************************************/
void Delay1MS(unsigned int count)
{
   unsigned int i,j;
   for(i=0;i<count;i++)
   for(j=0;j<120;j++);
}

⌨️ 快捷键说明

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