心形花样LED流水灯程序设计

来源:本站
导读:目前正在解读《心形花样LED流水灯程序设计》的相关信息,《心形花样LED流水灯程序设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《心形花样LED流水灯程序设计》的详细说明。
简介:这里给大家分享了一个心形花样LED流水灯程序设计。

#include<reg52.h>#include <intrins.h>#defineuint unsigned int#defineuchar unsigned charuchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; // 逐个点亮0~7uchar code table1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; // 逐个点亮7~0uchar code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; // 逐个灭0~7uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; // 逐个灭7~0/***********************************************************/void delay(uint t);//延时void zg(uint t,uchar a);//两边逐个亮void qs(uint t,uchar a);//全部闪烁void zgxh(uint t,uchar a);  // 逆时针逐个点亮//void zgxh1(uint t,uchar a);  // 顺时针逐个点亮void djs(uint t,uchar a);  //对角闪void lbzgm(uint t,uchar a);//两边逐个灭//void sszgm(uint t,uchar a); // 顺时针逐个灭void nszgm(uint t,uchar a); // 逆时针逐个灭void sztl(uint t,uchar a);//顺时逐个同步亮void nztl(uint t,uchar a);//逆时逐个同步亮void sztm(uint t,uchar a);//顺时逐个同步灭void nztm(uint t,uchar a);//逆时逐个同步灭void hwzjl(uint t,uchar a); //横往中间亮void hwzjm(uint t,uchar a); //横往中间灭//void swzjl(uint t,uchar a); //竖往中间亮//void swzjm(uint t,uchar a); //竖往中间灭void nzdl(uint t,uchar a); //逆时逐段亮void nzdgl(uint t,uchar a);   //逆时逐段一个点亮void jgs(uint t,uchar a);   //间隔闪/**********************************************************/void zg(uint t,uchar a)//两边逐个亮{uchar i,j;      for(j=0;j<a;j++) {   P0=P1=P2=P3=0xff;  P0=0x7f;delay(t);  for(i=0;i<7;i++)  {  P0=table1[i+1];  P2=table1[i];  delay(t);  }  P2=0x00;P1=0xfe;  delay(t);  for(i=0;i<7;i++)  {  P1=table[i+1];P3=table1[i];delay(t);  }  P3=0x00;delay(t);  }}void qs(uint t,uchar a) //全部闪烁{uchar j;for(j=0;j<a;j++){   P0=P1=P2=P3=0xff;   delay(t);   P0=P1=P2=P3=0x00;   delay(t);  }  }void zgxh(uint t,uchar a)  // 逆时针逐个点亮{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0xff;for (i=0;i<8;i++){P0=table1[i];delay(t);}for(i=0;i<8;i++){P1=table[i];delay(t);}for(i=0;i<8;i++){P3=table[i];delay(t);}for(i=0;i<8;i++){P2=table[i];delay(t);}}}void nszgm(uint t,uchar a) // 逆时针逐个灭{uchar i,j;for(j=0;j<a;j++){P0=P1=P2=P3=0x00;for (i=0;i<8;i++){P0=table3[i];delay(t);}for (i=0;i<8;i++){P1=table2[i];delay(t);}for (i=0;i<8;i++){P3=table2[i];delay(t);}for (i=0;i<8;i++){P2=table2[i];delay(t);}}}/*void zgxh1(uint t,uchar a)  // 顺时针逐个点亮{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0xff;for (i=0;i<8;i++){P2=table1[i];delay(t);}for(i=0;i<8;i++){P3=table1[i];delay(t);}for(i=0;i<8;i++){P1=table1[i];delay(t);}for(i=0;i<8;i++){P0=table[i];delay(t);}}} */ /*void sszgm(uint t,uchar a) // 顺时针逐个灭{uchar i,j;for(j=0;j<a;j++){P0=P1=P2=P3=0x00;for (i=0;i<8;i++){P2=table3[i];delay(t);}for (i=0;i<8;i++){P3=table3[i];delay(t);}for (i=0;i<8;i++){P1=table3[i];delay(t);}for (i=0;i<8;i++){P0=table2[i];delay(t);}}}*/void djs(uint t,uchar a)  //对角闪{uchar j;for(j=0;j<a;j++){P0=P1=P2=P3=0xff;P0=P3=0x00;delay(t);P0=P1=P2=P3=0xff;P1=P2=0x00;delay(t);}}void lbzgm(uint t,uchar a)//两边逐个灭{  uchar i,j;  for (j=0;j<a;j++)  {  P0=P2=0x00;P3=0x01;delay(t);for(i=7;i>1;i--){P1=table[i-1];P3=table1[i-2];delay(t);}P1=0xfe;P3=0xff;delay(t);P1=0xff;P2=0x01;delay(t);for(i=7;i>1;i--){P0=table1[i-1];P2=table1[i-2];delay(t);}P0=0x7f;P2=0xff;delay(t);P0=0xff;delay(t);  }}void sztl(uint t,uchar a)//顺时逐个同步亮{uchar i,j;for(j=0;j<a;j++){P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P0=table[i];P1=P2=P3=table1[i];delay(t);}}}void nztl(uint t,uchar a)//逆时逐个同步亮{uchar i,j;for(j=0;j<a;j++){P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P0=table1[i];P1=P2=P3=table[i];delay(t);}}}void sztm(uint t,uchar a)//顺时逐个同步灭{uchar i,j;for(j=0;j<a;j++){P0=P1=P2=P3=0x00;for(i=0;i<8;i++){P0=table2[i];P1=P2=P3=table3[i];delay(t);}}}void nztm(uint t,uchar a)//逆时逐个同步灭{uchar i,j;for(j=0;j<a;j++){P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P0=table3[i];P1=P2=P3=table2[i];delay(t);}}}void hwzjl(uint t,uchar a) //横往中间亮{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P0=P2=P1=table1[i];P3=table[i];delay(t);}}}void hwzjm(uint t,uchar a) //横往中间灭{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0x00;for(i=0;i<8;i++){P0=P2=P1=table3[i];P3=table2[i];delay(t);}}}/*void swzjl(uint t,uchar a) //竖往中间亮{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P0=P2=P1=table[i];P3=table1[i];delay(t);}}}void swzjm(uint t,uchar a) //竖往中间灭{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0x00;for(i=0;i<8;i++){P0=P2=P1=table2[i];P3=table3[i];delay(t);}}}*/void nzdl(uint t,uchar a) //逆时逐段亮{uchar i,j;for (j=0;j<a;j++){P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P0=table1[i];delay(t);}P0=0xff;for(i=0;i<8;i++){P1=table[i];delay(t);}P1=0xff;for(i=0;i<8;i++){P3=table[i];delay(t);}P3=0xff;for(i=0;i<8;i++){P2=table[i];delay(t);}P2=0xff;}}void nzdgl(uint t,uchar a)   //逆时逐段一个点亮{uchar i,j,k,l;for (j=0;j<a;j++){k=table1[0];P0=k;l=table[0];P1=P2=P3=l;delay(t);for(i=0;i<8;i++){k=_crol_(k,-1);P0=k;l=_crol_(l,1);P1=P2=P3=l;delay(t);}}}void jgs(uint t,uchar a)   //间隔闪{uchar j;for (j=0;j<a;j++){P0=0x55;P1=P2=P3=0xaa;delay(t);P0=0xaa;P1=P2=P3=0x55;delay(t);}}void main(){uchar i;while(1){ zg(100,1); //两边逐个亮 lbzgm(100,1); //两边逐个灭 jgs(300,10); djs(100,20);  //对角闪////////////////////////////////////////////P1=P2=P3=0xff;for(i=0;i<3;i++){ P0=0x00;delay(800); P0=0xff;delay(800); } P0=0x00; for(i=0;i<3;i++){ P1=0x00;delay(800); P1=0xff;delay(800); } P1=0x00; for(i=0;i<3;i++){ P3=0x00;delay(800); P3=0xff;delay(800); } P3=0x00; for(i=0;i<3;i++){ P2=0x00;delay(800); P2=0xff;delay(800); } qs(500,3);/////////////////////////////////////////////for(i=0;i<6;i++){ zgxh(50,1); nszgm(50,1); }djs(100,20);  //对角闪for(i=0;i<3;i++){ zg(100,1); //两边逐个亮 lbzgm(100,1); //两边逐个灭} qs(200,10);djs(100,50); for(i=0;i<5;i++) { sztl(200,1); //顺时逐个同步亮nztm(200,1); nztl(200,1);sztm(200,1); //顺时逐个同步灭 } djs(300,10);  //对角闪 nzdgl(300,10);   //逆时逐段一个点亮 jgs(300,10);   //间隔闪for(i=0;i<3;i++){ zgxh(100,1); nszgm(100,1); } /*for(i=0;i<5;i++){ zgxh1(100,1); sszgm(100,1); } */   nzdl(200,3); //逆时逐段亮   jgs(50,100);   //间隔闪/*/////////////////////////////////////////////////////P0=P1=P2=P3=0xff;for (i=0;i<8;i++){P0=table1[i];delay(200);}for (i=0;i<8;i++){P1=table[i];delay(200);}for(i=0;i<3;i++){P0=P1=0x00;delay(200);P0=P1=0xff;delay(200);}for (i=0;i<8;i++){P2=table1[i];delay(200);}for (i=0;i<8;i++){P3=table1[i];delay(200);}for(i=0;i<3;i++){P2=P3=0x00;delay(200);P2=P3=0xff;delay(200);}*///////////////////////////////////////////////////nzdgl(50,40);   //逆时逐段一个点亮for(i=0;i<4;i++){ zg(100,1);qs(100,10); lbzgm(100,1);}// djs(50,100);  //对角闪 for(i=0;i<3;i++){ zgxh(100,1); nszgm(100,1); }     djs(1000,10); for(i=0;i<10;i++) {hwzjl(200,1); //横往中间亮hwzjm(200,1); //横往中间灭    } djs(300,10);  //对角闪/* for(i=0;i<10;i++) { swzjl(200,1); //竖往中间亮swzjm(200,1); //竖往中间灭 }*/for(i=0;i<5;i++){ zgxh(100,1); nszgm(100,1); } djs(100,20);  //对角闪 zg(300,1); lbzgm(300,1);/*for(i=0;i<5;i++){ zgxh1(100,1); sszgm(100,1); }*/ for(i=0;i<5;i++) { sztl(200,1);  //顺时逐个同步亮nztm(200,1); nztl(200,1);sztm(200,1); //顺时逐个同步灭 } djs(500,20);  //对角闪 djs(100,30);  //对角闪 djs(50,50);  //对角闪// djs(10,100);  //对角闪 delay(1000);}}void delay(uint t) {uint x,y;for (x=t;x>0;x--){for (y=120;y>0;y--);}}

提醒:《心形花样LED流水灯程序设计》最后刷新时间 2024-03-14 01:02:26,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《心形花样LED流水灯程序设计》该内容的真实性请自行鉴别。