微控梦想

搜索:
您的位置: 首页 > 单片机 > » 正文

实现横排流水灯和竖排流水灯效果

时间:   来源:嵌入网   作者:佚名   阅读:

任务:
1、横排流水
2、竖排流水
3、斜排流水
1、横排流水 

源程序:
/*******************************************************************************
作者:刘海涛
版本:第一次
日期:2010年7月23日
描叙:流水灯 顺序P0、P1、P2、P3先后从0到7bit
*******************************************************************************/


/**********************************头文件**************************************/
#include"reg52.h"
/******************************************************************************/


/*******************************************************************************
函数名:delay(),延时函数。
宏定义:无
输  入:无
输  出:无
*******************************************************************************/
delay(unsigned int dat)   //函数定义
{
 unsigned int i,j;
 for(i=0;i<=dat;i++)
   {
    for(j=0;j<=20000;j++);
   }
}

void main(void)     //主函数
{
 unsigned char i;
 while(1)     //循环
 {
  for(i=0;i<8;i++)
  { 
   P0=0x01<<i;
   delay(100);
  }
      for(i=0;i<8;i++)
  { 
   P1=0x01<<i;
   delay(100);
  }      
  for(i=0;i<8;i++)
  { 
   P2=0x01<<i;
   delay(100);
  }      
  for(i=0;i<8;i++)
  { 
   P3=0x01<<i;
   delay(100);
  }      
 }
}

2、竖排流水  源程序:

/*******************************************************************************
作者:刘海涛
版本:第一次
日期:2010年7月23日
描叙:流水灯,竖着走,即P0到P3循环依次走1 bit
******************************************************************************/

/******************************************************************************/
#include"reg52.h"
/******************************************************************************/
/*******************************************************************************
函数名:delay(),延时函数
宏定义:无
输入:无
输出:无
******************************************************************************/
delay(unsigned int dat)   //延时函数定义
{
 unsigned int i,j;
 for(i=0;i<=dat;i++)
 {
  for(j=0;j<=20000;j++);
 }

}
void main(void)     //主函数
{
 unsigned char i;
 while(1)
 {
  for(i=0;i<=7;i++)
  {
  P0=0x01<<i;
  delay(100);
 
  P1=0x01<<i;
  delay(100);
 
  P2=0x01<<i;
  delay(100);
 
  P3=0x01<<i;
  delay(100);
  }
 }
}


------------ ---------- ----------- ---------- --------- -------- ------- ------ ----- ---- --- -- -  -  -