找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1247|回复: 2
收起左侧

51单片机led灯装饰创意设计-风车 10种装饰模式源程序

[复制链接]
ID:735863 发表于 2022-1-24 07:27 | 显示全部楼层 |阅读模式
电路原理图如下:
风车图片.jpg

可以进行自主进行10种闪烁方案。

单片机软件设计:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
uchar i;
uchar tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar tab2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar tab3[]={0xe7,0xdb,0xbd,0x7e};
uchar tab4[]={0xbd,0xdb,0xe7,0x7e};
uchar tab5[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
void delay()
{
        uchar i,j;
        for(i=0;i<255;i++)
        for(j=0;j<255;j++);
}

void pattern1()
{
          P1=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P1=tab5[ i];
                }
                P1=0x00;
                P0=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=tab5[ i];
                }
                P0=0x00;
                P2=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P2=tab5[ i];
                }
                P2=0x00;
                P3=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P3=tab5[ i];
                }
                P3=0x00;
                P0=P1=P2=P3=0xff;
}




void pattern2()
{
        P1=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P1=tab1[ i];
                }
                P1=0xff;
                P0=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=tab1[ i];
                }
                P0=0xff;
                P2=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P2=tab1[ i];
                }
                P2=0xff;
                P3=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P3=tab1[ i];
                }
                P3=0xff;
}


void pattern3()
{
          P1=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P1=~tab1[ i];
                }
                P1=0xff;
                P0=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=~tab1[ i];
                }
                P0=0xff;
                P2=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P2=~tab1[ i];
                }
                P2=0xff;
                P3=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P3=~tab1[ i];
                }
                P3=0xff;
}


void pattern4()
{
          P0=P1=P2=P3=0xfe;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=P1=P2=P3=~tab1[ i];
                }
                P0=P1=P2=P3=0xff;
}



void pattern5()
{
    P1=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P1=tab2[ i];
                }
                P1=0xff;
                P0=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=tab2[ i];
                }
                P0=0xff;
                P2=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P2=tab2[ i];
                }
                P2=0xff;
                P3=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P3=tab2[ i];
                }
                P3=0xff;
}


void pattern6()
{
   P1=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P1=~tab2[ i];
                }
                P1=0xff;
                P0=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=~tab2[ i];
                }
                P0=0xff;
                P2=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P2=~tab2[ i];
                }
                P2=0xff;
                P3=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P3=~tab2[ i];
                }
                P3=0xff;
}

void pattern7()
{



    P0=P1=P2=P3=0x7f;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=P1=P2=P3=~tab2[ i];
                }
                P0=P1=P2=P3=0xff;
}               



void pattern8()
{
                  P0=P1=P2=P3=0xff;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=P1=P2=P3=tab3[ i];
                }
                P0=P1=P2=P3=0xff;
        
        
        
}               
               
               
void pattern9()
{
    P0=P1=P2=P3=0xff;
                for(i=0;i<9;i++)
                {
                        delay();
                        P0=P1=P2=P3=tab4[ i];
                }
                P0=P1=P2=P3=0xff;

}               
               
void pattern10()
{
    P0=P1=P2=P3=0x00;
    for(i=0;i<9;i++)
                {
                        delay();
                }
                P0=P1=P2=P3=0xff;

    P0=P1=P2=P3=0xff;
    for(i=0;i<9;i++)
                {
                        delay();
                }
                P0=P1=P2=P3=0xff;
}


void main()
{
        while (1)
        {
           pattern1();
           pattern2();
           pattern3();
           pattern4();
           pattern5();
           pattern6();
           pattern7();
           pattern8();
           pattern9();
           pattern10();               
        }
}
               


评分

参与人数 1黑币 +30 收起 理由
admin + 30 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:262 发表于 2022-1-25 23:57 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:419034 发表于 2022-2-2 09:11 | 显示全部楼层
资料不错节日里试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表