基于51单片机心形流水灯C语言源程序

发布时间:2018-06-27 05:31:26   来源:文档文库   
字号:

#include

unsigned int x,y;

void delayms(unsigned int z) //延时

{

unsigned int i,j;

for(i=z;i>0;i--)

for(j=150;j>0;j--);

}

void On_all() //开启所有灯

{

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

}

void Off_all()//关闭所有灯

{

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

}

void ls()//正向流水灯

{

P0=0x00; delayms(400);

P2=0x00; delayms(400);

P3=0x00; delayms(400);

P1=0x00; delayms(400);

P0=0x01; delayms(50);

P0=0x02; delayms(50);

P0=0x04; delayms(50);

P0=0x08; delayms(50);

P0=0x10; delayms(50);

P0=0x20; delayms(50);

P0=0x40; delayms(50);

P0=0x80; delayms(50);

P0=0x00;

P2=0x01; delayms(50);

P2=0x02; delayms(50);

P2=0x04; delayms(50);

P2=0x08; delayms(50);

P2=0x10; delayms(50);

P2=0x20; delayms(50);

P2=0x40; delayms(50);

P2=0x80; delayms(50);

P2=0x00;

P3=0x80; delayms(50);

P3=0x40; delayms(50);

P3=0x20; delayms(50);

P3=0x10; delayms(50);

P3=0x08; delayms(50);

P3=0x04; delayms(50);

P3=0x02; delayms(50);

P3=0x01; delayms(50);

P3=0x00;

P1=0x80; delayms(50);

P1=0x40; delayms(50);

P1=0x20; delayms(50);

P1=0x10; delayms(50);

P1=0x08; delayms(50);

P1=0x04; delayms(50);

P1=0x02; delayms(50);

P1=0x01; delayms(50);

P1=0x00;

Off_all();

P0=0xfe; delayms(50);

P0=0xfd; delayms(50);

P0=0xfb; delayms(50);

P0=0xf7; delayms(50);

P0=0xef; delayms(50);

P0=0xdf; delayms(50);

P0=0xbf; delayms(50);

P0=0x7f; delayms(50);

P0=0xff;

P2=0xfe; delayms(50);

P2=0xfd; delayms(50);

P2=0xfb; delayms(50);

P2=0xf7; delayms(50);

P2=0xef; delayms(50);

P2=0xdf; delayms(50);

P2=0xbf; delayms(50);

P2=0x7f; delayms(50);

P2=0xff;

P3=0x7f; delayms(50);

P3=0xbf; delayms(50);

P3=0xdf; delayms(50);

P3=0xef; delayms(50);

P3=0xf7; delayms(50);

P3=0xfb; delayms(50);

P3=0xfd; delayms(50);

P3=0xfe; delayms(50);

P3=0xff;

P1=0x7f; delayms(50);

P1=0xbf; delayms(50);

P1=0xdf; delayms(50);

P1=0xef; delayms(50);

P1=0xf7; delayms(50);

P1=0xfb; delayms(50);

P1=0xfd; delayms(50);

P1=0xfe; delayms(50);

P1=0xff;

P0=0xfe; delayms(50);

P0=0xfc; delayms(50);

P0=0xf8; delayms(50);

P0=0xf0; delayms(50);

P0=0xe0; delayms(50);

P0=0xc0; delayms(50);

P0=0x80; delayms(50);

P0=0x00; delayms(50);

P2=0xfe; delayms(50);

P2=0xfc; delayms(50);

P2=0xf8; delayms(50);

P2=0xf0; delayms(50);

P2=0xe0; delayms(50);

P2=0xc0; delayms(50);

P2=0x80; delayms(50);

P2=0x00; delayms(50);

P3=0x7f; delayms(50);

P3=0x3f; delayms(50);

P3=0x1f; delayms(50);

P3=0x0f; delayms(50);

P3=0x07; delayms(50);

P3=0x03; delayms(50);

P3=0x01; delayms(50);

P3=0x00; delayms(50);

P1=0x7f; delayms(50);

P1=0x3f; delayms(50);

P1=0x1f; delayms(50);

P1=0x0f; delayms(50);

P1=0x07; delayms(50);

P1=0x03; delayms(50);

P1=0x01; delayms(50);

P1=0x00; delayms(50);

}

void fan_ls()//反向流水灯

