专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机8级七彩流水渐变

作者:佚名   来源:本站原创   点击数:  更新时间:2011年01月30日   【字体:
#include<reg51.h>
sbit sent=P3^7;
bit flag=0;
sbit p35=P3^5;
sbit p34=P3^4;
sbit p31=P3^1;
sbit p30=P3^0;
sbit p17=P1^7;
sbit p16=P1^6;
unsigned char bdata p3;
sbit  r1=p3^5;
sbit  g1=p3^4; 
sbit  b1=p3^3;
sbit  r2=p3^2;
sbit  g2=p3^1;
sbit  b2=p3^0;
sbit p15=P1^5;
sbit p14=P1^4;
sbit p13=P1^3;
sbit p12=P1^2;
sbit p11=P1^1;
sbit p10=P1^0;
unsigned char bdata p1;
sbit  r3=p1^5;
sbit  g3=p1^4; 
sbit  b3=p1^3;
sbit  r4=p1^2;
sbit  g4=p1^1;
sbit  b4=p1^0;

unsigned char code port1[7]=   
{
0x00,0x24,0x12,0x12,0x09,0x09,0x24,                             
};
unsigned char code port2[7]=   
{
0x20,0x34,0x16,0x1a,0x0b,0x29,0x25,                              
};
unsigned char code port3[7]= 
{
0x24,0x36,0x36,0x1b,0x1b,0x2d,0x2d,
};
main()         
{
unsigned char i3=0,i1=0,j,m,n3=2,n1=0,number=0;
while(1)
{
      sent=1;
       if(n3==6) sent=0;
     for(m=0;m<248;m++)
     {
          for(j=0;j<248;j++)
           {
       if(i3==0||i1==0||i3==1||i1==1||i3==3||i1==3||i3==5||i1==5)
         {
                               if(n3-2<j/31)  p3=port1[i3];
                               if(n1-2<j/31)  p1=port1[i1];
                               if(n3-2==j/31)  p3=port2[i3];
                               if(n1-2==j/31)  p1=port2[i1];
                               if(n3-2>j/31)  p3=port3[i3];
                               if(n1-2>j/31)  p1=port3[i1];
                               p35=r1;
                               p34=g1;
                               p31=b1;
                               p30=r2;
                               p17=g2;
                               p16=b2;
                               p15=r3;
                               p14=g3;
                               p13=b3;
                               p12=r4;
                               p11=g4;
                               p10=b4;
       }
      if(i3==2||i1==2||i3==4||i1==4||i3==6||i1==6)
       {                       if(n3-2>j/31)  p3=port1[i3];
                               if(n1-2>j/31)  p1=port1[i1];
                               if(n3-2==j/31)  p3=port2[i3];
                               if(n1-2==j/31)  p1=port2[i1];
                               if(n3-2<j/31)  p3=port3[i3];
                               if(n1-2<j/31)  p1=port3[i1];
                               p35=r1;
                               p34=g1;
                               p31=b1;
                               p30=r2;
                               p17=g2;
                               p16=b2;
                               p15=r3;
                               p14=g3;
                               p13=b3;
                               p12=r4;
                               p11=g4;
                               p10=b4;
       }
      }
       }
   if(n3++==7)  {i3++;n3=2;}
   if(n1++==7)  {i1++;n1=2;}
         if(i3==6) i3=0;
         if(i1==6) i1=0;
  }

} 
关闭窗口

相关文章