32位流水灯程序.docx

上传人:b****2 文档编号:1758747 上传时间:2023-05-01 格式:DOCX 页数:43 大小:123.36KB
下载 相关 举报
32位流水灯程序.docx_第1页
第1页 / 共43页
32位流水灯程序.docx_第2页
第2页 / 共43页
32位流水灯程序.docx_第3页
第3页 / 共43页
32位流水灯程序.docx_第4页
第4页 / 共43页
32位流水灯程序.docx_第5页
第5页 / 共43页
32位流水灯程序.docx_第6页
第6页 / 共43页
32位流水灯程序.docx_第7页
第7页 / 共43页
32位流水灯程序.docx_第8页
第8页 / 共43页
32位流水灯程序.docx_第9页
第9页 / 共43页
32位流水灯程序.docx_第10页
第10页 / 共43页
32位流水灯程序.docx_第11页
第11页 / 共43页
32位流水灯程序.docx_第12页
第12页 / 共43页
32位流水灯程序.docx_第13页
第13页 / 共43页
32位流水灯程序.docx_第14页
第14页 / 共43页
32位流水灯程序.docx_第15页
第15页 / 共43页
32位流水灯程序.docx_第16页
第16页 / 共43页
32位流水灯程序.docx_第17页
第17页 / 共43页
32位流水灯程序.docx_第18页
第18页 / 共43页
32位流水灯程序.docx_第19页
第19页 / 共43页
32位流水灯程序.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

32位流水灯程序.docx

《32位流水灯程序.docx》由会员分享,可在线阅读,更多相关《32位流水灯程序.docx(43页珍藏版)》请在冰点文库上搜索。

32位流水灯程序.docx

32位流水灯程序

耗时两天,终于写完32位流水灯的程序,建议用stc89c58的芯片,因为有16.16K,原理图网上很多的。

祝你们好运!

#include

typedefunsignedcharuint8;

typedefunsignedintuint16;

typedefunsignedlonguint32;

uint8codetable0[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//由低位到高位;

uint8codetable1[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};//由高位到低位;

uint8codetable2[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00};//一个亮到八个亮,低位到高位渐亮;

uint8codetable3[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00};//一个亮到八个亮,高位到低位渐亮;

uint8codetable4[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};//八个亮到一个亮,低位到高位;

uint8codetable5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};//八个亮到一个亮,高位到低位;

