历史上的今天
返回首页

历史上的今天

今天是:2024年11月10日(星期日)

正在发生

2020年11月10日 | ws2812b彩灯带室内自动系统单片机源程序

2020-11-10 来源:51hei

调光基于12c5a60s2程序:

/*********************************************************************************************************


*********************************************************************************************************/

#include

//#include

#include

#include

#include

#define uchar        unsigned char

#define uint        unsigned int

#define FSCLK        11059200

#define   Number  29


unsigned char Receive,i;

unsigned int n,flag;

unsigned char Receive_table[15];

#define RELOAD_COUNT 0xFA

       

sbit LED0=P0^2;

sbit DAI = P3^2;

sbit k1=P2^0;

sbit k2=P2^1;

sbit k3=P2^2;

sbit k4=P2^3;

sbit k5=P2^4;

sbit k6=P2^5;

sbit k7=P2^6;

sbit k8=P2^7;

sbit p13=P1^3;

uint speed = 0;

        uchar flag_clr = 0;

        uchar Table_R[8]={        0,        0,255,        0,255,255,255,0};

    uchar Table_G[8]={255,        0,        0,255,        0,255,255,0};

    uchar Table_B[8]={        0,255,        0,255,255,        0,255,0};

uchar code Table[256] = {

  0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,

        20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,

        40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,

        60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,

        80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,

  100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,

        120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,

        140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,

        160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,

        180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,

  200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,

        220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,

        240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255

};

unsigned char CCAPOH,ID;

float res0,res1;


/*********************************************************************************************************

** 函数功能 :延时函数

** 函数说明 :利用软件延时,占用CPU,经调试最小单位大约为1ms

** 入口参数 :time:需要延时的时间,单位ms

** 出口参数 :无

*********************************************************************************************************/

void Delay_ms(uint time)

{

        uint i,j;

        for(i = 0;i < time;i ++)

                for(j = 0;j < 930;j ++);

}


void ms_delay(unsigned int t)

     {

   unsigned int i,j;

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

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

     }


void us_delay(unsigned int t)

{

   while(t--);

}


void rst()

{

          uint s;

          DAI=0;

          for(s=0;s<1000;s++);

          {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}

}

void Delay_Fash (uint x)  // 1ms Delay

{

    uint t;

    t = 0;

    while (x--)

                {

                          for (t = 0; t < 5000; t++);

    }

}

void Delay(uint x)  // 1ms Delay

{

    uint t;

    t = 0;

    while (x--)

        {

     for (t = 0; t < 330; t++);

    }

}

/*uart初始化*/

  void Uart_Init()//使用独立的波特率发生器(STC12C560S2或带有独立波特率发生器//、//的单片机均可)

{

      SCON=0x50;     //设置为串行口以方式1工作,8位异步通讯,允许接收中断。

      PCON=0x80;     //SMOD波特率选择位为1,SMOD=1.

      BRT=0xfa;//波特率9600 256-晶振频率/波特率x16=BRT

      AUXR=0x11;     //T0、T1不12分频,速度是89C51的12倍,启动独立波特率//发生器,每个时钟计数一次

//设置串口1的波特率发生器为独立波特率发生器,

   //   AUXR1=0x80;    //切换到P1口

      ES=1;         //开启串口中断

      EA=1;         //开启总中断

}

void Send_Uart(unsigned char value){//向WIFI模块发送数据

        ES=0;

        TI=0;

SBUF=value;//发送完后TI变1

while(!TI);

TI=0;

ES=1;

}

  /*给esp8266发送指令*/

void ESP8266_Set(unsigned char *puf)

{

        while(*puf){

        Send_Uart(*puf);

        us_delay(5);

        puf++;

        }

        us_delay(5);

        Send_Uart('r');

        us_delay(5);

        Send_Uart('n');

        ms_delay(20000);

}

void code0()

{

  DAI=1;

        _nop_();

   DAI=0;

   _nop_(); _nop_();_nop_();_nop_();

         _nop_();_nop_();_nop_();_nop_();

         _nop_();_nop_();_nop_();_nop_();

}

                 

  void code1()

{

  DAI=1;

_nop_(); _nop_();_nop_();_nop_();

         _nop_();_nop_();_nop_();_nop_();

         _nop_();_nop_();_nop_();_nop_();


  DAI=0;

  _nop_();_nop_(); _nop_(); _nop_();

}

  //打开灯

void bright()

{        unsigned int j;

    for(j=0;j<720;j++)code1();

}

//关闭灯函数

  void dark()

{        unsigned int j;

   

    for(j=0;j<720;j++)code0();

}

void send_2811_24bits(uchar dat1,uchar dat2,uchar dat3)

{       

    uchar a;

//        uchar b;

          for(a=0;a<8;a++)         //dat1

          {

                    if(dat1&0x80)

                    {

                            code1();                       

                    }

                    else

                    {                

                            code0();

                    }

                    dat1=dat1<<1;               

          }

          for(a=0;a<8;a++)                       //dat2

          {       

                    if(dat2&0x80)

                    {                  

                              code1();                       

                    }

                    else

                    {       

                        code0();

                    }

                    dat2=dat2<<1;       

          }                                                 

          for(a=0;a<8;a++)                      //dat3

          {       

                    if(dat3&0x80)

                    {               

                              code1();

                    }

                    else

                    {       

                            code0();

                    }

                    dat3=dat3<<1;               

          }

}






void Jump()