{

Off_all(); delayms(300);

On_all(); delayms(300);

Off_all(); delayms(300);

P1=0x00;delayms(400);

P3=0x00;delayms(400);

P2=0x00;delayms(400);

P0=0x00;delayms(400);

P1=0x01;delayms(50);

P1=0x02;delayms(50);

P1=0x04;delayms(50);

P1=0x08;delayms(50);

P1=0x10;delayms(50);

P1=0x20;delayms(50);

P1=0x40;delayms(50);

P1=0x80;delayms(50);

P1=0x00;

P3=0x01;delayms(50);

P3=0x02;delayms(50);

P3=0x04;delayms(50);

P3=0x08;delayms(50);

P3=0x10;delayms(50);

P3=0x20;delayms(50);

P3=0x40;delayms(50);

P3=0x80;delayms(50);

P3=0x00;

P2=0x80;delayms(50);

P2=0x40;delayms(50);

P2=0x20;delayms(50);

P2=0x10;delayms(50);

P2=0x08;delayms(50);

P2=0x04;delayms(50);

P2=0x02;delayms(50);

P2=0x01;delayms(50);

P2=0x00;

P0=0x80;delayms(50);

P0=0x40;delayms(50);

P0=0x20;delayms(50);

P0=0x10;delayms(50);

P0=0x08;delayms(50);

P0=0x04;delayms(50);

P0=0x02;delayms(50);

P0=0x01;delayms(50);

P0=0x00;

Off_all();

P1=0xfe; delayms(50);

P1=0xfd; delayms(50);

P1=0xfb; delayms(50);

P1=0xf7; delayms(50);

P1=0xef; delayms(50);

P1=0xdf; delayms(50);

P1=0xbf; delayms(50);

P1=0x7f; delayms(50);

P1=0xff;

P3=0xfe; delayms(50);

P3=0xfd; delayms(50);

P3=0xfb; delayms(50);

P3=0xf7; delayms(50);

P3=0xef; delayms(50);

P3=0xdf; delayms(50);

P3=0xbf; delayms(50);

P3=0x7f; delayms(50);

P3=0xff;

P2=0x7f; delayms(50);

P2=0xbf; delayms(50);

P2=0xdf; delayms(50);

P2=0xef; delayms(50);

P2=0xf7; delayms(50);

P2=0xfb; delayms(50);

P2=0xfd; delayms(50);

P2=0xfe; delayms(50);

P2=0xff;

P0=0x7f; delayms(50);

P0=0xbf; delayms(50);

P0=0xdf; delayms(50);

P0=0xef; delayms(50);

P0=0xf7; delayms(50);

P0=0xfb; delayms(50);

P0=0xfd; delayms(50);

P0=0xfe; delayms(50);

P0=0xff;

P1=0xfe; delayms(50);

P1=0xfc; delayms(50);

P1=0xf8; delayms(50);

P1=0xf0; delayms(50);

P1=0xe0; delayms(50);

P1=0xc0; delayms(50);

P1=0x80; delayms(50);

P1=0x00; delayms(50);

P3=0xfe; delayms(50);

P3=0xfc; delayms(50);

P3=0xf8; delayms(50);

P3=0xf0; delayms(50);

P3=0xe0; delayms(50);

P3=0xc0; delayms(50);

P3=0x80; delayms(50);

P3=0x00; delayms(50);

P2=0x7f; delayms(50);

P2=0x3f; delayms(50);

P2=0x1f; delayms(50);

P2=0x0f; delayms(50);

P2=0x07; delayms(50);

P2=0x03; delayms(50);

P2=0x01; delayms(50);

P2=0x00; delayms(50);

P0=0x7f; delayms(50);

P0=0x3f; delayms(50);

P0=0x1f; delayms(50);

P0=0x0f; delayms(50);

P0=0x07; delayms(50);

P0=0x03; delayms(50);

P0=0x01; delayms(50);

P0=0x00; delayms(50);

Off_all();

On_all();

Off_all();

On_all();

Off_all();

}

void ban_shan()//半边交替闪

{

Off_all();

P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);

P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);

P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);

P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);

P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);

P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);

P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);

P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);

P1=0x00;P3=0x00;delayms(50);P0=0xff;P2=0xff;delayms(50);

P1=0xff;P3=0xff;delayms(50);P0=0x00;P2=0x00;delayms(50);

}

void shangxia_shan()//上下交替闪

{

On_all();

Off_all();

P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);

P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);

P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);

P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);

P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);

P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);

P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);

P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);

P0=0x00;P1=0x00;delayms(50);P2=0xff;P3=0xff;delayms(50);

P0=0xff;P1=0xff;delayms(50);P2=0x00;P3=0x00;delayms(50);

}

void huayang_shan()//花样闪烁

{

On_all();delayms(400);

P0=0xff;P2=0x00;P3=0x00;P1=0x00;delayms(200);

P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200);

P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200);

P0=0x00;P2=0x00;P3=0x00;P1=0xff;delayms(200);

P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200);

P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200);

P0=0xff;P2=0x00;P3=0x00;P1=0x00;delayms(200);

On_all();delayms(400);

P0=0x00;P2=0x00;P3=0x00;P1=0xff;delayms(200);

P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200);

P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200);

P0=0xff;P2=0x00;P3=0x00;P1=0x00;delayms(200);

P0=0x00;P2=0xff;P3=0x00;P1=0x00;delayms(200);

P0=0x00;P2=0x00;P3=0xff;P1=0x00;delayms(200);

P0=0x00;P2=0x00;P3=0x00;P1=0xff;delayms(200);

On_all();delayms(400);

Off_all();delayms(400);

P0=0x00;delayms(200);

P3=0x00;delayms(200);

P1=0x00;delayms(200);

P2=0x00;delayms(200);

On_all();delayms(400);

Off_all();delayms(400);

P1=0x00;delayms(200);

P2=0x00;delayms(200);

P0=0x00;delayms(200);

P3=0x00;delayms(200);

On_all();delayms(400);

Off_all();delayms(50);

On_all();delayms(50);

Off_all();delayms(50);

On_all();delayms(50);

Off_all();delayms(50);

}

void main()

{

On_all(); delayms(300);

Off_all(); delayms(300);

On_all(); delayms(300);

Off_all(); delayms(300);

On_all(); delayms(300);

Off_all(); delayms(300);

ls(); //正向流水

fan_ls(); //反向流水

ban_shan(); //半边交替闪

shangxia_shan(); //上下交替闪烁

huayang_shan();// 花样闪烁

}

本文来源:https://www.2haoxitong.net/k/doc/90a88d7f0066f5335a8121c5.html

《基于51单片机心形流水灯C语言源程序.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式