uint8codetable6[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//一个灯移位,低位到高位;

uint8codetable7[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//一个灯移位,高位到低位;

uint8codetable8[]={0x01,0x03,0x06,0x0C,0x18,0x30,0x60,0xC0,0x80};//两个灯的移位,低位到高位;

uint8codetable9[]={0x80,0xC0,0x60,0x30,0x18,0x0C,0x06,0x03,0x01};//两个灯的移位,高位到低位;

voiddelay(uint16time)

{

uint16i,j;

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

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

}

uint16i,j;

voiddisp0()//逆时针四灯旋转

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

{P0=table0[i];P1=table1[i];P2=table1[i];P3=table1[i];delay(1000);}

}

voiddisp1()//顺时针四灯旋转

{

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

{P2=table0[i];P3=table0[i];P1=table0[i];P0=table1[i];delay(1000);}

P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;

}

voiddisp2()//逆时针旋转

{

for(i=0;i<8;i++){P0=table1[i];delay(1000);}P0=0xFF;

for(i=0;i<8;i++){P1=table0[i];delay(1000);}P1=0xFF;

for(i=0;i<8;i++){P3=table0[i];delay(1000);}P3=0xFF;

for(i=0;i<8;i++){P2=table0[i];delay(1000);}P2=0xFF;

}

voiddisp3()//顺时针旋转

{

for(i=0;i<8;i++){P2=table1[i];delay(1000);}P2=0xFF;

for(i=0;i<8;i++){P3=table1[i];delay(1000);}P3=0xFF;

for(i=0;i<8;i++){P1=table1[i];delay(1000);}P1=0xFF;

for(i=0;i<8;i++){P0=table0[i];delay(1000);}P0=0xFF;

}

voiddisp4()//上到下的逐个点亮

{

for(i=0;i<8;i++){P0=table1[i];P2=table1[i];delay(1000);}P0=0xFF;P2=0xFF;

for(i=0;i<8;i++){P1=table0[i];P3=table1[i];delay(1000);}P1=0xFF;P3=0xFF;

}

voiddisp5()//下到上的逐个点亮

{

for(i=0;i<8;i++){P1=table1[i];P3=table0[i];delay(1000);}P1=0xFF;P3=0xFF;

for(i=0;i<8;i++){P0=table0[i];P2=table0[i];delay(1000);}P0=0xFF;P2=0xFF;

}

voiddisp6()//左右分别从一个亮到全亮

{

for(i=0;i<8;i++){P0=table3[i];P2=table3[i];delay(1000);}P0=0x00;P1=0x00;

for(i=0;i<8;i++){P1=table2[i];P3=table3[i];delay(1000);}P1=0x00;P3=0x00;

}

voiddisp7()//左右分别八个全亮到一个都不亮

{

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

{P3=table4[i];P1=table5[i];P0=0x00;P2=0x00;delay(1000);}

P3=0xFF;P1=0xFF;

for(i=0;i<9;i++){P2=table4[i];P0=table4[i];delay(1000);}

}

voiddisp8()//逆时针全部点亮

{

for(i=0;i<8;i++){P0=table3[i];delay(1000);}

for(i=0;i<8;i++){P1=table2[i];delay(1000);}

for(i=0;i<8;i++){P3=table2[i];delay(1000);}

for(i=0;i<8;i++){P2=table2[i];delay(1000);}

}

voiddisp9()//顺时针全部熄灭

{

for(i=0;i<9;i++){P2=table5[i];delay(1000);}

for(i=0;i<9;i++){P3=table5[i];delay(1000);}

for(i=0;i<9;i++){P1=table5[i];delay(1000);}

for(i=0;i<9;i++){P0=table4[i];delay(1000);}

}

voiddisp10()//顺时针全部点亮

{

for(i=0;i<8;i++){P2=table3[i];delay(1000);}

for(i=0;i<8;i++){P3=table3[i];delay(1000);}

for(i=0;i<8;i++){P1=table3[i];delay(1000);}

for(i=0;i<8;i++){P0=table2[i];delay(1000);}

}

voiddisp11()//逆时针全部熄灭

{

for(i=0;i<9;i++){P0=table5[i];delay(1000);}

for(i=0;i<9;i++){P1=table4[i];delay(1000);}

for(i=0;i<9;i++){P3=table4[i];delay(1000);}

for(i=0;i<9;i++){P2=table4[i];delay(1000);}

}

voiddisp12()//一个灯亮到16灯亮,之后灭,追逐式,逆时针

{

for(i=0;i<8;i++){P0=table3[i];delay(1000);}

for(i=0;i<8;i++){P1=table2[i];delay(1000);}

P0=0x00;P1=0x00;delay(3000);

for(i=0;i<9;i++){P0=table5[i];delay(1000);}

for(i=0;i<9;i++){P1=table4[i];delay(1000);}

//************************************************

for(i=0;i<8;i++){P3=table2[i];delay(1000);}

for(i=0;i<8;i++){P2=table2[i];delay(1000);}

P3=0x00;P2=0x00;delay(3000);

for(i=0;i<9;i++){P3=table4[i];delay(1000);}

for(i=0;i<9;i++){P2=table4[i];delay(1000);}

}

voiddisp13()//一个灯亮到16灯亮,之后灭,追逐式,顺时针

{

for(i=0;i<8;i++){P2=table3[i];delay(1000);}

for(i=0;i<8;i++){P3=table3[i];delay(1000);}

P2=0x00;P3=0x00;delay(3000);

for(i=0;i<9;i++){P2=table5[i];delay(1000);}

for(i=0;i<9;i++){P3=table5[i];delay(1000);}

//***************************************************

for(i=0;i<8;i++){P1=table3[i];delay(1000);}

for(i=0;i<8;i++){P0=table2[i];delay(1000);}

P1=0x00;P0=0x00;delay(3000);

for(i=0;i<9;i++){P1=table5[i];delay(1000);}

for(i=0;i<9;i++){P0=table4[i];delay(1000);}

}

voiddisp14()//一个灯亮到16个灯亮,追逐式,逆时针

{

for(i=0;i<8;i++){P0=table3[i];delay(1000);}

for(i=0;i<8;i++){P1=table2[i];delay(1000);}

P0=0xFF;P1=0xFF;

for(i=0;i<8;i++){P3=table2[i];delay(1000);}

for(i=0;i<8;i++){P2=table2[i];delay(1000);}

P2=0xFF;P3=0xFF;

}

voiddisp15()//一个灯亮到16个灯亮,追逐式,顺时针

{

for(i=0;i<8;i++){P2=table3[i];delay(1000);}

for(i=0;i<8;i++){P3=table3[i];delay(1000);}

P2=0xFF;P3=0xFF;

for(i=0;i<8;i++){P1=table3[i];delay(1000);}

for(i=0;i<8;i++){P0=table2[i];delay(1000);}

P0=0xFF;P1=0xFF;

}

voiddisp16()//一个灯亮到八个灯亮,追逐式,逆时针

{

for(i=0;i<8;i++){P0=table3[i];delay(1000);}P0=0xFF;

for(i=0;i<8;i++){P1=table2[i];delay(1000);}P1=0xFF;

for(i=0;i<8;i++){P3=table2[i];delay(1000);}P3=0xFF;

for(i=0;i<8;i++){P2=table2[i];delay(1000);}P2=0xFF;

}

voiddisp17()//一个灯亮到八个灯亮,追逐式,顺时针

{

for(i=0;i<8;i++){P2=table3[i];delay(1000);}P2=0xFF;

for(i=0;i<8;i++){P3=table3[i];delay(1000);}P3=0xFF;

for(i=0;i<8;i++){P1=table3[i];delay(1000);}P1=0xFF;

for(i=0;i<8;i++){P0=table2[i];delay(1000);}P1=0xFF;

}

voiddisp18()//四灯,一个亮到八个亮,逆时针

{

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

{P0=table3[i];P1=table2[i];P3=table2[i];P2=table2[i];delay(1000);}

P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(5000);

}

voiddisp19()//四灯,八个亮到全灭,顺时针

{

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

{P0=table4[i];P1=table5[i];P2=table5[i];P3=table5[i];delay(1000);}

}

voiddisp20()//四灯,一个亮到八个亮,顺时针

{

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

{P2=table3[i];P3=table3[i];P1=table3[i];P0=table2[i];delay(1000);}

}

voiddisp21()//四灯,八个亮到全灭,逆时针

{

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

{P0=table5[i];P1=table4[i];P3=table4[i];P2=table4[i];delay(1000);}

}

voiddisp22()//LED交替闪烁

{

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

{P0=0x55;P1=0x55;P2=0x55;P3=0x55;delay(3000);

P0=~P0;P1=~P1;P2=~P2;P3=~P3;delay(3000);}

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

{P0=0x55;P1=0x55;P2=0x55;P3=0x55;delay(1500);

P0=~P0;P1=~P1;P2=~P2;P3=~P3;delay(1500);}

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

{P0=0x55;P1=0x55;P2=0x55;P3=0x55;delay(700);

P0=~P0;P1=~P1;P2=~P2;P3=~P3;delay(700);}

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

{P0=0xAA;P1=0xAA;P2=0xAA;P3=0xAA;delay(2000);

P0=~P0;P1=~P1;P2=~P2;P3=~P3;delay(2000);}

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

{P0=0xAA;P1=0xAA;P2=0xAA;P3=0xAA;delay(4000);

P0=~P0;P1=~P1;P2=~P2;P3=~P3;delay(4000);}

}

voiddisp23()//一个灯的双边移位,PO,P1逆时针,P2,P3顺时针

{

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

{P1=0x00;P3=0x00;P0=table7[i];P2=table7[i];delay(1000);}

P0=0x00;P2=0x00;

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

{P1=table6[i];P3=table7[i];delay(1000);}

}

voiddisp24()//一个灯的逆双边移位,P1,P0逆时针,P3,P2顺时针

{

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

{P1=table7[i];P3=table6[i];delay(1000);}

P1=0x00;P3=0x00;

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

{P0=table6[i];P2=table6[i];delay(1000);}

}

voiddisp25()//两个灯的双边移位

{

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

{P1=0x00;P3=0x00;P0=table9[i];P2=table9[i];delay(1000);}

P0=0x00;P2=0x00;

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

{P1=table8[i];P3=table9[i];delay(1000);}

P0=0x00;P1=0x00;P2=0x00;P3=0x00;

}

voiddisp26()//两个灯的逆双边移位

{

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

{P1=table9[i];P3=table8[i];delay(1000);}

P1=0x00;P3=0x00;

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

{P0=table8[i];P2=table8[i];delay(1000);}

P0=0x00;P1=0x00;P2=0x00;P3=0x00;

}

voiddisp27()//四个灯的相互追逐,顺时针

{

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

{

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

{P0=table0[i];P2=table1[i];P3=table1[i];P1=table1[i];delay(1000);}

}

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

{P0=table2[i];P2=table3[i];P3=table3[i];P1=table3[i];delay(2000);}

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

{P0=table5[i];P1=table4[i];P3=table4[i];P2=table4[i];delay(1000);}

}

voiddisp28()//四个灯的相互追逐,逆时针

{

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

{

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

{P0=table1[i];P1=table0[i];P2=table0[i];P3=table0[i];delay(1000);}

}

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

{P0=table3[i];P1=table2[i];P3=table2[i];P2=table2[i];delay(2000);}

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

{P0=table4[i];P1=table5[i];P3=table5[i];P2=table5[i];delay(1000);}

}

voiddisp29()//两个灯的追逐,逆时针

{

for(i=0;i<8;i++){P0=table1[i];P3=table0[i];delay(1000);}P0=0xFF;P3=0xFF;

for(i=0;i<8;i++){P1=table0[i];P2=table0[i];delay(1000);}P1=0xFF;P2=0xFF;

for(i=0;i<8;i++){P0=table3[i];P3=table2[i];delay(1000);}P0=0x00;P3=0x00;

for(i=0;i<8;i++){P1=table2[i];P2=table2[i];delay(1000);}P1=0x00;P2=0x00;

P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;

}

voiddisp30()//两个灯的追逐,顺时针

{

for(i=0;i<8;i++){P2=table1[i];P1=table1[i];delay(1000);}P2=0xFF;P1=0xFF;

for(i=0;i<8;i++){P3=table1[i];P0=table0[i];delay(1000);}P3=0xFF;P0=0xFF;

for(i=0;i<8;i++){P2=table3[i];P1=table3[i];delay(1000);}P2=0x00;P1=0x00;

for(i=0;i<8;i++){P3=table3[i];P0=table2[i];delay(1000);}P3=0x00;P0=0x00;

P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;

}

voiddisp31()//P0,P2一个灯到八个灯亮,之后灭;P1,P3一个灯到八个灯亮,之后灭

{

for(i=0;i<8;i++){P0=table3[i];P2=table3[i];delay(1000);}P0=0x00;P2=0x00;

for(i=0;i<9;i++){P0=table5[i];P2=table5[i];delay(1000);}P0=0xFF;P2=0xFF;

for(i=0;i<8;i++){P1=table2[i];P3=table3[i];delay(1000);}P1=0x00;P3=0x00;

for(i=0;i<9;i++){P1=table4[i];P3=table5[i];delay(1000);}P1=0xFF;P3=0xFF;

}

voiddisp32()//P1,P3一个灯到八个灯亮,之后灭;P0,P2一个灯到八个灯亮,之后灭

{

for(i=0;i<8;i++){P1=table3[i];P3=table2[i];delay(1000);}P1=0x00;P3=0x00;

for(i=0;i<9;i++){P1=table5[i];P3=table4[i];delay(1000);}P1=0xFF;P3=0xFF;

for(i=0;i<8;i++){P0=table2[i];P2=table2[i];delay(1000);}P0=0x00;P2=0x00;

for(i=0;i<9;i++){P0=table4[i];P2=table4[i];delay(1000);}P0=0xFF;P2=0xFF;

}

voiddisp33()//一个亮到八个亮,P0,P2向下亮,P1,P3向上亮

{

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

{P0=table3[i];P2=table3[i];P1=table3[i];P3=table2[i];delay(1000);}

P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(1000);

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

{P0=tabl

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2