心形流水灯.docx
- 文档编号:4747577
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:29
- 大小:99.27KB
心形流水灯.docx
《心形流水灯.docx》由会员分享,可在线阅读,更多相关《心形流水灯.docx(29页珍藏版)》请在冰点文库上搜索。
心形流水灯
心形流水灯
若无双面板,红色线拿导线连,
用到32个LED灯和32个电阻,灯用5MM七彩快闪较好看,电阻220欧到1000欧皆可,我用的是220欧的,
剩下的便是单片机最小系统的元件,
这是程序
//***********************************************
//本例通过两种方法实现相同的流水灯功能
//***********************************************
#include
//************8位将流水灯编码存于单片机程序存储中******************
unsignedcharcodeLED1_shun[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//顺时针点亮数据
unsignedcharcodeLED2_ni[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};//逆时针点亮数据
unsignedintN=300;
voiddelay(unsignedintn)
{
unsignedinti;
unsignedcharj;
for(i=0;i for(j=100;j>0;j--); } voidDisplay_One(void) { unsignedchari,j; unsignedchartemp; for(j=0;j<2;j++) { //------------------顺时针------------------ temp=0x7F; for(i=0;i<8;i++) { P0=temp; delay(N); temp=((temp>>1)|0x80); } P0=0xFF; temp=0xFE; for(i=0;i<8;i++) { P1=temp; delay(N); temp=((temp<<1)|0x01); } P1=0xFF; temp=0xFE; for(i=0;i<8;i++) { P2=temp; delay(N); temp=((temp<<1)|0x01); } P2=0xFF; temp=0xFE; for(i=0;i<8;i++) { P3=temp; delay(N); temp=((temp<<1)|0x01); } P3=0xFF; //----------------------------逆时针------------------------ temp=0x7F; for(i=0;i<8;i++) { P3=temp; delay(N); temp=((temp>>1)|0x80); } P3=0xFF; temp=0x7F; for(i=0;i<8;i++) { P2=temp; delay(N); temp=((temp>>1)|0x80); } P2=0xFF; temp=0x7F; for(i=0;i<8;i++) { P1=temp; delay(N); temp=((temp>>1)|0x80); } P1=0xFF; temp=0xFE; for(i=0;i<8;i++) { P0=temp; delay(N); temp=((temp<<1)|0x01); } P0=0xFF; } } voidDisplay_Two(void) { unsignedchari,j; unsignedchartemp1,temp2; for(j=0;j<2;j++) { //------------------------------------------ temp1=0x7F; for(i=0;i<8;i++) { P0=temp1; P3=temp1; delay(N); temp1=((temp1>>1)|0x80); } P0=0xFF; P3=0xFF; temp1=0xFE; temp2=0x7F; for(i=0;i<8;i++) { P1=temp1; P2=temp2; delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } P1=0xFF; P2=0xFF; //-------------------------------------------- temp1=0xFE; temp2=0x7F; for(i=0;i<8;i++) { P1=temp2; P2=temp1; delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } P1=0xFF; P2=0xFF; temp1=0xFE; for(i=0;i<8;i++) { P0=temp1; P3=temp1; delay(N); temp1=((temp1<<1)|0x01); } P0=0xFF; P3=0xFF; } } voidDisplay_Three(void) { unsignedchari,j; unsignedchartemp1,temp2; for(j=0;j<4;j++) { temp1=0x77; temp2=0xEE; for(i=0;i<4;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N+N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } P0=0xFF; P1=0xFF; P2=0xFF; P3=0xFF; delay(N); } } voidDisplay_Four(void) { unsignedchari,j; unsignedchartemp1; for(j=0;j<2;j++) { //------------------------------------------- temp1=0x7F; for(i=0;i<8;i++) { P0=temp1; delay(N); temp1=(temp1>>1); } temp1=0xFE; for(i=0;i<8;i++) { P1=temp1; delay(N); temp1=(temp1<<1); } temp1=0xFE; for(i=0;i<8;i++) { P2=temp1; delay(N); temp1=(temp1<<1); } temp1=0xFE; for(i=0;i<8;i++) { P3=temp1; delay(N); temp1=(temp1<<1); } //------------------------------------------------ temp1=0x80; for(i=0;i<8;i++) { P0=temp1; delay(N); temp1=((temp1>>1)|0x80); } temp1=0x01; for(i=0;i<8;i++) { P1=temp1; delay(N); temp1=((temp1<<1)|0x01); } temp1=0x01; for(i=0;i<8;i++) { P2=temp1; delay(N); temp1=((temp1<<1)|0x01); } temp1=0x01; for(i=0;i<8;i++) { P3=temp1; delay(N); temp1=((temp1<<1)|0x01); } } } voidDisplay_Five(void) { unsignedchari,j; unsignedchartemp1,temp2; //----------------------------------------------- for(j=0;j<4;j++) { temp1=0x07; temp2=0xE0; for(i=0;i<4;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N+N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x70; temp2=0x0E; for(i=0;i<4;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N+N); temp1=(temp1>>1); temp2=(temp2<<1); } delay(N); } //--------------------------------------------- for(j=0;j<4;j++) { temp1=0xE0; temp2=0x07; for(i=0;i<4;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N+N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0x0E; temp2=0x70; for(i=0;i<4;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N+N); //temp1=((temp1<<1)|0x01); //temp2=((temp2>>1)|0x80); temp1=(temp1<<1); temp2=(temp2>>1); } delay(N); } } voidDisplay_Six(void) { unsignedchari; for(i=0;i<4;i++) { P0=0x00; P1=0x00; P2=0x00; P3=0x00; delay(N+N+N); P0=0xFF; P1=0xFF; P2=0xFF; P3=0xFF; delay(N+N+N); } } voidDisplay_Seven(void) { unsignedchari; unsignedchartemp1,temp2; temp1=0x7F; temp2=0xFE; for(i=0;i<8;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<8;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<7;i++) { P0=(temp1&0xFE); P1=(temp2&0x7F); P2=(temp2&0x7F); P3=(temp2&0x7F); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<6;i++) { P0=(temp1&0xFC); P1=(temp2&0x3F); P2=(temp2&0x3F); P3=(temp2&0x3F); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<5;i++) { P0=(temp1&0xF8); P1=(temp2&0x1F); P2=(temp2&0x1F); P3=(temp2&0x1F); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<4;i++) { P0=(temp1&0xF0); P1=(temp2&0x0F); P2=(temp2&0x0F); P3=(temp2&0x0F); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<3;i++) { P0=(temp1&0xE0); P1=(temp2&0x07); P2=(temp2&0x07); P3=(temp2&0x07); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<2;i++) { P0=(temp1&0xC0); P1=(temp2&0x03); P2=(temp2&0x03); P3=(temp2&0x03); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } temp1=0x7F; temp2=0xFE; for(i=0;i<1;i++) { P0=(temp1&0x80); P1=(temp2&0x01); P2=(temp2&0x01); P3=(temp2&0x01); delay(N); temp1=((temp1>>1)|0x80); temp2=((temp2<<1)|0x01); } delay(N+N+N); } voidDisplay_Eight(void) { unsignedchari; unsignedchartemp1,temp2; temp1=0x7F; temp2=0xFE; for(i=0;i<1;i++) { P0=(temp1&0x80); P1=(temp2&0x01); P2=(temp2&0x01); P3=(temp2&0x01); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xBF; temp2=0xFD; for(i=0;i<2;i++) { P0=(temp1&0xC0); P1=(temp2&0x03); P2=(temp2&0x03); P3=(temp2&0x03); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xDF; temp2=0xFB; for(i=0;i<3;i++) { P0=(temp1&0xE0); P1=(temp2&0x07); P2=(temp2&0x07); P3=(temp2&0x07); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xEF; temp2=0xF7; for(i=0;i<4;i++) { P0=(temp1&0xF0); P1=(temp2&0x0F); P2=(temp2&0x0F); P3=(temp2&0x0F); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xF7; temp2=0xEF; for(i=0;i<5;i++) { P0=(temp1&0xF8); P1=(temp2&0x1F); P2=(temp2&0x1F); P3=(temp2&0x1F); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xFB; temp2=0xDF; for(i=0;i<6;i++) { P0=(temp1&0xFC); P1=(temp2&0x3F); P2=(temp2&0x3F); P3=(temp2&0x3F); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xFD; temp2=0xBF; for(i=0;i<7;i++) { P0=(temp1&0xFE); P1=(temp2&0x7F); P2=(temp2&0x7F); P3=(temp2&0x7F); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xFE; temp2=0x7F; for(i=0;i<7;i++) { P0=(temp1&0xFE); P1=(temp2&0x7F); P2=(temp2&0x7F); P3=(temp2&0x7F); delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } temp1=0xFE; temp2=0x7F; for(i=0;i<8;i++) { P0=temp1; P1=temp2; P2=temp2; P3=temp2; delay(N); temp1=((temp1<<1)|0x01); temp2=((temp2>>1)|0x80); } delay(N+N+N); } voidDisplay_Nine(void) { unsignedchari; for(i=0;i<8;i++) { P0=0x55; P1=0xAA; P2=0xAA; P3=0xAA; delay(N); P0=0xAA; P1=0x55; P2=0x55; P3=0x55; delay(N); } } voidDisplay_Ten(void) { unsignedchari; for(i=0;i<8;i++) { P0=0x7E; P1=0x7E; P2=0x7E; P3=0x7E; delay(N); P0=0xBD; P1=0xBD; P2=0xBD; P3=0xBD; delay(N); P0=0xDB; P1=0xDB; P2=0xDB; P3=0xDB; delay(N); P0=0xE7; P1=0xE7; P2=0xE7; P3=0xE7; delay(N); P0=0xDB; P1=0xDB; P2=0xDB; P3=0xDB; delay(N); P0=0xBD; P1=0xBD; P2=0xBD; P3=0xBD; delay(N); P0=0x7E; P1=0x7E; P2=0x7E; P3=0x7E; delay(N); } P0=0xFF; P1=0xFF; P2=0xFF; P3=0xFF; } voidDisplay_Twelve(void) { unsignedchari; unsignedchartemp1; temp1=0x7F; for(i=0;i<8;i++) { P0=temp1; delay(N); temp1=(temp1>>1); } delay(N); temp1=0x80; for(i=0;i<8;i++) { P0=temp1; delay(N); temp1=((temp1>>1)|0x80); } delay(N+N); temp1=0xF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流水
![提示](https://static.bingdoc.com/images/bang_tan.gif)