单片机心型流水灯程序.docx

上传人:b****4 文档编号:3181217 上传时间:2022-11-19 格式:DOCX 页数:35 大小:19.12KB
下载 相关 举报
单片机心型流水灯程序.docx_第1页
第1页 / 共35页
单片机心型流水灯程序.docx_第2页
第2页 / 共35页
单片机心型流水灯程序.docx_第3页
第3页 / 共35页
单片机心型流水灯程序.docx_第4页
第4页 / 共35页
单片机心型流水灯程序.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

单片机心型流水灯程序.docx

《单片机心型流水灯程序.docx》由会员分享,可在线阅读,更多相关《单片机心型流水灯程序.docx(35页珍藏版)》请在冰豆网上搜索。

单片机心型流水灯程序.docx

单片机心型流水灯程序

#include

#defineuintunsignedint

#defineucharunsignedchar

ucharcodetable0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED从低位往高位移

ucharcodetable1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED从高位往低位移

ucharcodetable2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED从1个亮到8个都点亮(从低位往高位)

ucharcodetable3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED从1个亮到8个都点亮(从高位往低位)

ucharcodetable4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED从8个全亮到一个都不亮(从低位往高位)

ucharcodetable5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED从8个全亮到一个都不亮(从高位往低位)

ucharcodetable6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED从低位往高位移(最低位始终为0)

ucharcodetable7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED从高位往低位移(最高位始终为0)

uchari,j;//定义循环变量

uinttt=70;//定义时间指数

voiddelay(uinttime)//延时函数

{

uintx,y;

for(x=time;x>0;x--)

for(y=110;y>0;y--);

}

voiddisp0()//状态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);

}

}

voiddisp1()//状态1LED顺时针转一圈

{

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;

}

voiddisp2()//状态2LED逆时针转一圈

{

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;

}

voiddisp3()//状态34个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;

}

voiddisp4()//状态42个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;

}

voiddisp5()//状态52个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;

}

voiddisp6()//状态6LED自上而下逐渐点亮(一半点亮一半不亮)

{

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;

}

voiddisp7()//状态7LED自下而上逐渐点亮(直到全部点亮)

{

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);

}

}

voiddisp8()//状态8间断8格的4个LED亮并逆时针旋转

{

for(j=0;j<2;j++)

{

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

{

P0=table1[i];

P2=table0[i];

P1=table0[i];

P3=table0[i];

delay(100);

}

P0=0xff;P2=0xff;P1=0xff;P3=0xff;

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

{

P0=table1[i];

P2=table0[i];

P1=table0[i];

P3=table0[i];

delay(100);

}

P0=0xff;P2=0xff;P1=0xff;P3=0xff;

}

}

voiddisp9()//状态9间断8格的4个LED亮,然后逆时针逐渐点亮(直到全部点亮)

{

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

{

P0=table3[i];

P2=table2[i];

P1=table2[i];

P3=table2[i];

delay(100);

}

delay(500);

}

voiddisp10()//状态10从LED全部亮到全不亮(间断8格的4个LED开始逆时针熄灭)

{

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

{

P0=table5[i];

P2=table4[i];

P1=table4[i];

P3=table4[i];

delay(100);

}

delay(300);

}

voiddisp11()//状态11间断8格的4个LED亮并顺时针旋转

{

for(j=0;j<2;j++)

{

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

{

P0=table0[i];

P2=table1[i];

P1=table1[i];

P3=table1[i];

delay(100);

}

P0=0xff;P2=0xff;P1=0xff;P3=0xff;

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

{

P0=table0[i];

P2=table1[i];

P1=table1[i];

P3=table1[i];

delay(100);

}

P0=0xff;P2=0xff;P1=0xff;P3=0xff;

}

}

voiddisp12()//间断8格的4个LED亮,然后顺时针逐渐点亮(直到全部点亮)

{

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

{

P0=table2[i];

P2=table3[i];

P1=table3[i];

P3=table3[i];

delay(100);

}

delay(1000);

}

voiddisp13()//状态13从LED全部亮到全不亮(间断8格的4个LED开始顺时针熄灭)

{

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

{

P0=table4[i];

P2=table5[i];

P1=table5[i];

P3=table5[i];

delay(100);

}

delay(300);

}

voiddisp14()//状态14从LED不亮到全亮(从P0.0、P1.0、P2.0、P3.7开始逐步点亮)

{

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

{

P0=table2[i];

P1=table2[i];

P2=table2[i];

P3=table3[i];

delay(100);

}

}

voiddisp15()//状态15从LED全亮到全不亮(从P0.7、P1.7、P2.7、P3.0开始逐步熄灭)

{

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

{

P0=table5[i];

P1=table5[i];

P2=table5[i];

P3=table4[i];

delay(100);

}

delay(300);

}

voiddisp16()//状态16LED灯交替闪烁(频率有慢变快)

{

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

{

P0=0xaa;P1=0xaa;P2=0xaa;P3=0xaa;

delay(100);

P0=~P0;P1=~P1;P2=~P2;P3=~P3;

delay(100);

}

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

{

P

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1