电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

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

来源:-- 作者:-- 浏览:408

标签:

摘要: 任务: 1、横排流水 2、竖排流水 3、斜排流水 1、横排流水 源程序: /******************************************************************************* 作者:刘海涛 版本:第一次 日期:2010年7月23日 描叙:流水灯 顺序P0、P1、P2、P3

    任务:
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);
  }
 }
}

   


 

    3、斜流水 源程序:

    /*******************************************************************************
作者:刘海涛
版本:第一次
日期:2010年7月23日
描叙:流水灯,斜着走
*******************************************************************************/

 

    /**********************************头文件**************************************/
#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 int i,a,b,c;

     while(1)
 {
 for(i=0;i<=7;i++)
  {
 
  P0=0x01<<i;
  delay(100);
  a=i+1;
  if(a>=8)
    {
        a=i-8;
  }
   
  P1=0x01<<a;
  delay(100);
  b=i+2;
  if(b>=8)
    {
  b=b-8;
  }
      P2=0x01<<b;
  delay(100);
  c=i+3;
      if(c>=8)
    {
  c=c-8;
  }
  P3=0x01<<c;
  delay(100);
  }
    }
 
}
 

     

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67