心形流水灯

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

流水灯程序

申明:此代码用于学习交流,禁止用于商业用途!

//====================================蓝色之心==================================================

//名称:蓝色之心

//文件功能:流水灯移动

//修改时间:2014年5月18日

//修改人:刘祚东

//说明:1T单片机12M晶振

//===================================================================== =========================

main.c

#include "STC12C5A60S2.H"

#include "typedef.h"

#include "led.h"

#include "water.h"

void main()

{

while(1)

{

LED_0(5);//运算方式流水灯

dropWater(50); //水滴效果流水灯

}

}

typedef.h

#ifndef _typedef

#define _typedef

typedef unsigned char uchar;

typedef unsigned char uchar8;

typedef unsigned char Byte;

typedef unsigned int uint;

typedef unsigned int uchar16;

typedef unsigned int Word;

#endif

led.h

#ifndef _led

#define _led

void Delay_1ms(uint Time); //误差0us

void P0LED_LeftShift(uint Time);//LED左移

void P1LED_LeftShift(uint Time);//LED左移

void P2LED_LeftShift(uint Time);//LED左移

void P3LED_LeftShift(uint Time);//LED左移

void P0LED_RightShift(uint Time);//LED右移

void P1LED_RightShift(uint Time);//LED右移

void P2LED_RightShift(uint Time);//LED右移

void P3LED_RightShift(uint Time);//LED右移

void P0_LeftShift(uint Time);//LED左移流水

void P1_LeftShift(uint Time);//LED左移流水

void P2_LeftShift(uint Time);//LED左移流水

void P3_LeftShift(uint Time);//LED左移流水

void P0_RightShift(uint Time);//LED右移流水

void P1_RightShift(uint Time);//LED右移流水

void P2_RightShift(uint Time);//LED右移流水

void P3_RightShift(uint Time);//LED右移流水

void P0P1LED_DownShift(uint Time);//LED向下

void P2P3LED_DownShift(uint Time);//LED向下

void P0P1_DownShift(uint Time);//LED向下流水

void P2P3_DownShift(uint Time);//LED向下流水

void P0P1LED_UpShift(uint Time);//LED向上

void P2P3LED_UpShift(uint Time);//LED向上

void P0P1_UpShift(uint Time);//LED向上流水

void P2P3_UpShift(uint Time);//LED向上流水

void P0P1P2P3_flicker(uint Time);//LED全闪烁

void P0P1P2P3_downShift(uint Time);//LED四组同时向下移动

void P0P1P2P3_upShift(uint Time);//LED四组同时向上移动

void P0123_RightShift(uint Time);//LED向右顺时针旋转

void P0123_LeftShift(uint Time);//LED向左顺时针旋转

void LED_0(uint time);//流水灯函数

#endif

led.c

#include "STC12C5A60S2.H"

#include "intrins.h"

#include "typedef.h"

//===================================================================== =========================

//函数名称:延时函数

//功能:1ms*Time延时

//入口参数:Time

//出口函数:

//编写(修改)时间:2014年5月18日

//编写(修改)人:刘祚东

//备注:1T单片机12M晶振

//===================================================================== =========================

void Delay_1ms(uint Time) //误差0us

{

unsigned char a,b;

uint c;

for(c=Time;c>0;c--)

for(b=129;b>0;b--)

for(a=43;a>0;a--);

}

//===================================================================== =========================

//函数名称:LED移动函数

//功能:P0LED左移

//入口参数:Time

//出口函数:

//编写(修改)时间:2014年5月18日

//编写(修改)人:刘祚东

//备注:1T单片机12M晶振

//===================================================================== =========================

void P0LED_LeftShift(uint Time)

{

uchar a=0xfe,i;

for(i=0;i<8;i++)

{

P0=a;

Delay_1ms(Time);

a<<=1;

a|=1;

}

P0 =0XFF;

}

//===================================================================== =========================

//函数名称:LED移动函数

//功能:P1LED左移

//入口参数:Time

相关文档
最新文档