村网通总站 姬家寨村 455496.nync.com 欢迎您!
《姬家寨牌电子花样灯》
硬件设计:姬学瑞; 软件编程:姬学瑞;
版权所有;侵权必究!
姬家寨电子科技研究所研制!
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit a1=P2^0;
sbit a2=P2^1;
sbit a3=P2^2;
sbit a4=P2^3;
sbit a5=P2^4;
sbit a6=P2^6;
sbit a7=P2^7;
sbit a8=P1^0;
sbit a9=P1^1;
sbit a10=P1^2;
sbit a11=P2^5;
void delay(uint x);
void dianliang();
void shansuo();
void zouwei();
void zouwei1();
void zouwei3();
void zouwei4();
void zouwei5();
void zouwei6();//依次点灭
void zouwei7();
void zouwei8();
void zouwei9();
void zouwei10();
void zouwei11();
void zouwei12();
void zouwei13();
uchar i,j;
void main()
{
dianliang();
while(1)
{
delay(500);
for(i=0;i<10;i++)
{
shansuo();
delay(50);
}
zouwei();
zouwei3();
zouwei1();
zouwei4();
zouwei5();
zouwei6();
zouwei7();
zouwei8();
zouwei9();
zouwei10();
zouwei11();
zouwei12();
zouwei13();
for(i=0;i<2;i++)
{
zouwei();
zouwei1();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei3();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei4();
}
for(i=0;i<2;i++)
{
zouwei12();
zouwei4();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei5();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei6();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei1();
zouwei3();
}
for(i=0;i<2;i++)
{
zouwei11();
zouwei13();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei1();
zouwei6();
}
for(i=0;i<2;i++)
{
zouwei();
zouwei3();
zouwei4();
zouwei6();
}
for(i=0;i<2;i++)
{
zouwei1();
zouwei6();
}
for(i=0;i<2;i++)
{
zouwei13();
zouwei4();
}
for(i=0;i<2;i++)
{
zouwei12();
zouwei5();
}
for(i=0;i<2;i++)
{
zouwei4();
zouwei11();
}
for(i=0;i<2;i++)
{
zouwei8();
zouwei6();
}
for(i=0;i<2;i++)
{
zouwei5();
zouwei13();
}
zouwei6();
zouwei4();
zouwei8();
zouwei10();
zouwei3();
zouwei5();
zouwei();
zouwei13();
zouwei7();
zouwei6();
zouwei5();
zouwei4();
zouwei3();
zouwei1();
zouwei();
}
}
void dianliang()
{
P0=P1=0x00;
P2=P3=0x00;
}
void shansuo()//闪烁shu
{
P0=P1=P2=P3=0x00;
delay(200);
P0=P1=P2=P3=0xff;
delay(200);
}
void zouwei() //依次点亮
{
P0=P1=P2=P3=0xff;
a1=0;delay(200); a2=0;delay(200); a3=0;delay(200);
a4=0;delay(200); a5=0;delay(200); a6=0;delay(200);
a7=0;delay(200);
a8=0;delay(200); a9=0;delay(200);
a10=0;delay(200); a11=0;delay(200);
}
void zouwei1()//依次点灭
{
P0=P1=P2=P3=0x00;
a1=1;delay(200); a2=1;delay(200); a3=1;delay(200);
a4=1;delay(200); a5=1;delay(200); a6=1;delay(200);
a7=1;delay(200);a8=1;delay(200);
a9=1;delay(200); a10=1;delay(200); a11=1;delay(200);
P0=P1=P2=P3=0xff;
}
void zouwei3() //依次点亮快反过来
{
P0=P1=P2=P3=0xff;
a11=0;delay(200); a10=0;delay(200); a9=0;delay(200);
a8=0;delay(200); a7=0;delay(200);a6=0;delay(200); a5=0;delay(200);
a4=0;delay(200);a3=0;delay(200); a2=0;delay(200);
a1=0;delay(200);
}
void zouwei4() //每一个闪烁几次
{
uchar i;
for(i=0;i<5;i++)
{
a1=0;
delay(50);
a1=1;
delay(50);
}
for(i=0;i<5;i++)
{
a2=0;
delay(50);
a2=1;
delay(50);
}
for(i=0;i<5;i++)
{
a3=0;
delay(50);
a3=1;
delay(50);
}
for(i=0;i<5;i++)
{
a4=0;
delay(50);
a4=1;
delay(50);
}
for(i=0;i<5;i++)
{
a5=0;
delay(50);
a5=1;
delay(50);
}
for(i=0;i<5;i++)
{
a6=0;
delay(50);
a6=1;
delay(50);
}
for(i=0;i<5;i++)
{
a7=0;
delay(50);
a7=1;
delay(50);
}
for(i=0;i<5;i++)
{
a8=0;
delay(50);
a8=1;
delay(50);
}
for(i=0;i<5;i++)
{
a9=0;
delay(50);
a9=1;
delay(50);
}
for(i=0;i<5;i++)
{
a10=0;
delay(50);
a10=1;
delay(50);
}
for(i=0;i<5;i++)
{
a11=0;
delay(50);
a11=1;
delay(50);
}
}
void zouwei5() //全亮时依次点亮快
{
P0=P2=P1=P3=0x00;
a1=1;delay(100);a1=0;delay(100); a2=1;delay(100);a2=0;delay(100); a3=1;delay(100);a3=0;delay(100);
a4=1;delay(100);a4=0;delay(100); a5=1;delay(100);a5=0;delay(100); a6=1;delay(100); a6=0;delay(100);
a7=1;delay(100); a7=0;delay(100);
a8=1;delay(100);a8=0;delay(100); a9=1;delay(100);a9=0;delay(100);
a10=1;delay(100);a10=0;delay(100); a11=1;delay(100); a11=0;delay(100);
}
void zouwei6()//每次点亮一个
{
P0=P2=P1=P3=0xff;
a1=0;delay(200); a1=1;a2=0;delay(200); a2=1;a3=0;delay(200);
a3=1;a4=0;delay(200); a4=1;a5=0;delay(200); a5=1; a6=0;delay(200);
a6=1;a7=0;delay(200);a7=1;a8=0;delay(200);a8=1; a9=0;delay(200);
a9=1;a10=0;delay(200); a10=1;a11=0;delay(200);
a11=1;delay(200);
}
void zouwei7()
{
P0=P1=P2=P3=0xff;
a1=0;delay(200); a2=0;delay(200); a3=0;delay(200);
a4=0;delay(200); a5=0;delay(200); a6=0;delay(200);
a7=0;delay(200); a8=0;delay(200); a9=0;delay(200);
a10=0;delay(200); a11=0;delay(200);
P0=P1=P2=P3=0x00;
a1=1;delay(200); a2=1;delay(200); a3=1;delay(200);
a4=1;delay(200); a5=1;delay(200); a6=1;delay(200);
a7=1;delay(200);a8=1;delay(200);
a9=1;delay(200); a10=1;delay(200);a11=1;delay(200);
P0=P1=P2=P3=0xff;
}
void zouwei8()
{
P0=P1=P2=P3=0xff;
a1=0;delay(200); a2=0;delay(200); a3=0;delay(200);
a4=0;delay(200); a5=0;delay(200); a6=0;delay(200);
a7=0;delay(200);
a8=0;delay(200); a9=0;delay(200);
a10=0;delay(200); a11=0;delay(200);
P0=P1=P2=P3=0x00;
a11=1;delay(200); a10=1;delay(200); a9=1;delay(200);
a8=1;delay(200); a7=1;delay(200); a6=1;delay(200);
a5=1;delay(200); a4=1;delay(200);
a3=1;delay(200); a2=1;delay(200); a1=1;delay(200);
P0=P1=P2=P3=0xff;
}
void zouwei9()
{
P0=P1=P2=P3=0xff;
a1=0;delay(200); a2=0;delay(200); a3=0;delay(200);
a4=0;delay(200); a5=0;delay(200); a6=0;delay(200);a7=0;delay(200);
a8=0;delay(200); a9=0;delay(200);
a10=0;delay(200); a11=0;delay(200);
P0=P1=P2=P3=0xff;
a11=0;delay(200); a10=0;delay(200); a9=0;delay(200);
a8=0;delay(200); a7=0;delay(200); a6=0;delay(200);
a5=0;delay(200); a4=0;delay(200);
a3=0;delay(200); a2=0;delay(200); a1=0;delay(200);
P0=P1=P2=P3=0x00;
}
void zouwei10()
{
P0=P1=P2=P3=0x00;
a1=1;delay(200); a2=1;delay(200); a3=1;delay(200);
a4=1;delay(200); a5=1;delay(200); a6=1;delay(200);
a7=1;delay(200); a8=1;delay(200); a9=1;delay(200);
a10=1;delay(200); a11=1;delay(200);
P0=P1=P2=P3=0xff;
a11=0;delay(200); a10=0;delay(200); a9=0;delay(200);
a8=0;delay(200); a7=0;delay(200); a6=0;delay(200);
a5=0;delay(200); a4=0;delay(200);
a3=0;delay(200); a2=0;delay(200); a1=0;delay(200);
P0=P1=P2=P3=0x00;
}
void zouwei11()
{
P0=P1=P2=P3=0x00;
a1=1;delay(200); a2=1;delay(200); a3=1;delay(200);
a4=1;delay(200); a5=1;delay(200); a6=1;delay(200);
a7=1;delay(200); a8=1;delay(200); a9=1;delay(200);
a10=1;delay(200); a11=1;delay(200);
P0=P1=P2=P3=0xff;
a1=0;delay(200); a2=0;delay(200); a3=0;delay(200);
a4=0;delay(200); a5=0;delay(200); a6=0;delay(200);
a7=0;delay(200);a8=0;delay(200);
a9=0;delay(200); a10=0;delay(200);
a11=0;delay(200);
}
void zouwei12()
{
P0=P1=P2=P3=0x00;
a1=a2=a3=a4=1;delay(400); a5=a6=a7=a8=a9=a10=a11=1;delay(400);
P0=P1=P2=P3=0xff;
a1=a2=a3=a4=0;delay(400); a5=a6=a7=a8=a9=a10=a11=0;delay(400);
P0=P1=P2=P3=0x00;
}
void zouwei13()
{
uchar i;
P0=P1=P2=P3=0xff;
for(i=0;i<5;i++)
{
a1=a2=a3=a4=0;delay(200);
a1=a2=a3=a4=1;delay(200);
}
for(i=0;i<5;i++)
{
a5=a6=a7=a8=a9=a10=a11=0;delay(200);
a5=a6=a7=a8=a9=a10=a11=1;delay(200);
}
}
void delay(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}