资源简介

51单片机 心形花样 流水灯程序 有需要可自行 下载修改

资源截图

代码片段和文件信息

#include 
#define uint unsigned int
#define uchar unsigned char
uchar code table0[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};//LED从低位往高位移
uchar code table1[]={0x7f0xbf0xdf0xef0xf70xfb0xfd0xfe};//LED从高位往低位移
uchar code table2[]={0xfe0xfc0xf80xf00xe00xc00x800x00};//LED从1个亮到8个都点亮(从低位往高位)
uchar code table3[]={0x7f0x3f0x1f0x0f0x070x030x010x00};//LED从1个亮到8个都点亮(从高位往低位)
uchar code table4[]={0x000x010x030x070x0f0x1f0x3f0x7f0xff};//LED从8个全亮到一个都不亮(从低位往高位)
uchar code table5[]={0x000x800xc00xe00xf00xf80xfc0xfe0xff};//LED从8个全亮到一个都不亮(从高位往低位)
uchar code table6[]={0xfe0xfc0xfa0xf60xee0xde0xbe0x7e};//LED从低位往高位移(最低位始终为0)
uchar code table7[]={0x7f0x3f0x5f0x6f0x770x7b0x7d0x7e};//LED从高位往低位移(最高位始终为0)
uchar ij; //定义循环变量
uint tt=70; //定义时间指数
void delay(uint time) //延时函数
{
uint xy;
for(x=time;x>0;x--)
for(y=110;y>0;y--);
}

void disp0() //状态0 所有LED闪烁3次
{
for(i=0;i<3;i++)
{
P0=0x00; P2=0x00; P3=0x00; P1=0x00;
delay(300);
P0=0xff; P2=0xff; P3=0xff; P1=0xff;
delay(300);
}
}

void disp1() //状态1 LED顺时针转一圈
{
for(i=0;i<8;i++)
{
P2=table1[i];
delay(100);
}
P2=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
delay(100);
}
P3=0xff;
for(i=0;i<8;i++)
{
P1=table1[i];        
delay(100);
}
P1=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
delay(100);
}
P0=0xff;
}

void disp2() //状态2 LED逆时针转一圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
delay(100);
}
P0=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
delay(100);
}
P1=0xff;
for(i=0;i<8;i++)
{
P3=table0[i];
delay(100);
}
P3=0xff;
for(i=0;i<8;i++)
{
P2=table0[i];
delay(100);
}
P2=0xff;
}

void disp3() //状态3 4个LED同时顺时、逆时针移动1/4圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
P1=table1[i];
P2=table1[i];
P3=table0[i];
delay(100);
}
for(i=0;i<8;i++)
{
P0=table0[i];
P1=table0[i];
P2=table0[i];
P3=table1[i];
delay(100);
}
P3=0xff; P0=0xff; 
}

void disp4() //状态4  2个LED同时顺时针移动半圈
{
for(i=0;i<8;i++)
{
P2=table1[i];
P1=table1[i];
delay(100);
}
P2=0xff; P1=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
P0=table0[i];
delay(100);
}
P3=0xff; P0=0xff;
}

void disp5() //状态5  2个LED同时逆时针移动半圈
{
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
delay(100);
}
P0=0xff; P3=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
P2=table0[i];
delay(100);
}
P1=0xff; P2=0xff;
}

void disp6() //状态6 LED自上而下逐渐点亮(一半点亮一半不亮)
{
for(i=0;i<8;i++)
{
P0=table3[i];
P2=table3[i];
delay(100);
}
P0=0xff; P2=0xff;
for(i=0;i<8;i++)
{
P1=table2[i];
P3=table3[i];
delay(100);
}
P1=0xff; P3=0xff;
}

void disp7() //状态7 LED自下而上逐渐点亮(直到全部点亮)
{
for(i=0;i<8;i++)
{
P1=table3[i];
P3=table2[i];
delay(100);
}
for(i=0;i<8;i++)
{
P0=table2[i];
P2=table2[i];
delay(100);
}
}

void disp8() //状态8 间断8格的4个LED亮并逆时针旋转
{
for(j=0;j<2;j++)
{

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      42706  2013-05-24 22:06  心形花样灯 程序\hyd

     文件      18915  2013-05-21 20:12  心形花样灯 程序\hyd.c

     文件      12614  2013-05-24 22:06  心形花样灯 程序\hyd.hex

     文件         54  2013-05-24 22:06  心形花样灯 程序\hyd.lnp

     文件      48419  2013-05-24 22:06  心形花样灯 程序\hyd.LST

     文件      55380  2013-05-24 22:06  心形花样灯 程序\hyd.M51

     文件      52342  2013-05-24 22:06  心形花样灯 程序\hyd.OBJ

     文件       1046  2013-05-24 14:00  心形花样灯 程序\hyd.Opt

     文件        397  2013-05-24 22:06  心形花样灯 程序\hyd.plg

     文件       2015  2013-05-07 22:57  心形花样灯 程序\hyd.Uv2

     文件       1047  2013-05-21 20:13  心形花样灯 程序\hyd_Opt.Bak

     文件          0  2013-05-07 22:19  心形花样灯 程序\hyd_Uv2.Bak

     文件       5115  2002-04-16 15:32  心形花样灯 程序\STARTUP.A51

     文件      11665  2013-05-24 22:06  心形花样灯 程序\STARTUP.LST

     文件        749  2013-05-24 22:06  心形花样灯 程序\STARTUP.OBJ

     目录          0  2014-09-02 10:00  心形花样灯 程序

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

               252464                    16


评论

共有 条评论