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

📄 light.c

📁 流水灯
💻 C
字号:

/********************************************************************
//模 块 名 :  流水灯演示程序子函数
//创 建 者 :  杨 勇	 
      日期 :   2007年4月29日 15:56				
//修 改 者 : 									
      日期 :
//功能描述 :  
//其他说明 :  22.1184MHz晶振 
//芯片型号 :   AT89S52
//配    置 : 
//版    本 :  V1.0
********************************************************************/


#include <reg52.h>                           //包含51单片机的头文件

#define uint unsigned int
#define uchar unsigned char

/* 流水灯与单片机接口定义
   LED1-------P1.0
   LED2-------P1.1
   LED3-------P1.2
   LED4-------P1.3
   LED5-------P1.4
   LED6-------P1.5
   LED7-------P1.6
   LED8-------P1.7
*/
//对P1口位定义
sbit LED1 =P1^0;
sbit LED2 =P1^1;
sbit LED3 =P1^2;
sbit LED4 =P1^3;
sbit LED5 =P1^4;
sbit LED6 =P1^5;
sbit LED7 =P1^6;
sbit LED8 =P1^7;


/////////////////////////////////
void LedDisplay1(void);
void LedDisplay2(void);
void LedDisplay3(void);
void LedDisplay4(void);
void LedDisplay5(void);
void LedDisplay6(void);
void LedDisplay7(void);
void LedDisplay8(void);
void LedDisplay9(void);
void LedDisplay10(void);


void Delay(uchar Delay);


/*=============================================================================
//函 数 名:  void LedDisplay1(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED一起闪动
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:10
===============================================================================*/
void LedDisplay1(void)
{
  uchar i;

  for(i=3;i>0;i--)
  {
	P1 =0xff;
    Delay(100);
    P1 =0x00;
    Delay(100);
  }
}
 

/*=============================================================================
//函 数 名:  void LedDisplay2(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向下闪动
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:15
========================== =====================================================*/
void LedDisplay2(void)
{
  uchar i;
  
  P1 =0xfe;
  for(i=7;i>0;i--)
  {	
    Delay(100);
	P1 <<=1;   
  }
}
 
/*=============================================================================
//函 数 名:  void LedDisplay3(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向上闪动
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:16
========================== =====================================================*/
void LedDisplay3(void)
{
  uchar i;
  
  P1 =0x7f;
  for(i=7;i>0;i--)
  {	
    Delay(100);
	P1 >>=1;   
  }
}


/*=============================================================================
//函 数 名:  void LedDisplay4(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向下闪灭	
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay4(void)
{
  uchar i;
  
  P1 =0x01;
  for(i=7;i>0;i--)
  {	
    Delay(100);
	P1 <<=1;   
  }
}
 
/*=============================================================================
//函 数 名:  void LedDisplay5(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向上闪灭	
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay5(void)
{
  uchar i;
  
  P1 =0x80;
  for(i=7;i>0;i--)
  {	
    Delay(100);
	P1 >>=1;   
  }
}

/*=============================================================================
//函 数 名:  void LedDisplay6(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED一起闪动(快速)
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:10
===============================================================================*/
void LedDisplay6(void)
{
  uchar i;

  for(i=3;i>0;i--)
  {
	P1 =0xff;
    Delay(30);
    P1 =0x00;
    Delay(30);
  }
}
  
/*=============================================================================
//函 数 名:  void LedDisplay7(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向下闪动(快速)
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:15
========================== =====================================================*/
void LedDisplay7(void)
{
  uchar i;
  
  P1 =0xfe;
  for(i=7;i>0;i--)
  {	
    Delay(30);
	P1 <<=1;   
  }
}

/*=============================================================================
//函 数 名:  void LedDisplay8(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向上闪动(快速)
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:16
========================== =====================================================*/
void LedDisplay8(void)
{
  uchar i;
  
  P1 =0x7f;
  for(i=7;i>0;i--)
  {	
    Delay(30);
	P1 >>=1;   
  }
}


/*=============================================================================
//函 数 名:  void LedDisplay9(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向下闪灭(快速)	
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay9(void)
{
  uchar i;
  
  P1 =0x01;
  for(i=7;i>0;i--)
  {	
    Delay(30);
	P1 <<=1;   
  }
}
 
/*=============================================================================
//函 数 名:  void LedDisplay10(void)
//参    数:  无
//返 回 值:  无
//函数功能:  8个LED轮流向上闪灭(快速)	
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay10(void)
{
  uchar i;
  
  P1 =0x80;
  for(i=7;i>0;i--)
  {	
    Delay(30);
	P1 >>=1;   
  }
}

/*=============================================================================
//函 数 名:  void Delay(uchar Delay)
//参    数:  延时时间
//返 回 值:  无
//函数功能:  延时函数
//编 写 者:  杨 勇
//编写日期:  2007年4月29日 16:05
===============================================================================*/
void Delay(uchar Delay)
{
  uint i;					    
  for(;Delay>0;Delay--)
  {
    for(i=1000;i>0;i--);
  }

}

⌨️ 快捷键说明

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