{

          uint i;

          uchar Colour = 0;             //这个参数值域:0~7

推荐阅读

史海拾趣

长园维安(CYGWAYON)公司的发展小趣事

长园维安自成立以来,始终坚持技术创新为核心竞争力。在早期发展阶段,公司投入大量资源研发新型线路保护元器件,如PPTC、CPTC等。这些产品凭借其卓越的性能和稳定性,迅速在通讯、汽车电子等领域获得广泛应用。通过不断创新,长园维安在电子行业树立了技术领先的形象。

Boundary Devices公司的发展小趣事

近年来,电子行业面临着诸多变革和挑战,如物联网的快速发展、人工智能的崛起等。面对这些变革,Boundary Devices积极调整战略,加强在物联网和人工智能领域的研发投入,推出了一系列符合市场趋势的新产品。同时,公司还加强与高校和研究机构的合作,共同推动电子行业的创新与发展。

Gould Fiber Optics公司的发展小趣事
可能是滤波电容老化、稳压电路故障或负载变化大。
Advanced Photonix公司的发展小趣事

随着产品的不断成熟和市场的日益扩大,Advanced Photonix开始寻求与全球分销商的合作。在经过一番谨慎的筛选和谈判后,公司与全球知名的半导体和电子元器件授权分销商贸泽电子签订了全球分销协议。这一合作使得Advanced Photonix的产品能够更快地进入全球市场,同时也提高了公司的知名度和影响力。通过贸泽电子的分销网络,Advanced Photonix的光电二极管、混合器件以及光电管等产品得到了广泛应用,进一步巩固了公司在电子行业的领先地位。

Federal Custom Cable公司的发展小趣事

在电缆产品性能和质量得到提升的同时,Federal Custom Cable也积极开拓新的市场领域。他们深入了解不同行业对电缆的需求特点,针对不同行业推出了一系列定制化的电缆产品。这些产品广泛应用于通信、医疗、航空等领域,并赢得了客户的一致好评。同时,Federal Custom Cable还加强了品牌建设和市场推广力度,提高了品牌知名度和美誉度。

Daykin Electric Corp公司的发展小趣事

1969年,大金成功开发了一台室外机连接多台室内机的家用多联系统空调。这一创新产品不仅提高了空调的能效比,还满足了大型住宅和办公场所的多样化需求。多联系统空调的诞生,使得大金在家用中央空调领域取得了领先地位。

问答坊 | AI 解惑

wince稳定性问题,欢迎探讨

我最近在做wince+2440,设计的产品为室外无人值守型产品,关于wince能否连续数年稳定可靠的运行一直有所顾虑。 希望做过这些产品的兄弟们给点意见。 另外wince对flash频繁的读写会不会引起坏区,从而要格式化重做系统?…

查看全部问答>

求高手赐教,为什么一个操作系统可以安装到不同的CPU上?

比如AMD和INTEL的CPU,----------又或者其他的牌子的CPU ,比如苹果的CPU,所用的指令系统都是不一样的吧,如果一个指令占2个字节,那么这两个字节的内容对于AMD和INTEL应该都是不同的吧。 那么操作系统如何针对各自不同的CPU生成各自不同的指令呢 ...…

查看全部问答>

蜂鸣器和二极管第四个灯 都是P1.3针脚控制?

我的AT89S52学习版 说明图纸上面 蜂鸣器和二极管第四个灯 都是P1.3针脚控制 用KEIL编程时 灯亮蜂鸣器也响 怎么去分别控制?! 谢谢…

查看全部问答>

都哪家公司有F107的开发板?

                                 想买一个,正在做产品升级,比较急,有些技术细节搞不准。…

查看全部问答>

我这个51单片机模拟的读写程序有错么?

#include <C8051F410.h> #include <intrins.h> sbit SPI_Clk = P0^2;sbit SPI_Out = P0^3;sbit SPI_In  = P0^6;sbit SPI_Cs  = P0^7; void System_Setup(void);void SPI_Write(unsigned int SPI_Data);unsigned int SPI_Read(v ...…

查看全部问答>

也在搞arm,搞硬件其实感觉差不多啊

管他什么芯片呢,让编译器去翻译就好了,我们所关心的是硬件资源怎样,复杂的东西不容易一下就搞出来而已。   linux算除了写驱动都算搞软件吧。   “程序和程序差别很大”初学者很少有人能理解。…

查看全部问答>

下载中心分类调查开始啦!投票有惊喜!(第一期)

为了进一步完善下载中心,方便大家检索资源,我们准备对资料分类进行调整和修改。本着从群众中来到群众中去的理念,我们决定——发布分类调查投票 特别提示:第二期调查已开始,传送门:https://bbs.eeworld.com.cn/thread-431477-1-1.html ...…

查看全部问答>

有没有必要给所有的输入IO口都加上拉电阻?

为了提高抗干扰性能,有没有必要给所有的输入IO口都加上拉电阻?请指点一下。…

查看全部问答>

你经常使用哪些嵌入式操作系统呢?

大家来说说你都用哪些嵌入式操作系统呢,是windowsce,是linux ,是ucos,还是???看看哪种使用最广泛! …

查看全部问答>

凔海笔记之FPGA(七):触发器和锁存器

       大多数数字系统中,除了需要具有逻辑运算和算数功能的组合逻辑电路外,还需要具有存储功能的电路,组合逻辑与时序逻辑可构成时序逻辑电路,简称时序电路。现在讨论实现存储功能的两种逻辑单元电路,即锁存器和触发器。 ...…

查看全部问答>