LED开发兼职,合作

[复制链接]

签到天数: 3 天

连续签到: 1 天

[LV.2]②进住大理

发表于 2017-2-22 10:31:48 | 显示全部楼层 |阅读模式

LED开发兼职,合作

本人具有10年以上研发部工作经验,7LED产品开发经验,5年以上研发部主管经验。精通各类LED产品设计,尤其擅长各种七彩RGB灯具,RGB光源RGB像素灯等的项目开发。熟悉各种点控,群控,AC内控,DC外控,交流同步,红外遥控,无线遥控,RGB数字级联芯片,DMX512等原理的RGB灯饰设计

精通结构设计(熟练SolidWorks,Pro-E设计软件);

精通LED驱动电源设计(熟练3-150W以内恒压,恒流反激式驱动设计);

精通单片机编程(熟练51单片机,PIC单片机,义隆单片机及各种国内廉价替代单片机的编程)

会使用Potoshop,CoreDraw等相关制图软件

因平时工作闲暇时间较多,寻求相关兼职工作,开发费根据项目情况面议。

联系人:屈先生

电话:13760436071

QQ:575863535

微信:qzhLOVEMg1020

邮箱:yjledgc@163.com

签到天数: 3 天

连续签到: 1 天

[LV.2]②进住大理

 楼主| 发表于 2017-2-23 08:10:13 | 显示全部楼层
感谢各位同行的支持!有机会希望能与大家合作
回复 支持 1 反对 0

使用道具 举报

签到天数: 160 天

连续签到: 1 天

[LV.7]⑦大理宰相

发表于 2017-2-22 11:36:35 | 显示全部楼层
屈总,我这里有个十几万的生意,接?
回复 支持 反对

使用道具 举报

签到天数: 1120 天

连续签到: 1 天

[LV.10]⑩天龙寺主持

发表于 2017-2-22 11:38:11 | 显示全部楼层
楼主牛人啊
回复 支持 反对

使用道具 举报

FBL

签到天数: 26 天

连续签到: 1 天

[LV.4]④大理秀才

发表于 2017-2-22 11:46:04 | 显示全部楼层
回复

使用道具 举报

签到天数: 148 天

连续签到: 1 天

[LV.7]⑦大理宰相

发表于 2017-2-22 11:47:44 | 显示全部楼层
楼主 V555555555555555555555555555555
回复 支持 反对

使用道具 举报

签到天数: 1851 天

连续签到: 4 天

[LV.Master]

发表于 2017-2-22 14:14:50 | 显示全部楼层
全才。有机会可以合作下
回复 支持 反对

使用道具 举报

签到天数: 868 天

连续签到: 6 天

[LV.10]⑩天龙寺主持

发表于 2017-2-22 15:26:36 | 显示全部楼层
全才,电子软硬件通吃,而且还会结构,佩服。
回复 支持 反对

使用道具 举报

签到天数: 134 天

连续签到: 1 天

[LV.7]⑦大理宰相

发表于 2017-2-22 20:38:47 | 显示全部楼层
屈先生,和我一起干好不好?
回复 支持 反对

使用道具 举报

签到天数: 3 天

连续签到: 1 天

[LV.2]②进住大理

 楼主| 发表于 2017-2-23 08:17:56 | 显示全部楼层
今天先上传一个常用程序给大家。也许有朋友会用到。欢迎交流
/////////////RGB泛光灯,红外遥控程序////////////
////////////屈志红:2012-11-15////////
///////////采用UPD1621解码芯片//////////
///////////15键遥控器/////////////
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
#define N 0x00
#define G 0x02
#define R 0x01
#define B 0x10
#define RB 0x11
#define RG 0x03
#define GB 0x12
#define W 0x13
#define RMT        GPIO2//用来检测状态,外接上拉电阻
__CONFIG(0x00C4);

uint num,ss,hh,aa=0;
uchar flag,flag1,k,tem;
uchar a,b,c,bb,ee,gg;
uchar data[4];//定义3个字节的变量数组

void rec();
void init();
void delay(uint z);
void delayus(uchar z);
void anjian();
void danliang();
void flash();
void flash_zi();
void strobe();
void strobe_zi();
void smooth();
void smooth_zi();
void fade();
void brightness();
void brightness_1(uchar k);
void main()
{
        init();
        while(1)
        {
       rec();
       anjian();
       danliang();
       flash();
       strobe();
       fade();
       smooth();
       brightness();
    }
}

void interrupt time1()
{
    if(flag==1)
    {
            TMR1IF=0;//必须软件将中断标志位清0,以便进入下一次中断.
            TMR1H=(65536-500)/256;//定时器1寄存器重新装初值
            TMR1L=(65536-500)%256;
            num++;
    }
    if(flag==0)
    {
        TMR1ON=0;
             TMR1IF=0;//必须软件将中断标志位清0,以便进入下一次中断.
            TMR1H=(65536-20)/256;//定时器1寄存器重新装初值
            TMR1L=(65536-20)%256;
            aa++;
        flash_zi();
        strobe_zi();
        smooth_zi();
        TMR1ON=1;
    }
}
////////////////////////////////////////////////////////
void brightness()
{
   if((b==5)||(b==6))
   {
      //  TMR1ON=1;
        if(a==1)
        {
            brightness_1(R);
        }
        if(a==2)
        {
            brightness_1(G);
        }
        if(a==3)
        {
            brightness_1(B);
        }
        if(a==4)
        {
            brightness_1(W);
        }
        if(a==7)
        {
            brightness_1(RG);
        }
        if(a==10)
        {
            brightness_1(GB);
        }
        if(a==13)
        {
            brightness_1(RB);
        }

        if(a==5)
        {
            brightness_1(RG);
        }
        if(a==6)
        {
            brightness_1(RG);
        }
         if(a==8)
        {
            brightness_1(GB);
        }
        if(a==9)
        {
            brightness_1(GB);
        }  
        if(a==11)
        {
            brightness_1(RB);
        }
        if(a==12)
        {
            brightness_1(RB);
        }
   }
}
void brightness_1(uchar k)
{
    if(tem==5)
    {
        GPIO=k;
        delayus(100);
        GPIO=0;
        delayus(0);
    }
    if(tem==4)
    {
        GPIO=k;
        delayus(70);
        GPIO=0;
        delayus(30);
    }
    if(tem==3)
    {
        GPIO=k;
        delayus(50);
        GPIO=0;
        delayus(50);
    }
    if(tem==2)
    {
        GPIO=k;
        delayus(10);
        GPIO=0;
        delayus(70);
    }
    if(tem==1)
    {
        GPIO=k;
        delayus(0);
        GPIO=0;
        delayus(100);
    }
}
///////////////////////////////////////////////////////////////
void danliang()
{
  if(b==0)
  {
    if(a==1)
      GPIO=R;
    if(a==2)
      GPIO=G;
    if(a==3)
      GPIO=B;
    if(a==4)
      GPIO=W;
    if(a==5)
    {
        GPIO=R;
        delayus(80);
        GPIO=G;
        delayus(2);
    }
    if(a==6)
    {
        GPIO=R;
        delayus(60);
        GPIO=G;
        delayus(22);
    }
    if(a==7)
      GPIO=RG;
    if(a==8)
    {
        GPIO=G;
        delayus(80);
        GPIO=B;
        delayus(2);
    }
    if(a==9)
    {
        GPIO=G;
        delayus(60);
        GPIO=B;
        delayus(22);
    }
    if(a==10)
      GPIO=GB;
    if(a==11)
    {
        GPIO=B;
        delayus(80);
        GPIO=R;
        delayus(2);
    }
    if(a==12)
    {
        GPIO=B;
        delayus(60);
        GPIO=R;
        delayus(22);
    }
    if(a==13)
      GPIO=RB;
  }
}
////////////////////////////////////////////////////////
void flash()
{
    if(b==1)
    {
       TMR1ON=1;
       if(a==1)
       {
          if(bb==0)
          {
             GPIO=R;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }
       if(a==2)
       {
          if(bb==0)
          {
             GPIO=G;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }
       if(a==3)
       {
          if(bb==0)
          {
             GPIO=B;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }
       if(a==4)
       {
          if(bb==0)
          {
             GPIO=W;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }
       if(a==7)
       {
          if(bb==0)
          {
             GPIO=RG;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }
       if(a==10)
       {
           if(bb==0)
          {
             GPIO=GB;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }
       if(a==13)
       {
          if(bb==0)
          {
             GPIO=RB;
             delayus(22);
          }
          if(bb==1)
          {
             GPIO=0;
             delayus(22);
          }
       }

       if(a==5)
       {
          if(bb==0)
          {
                GPIO=R;
                delayus(80);
                GPIO=G;
                delayus(2);
          }  
          if(bb==1)
          {
                GPIO=0;
                delayus(82);
          }
               
       }
       if(a==6)
       {
          if(bb==0)
          {
                GPIO=R;
                delayus(60);
                GPIO=G;
                delayus(22);
          }  
          if(bb==1)
          {
                GPIO=0;
                delayus(82);
          }
       }

       if(a==8)
       {
          if(bb==0)
          {
                GPIO=G;
                delayus(80);
                GPIO=B;
                delayus(2);
          }  
          if(bb==1)
          {
                GPIO=0;
                delayus(82);
          }
       }
       if(a==9)
       {
          if(bb==0)
          {
                GPIO=G;
                delayus(60);
                GPIO=B;
                delayus(22);
          }  
          if(bb==1)
           {
                GPIO=0;
                delayus(82);
          }
       }

       if(a==11)
       {
          if(bb==0)
          {
                GPIO=B;
                delayus(80);
                GPIO=R;
                delayus(2);
          }  
          if(bb==1)
          {
                GPIO=0;
                delayus(82);
          }
       }
       if(a==12)
       {
          if(bb==0)
          {
                GPIO=B;
                delayus(60);
                GPIO=R;
                delayus(22);
          }  
          if(bb==1)
          {
                GPIO=0;
                delayus(82);
          }
       }
       TMR1ON=0;
    }
}
void flash_zi()   //红,绿,蓝,白,黄,粉,青跳变子函数
{
    if(b==1)
    {
        ss++;
        if(ss==1000)
        {
           ss=0;
           bb=!bb;
        }
    }
}
///////////////////////////////////////////////////////
void strobe()
{
  if(b==2)
  {
     TMR1ON=1;
     if(c==0)
       GPIO=R;
     if(c==1)
       GPIO=G;
     if(c==2)
       GPIO=B;
     if(c==3)
       GPIO=RG;
     if(c==4)
       GPIO=GB;
     if(c==5)
       GPIO=RB;
     TMR1ON=0;
  }
}
void strobe_zi()
{
    if(b==2)
    {
       hh++;
       if(hh==2000)
       {
         hh=0;
         c++;
         if(c==6)
            c=0;
       }
    }
}
//////////////////////////////////////////////////////
void fade()
{
    if(b==3)
    {
         GPIO=W;
         delayus(20);
         GPIO=0;
         delayus(60);
    }  
}
//////////////////////////////////////////////////////
void smooth()
{
    if(b==4)
    {
       TMR1ON=1;
       if(ee==0)
       {
             GPIO=R;
             delayus(gg);
             GPIO=G;
             delayus(100-gg);
       }
       if(ee==1)
       {
             GPIO=G;
             delayus(gg);
             GPIO=B;
             delayus(100-gg);
       }
       if(ee==2)
       {
             GPIO=B;
             delayus(gg);
             GPIO=R;
             delayus(100-gg);
       }
       TMR1ON=0;
   }
}
void smooth_zi()
{
    if(b==4)
    {
        if(aa==1000)        //每种亮度维持时间
        {
            aa=0;
            gg--;
            if(gg==0)
            {
                gg=99;
                ee++;
                if(ee==3)
                   ee=0;
            }
            
        }  
    }
}
/////////////////////////////////////////////////////////
void anjian()  //按键扫描
{
       if(k==6)         //关
       {
         GPIO=0;
         flag1=0;
         a=0;
         b=0;
       }
       if(k==7)         //开
       {
         flag1=1;
         GPIO=W;
       }
       if(flag1==1)
       {
              if((k==9)||(k==13))     //R;a=1
               {
                 a=1;
                 b=0;
               }
              if((k==8)||(k==12))     //G;a=2
               {
                 a=2;
                 b=0;
               }
              if((k==10)||(k==14))    //B;a=3
               {
                 a=3;
                 b=0;
               }
              if(k==11)             //W;a=4
               {
                 a=4;
                 b=0;
               }
              if(k==21)             //big RG;a=5
                {
                 a=5;
                 b=0;
               }
              if(k==25)             //small RG;a=6
                 {
                 a=6;
                 b=0;
               }
              if(k==17)             //RG;a=7;
                 {
                 a=7;
                 b=0;
               }
              if(k==20)             //big GB;a=8
               {
                 a=8;
                 b=0;
               }
              if(k==24)             //small GB;a=9
               {
                 a=9;
                 b=0;
               }
              if(k==16)             //GB;a=10
               {
                 a=10;
                 b=0;
               }
              if(k==22)             //big RB;a=11
               {
                 a=11;
                 b=0;
               }
              if(k==26)             //small; a=12
                {
                 a=12;
                 b=0;
               }
              if(k==18)             //RB;a=13
               {
                 a=13;
                 b=0;
               }

              if(k==15)             //flash
                 b=1;
              if(k==23)            //strobe
                 b=2;
              if(k==27)            //fade
                 b=3;
              if(k==19)           //smooth
                 b=4;
              if(k==5)            //brightness+
                 b=5;
              if(k==4)            //brightness-
                 b=6;      
        }  
}
//////////////////////////////////////////////////////////////////
void rec()    //uPD6121红外遥控解码程序
{
        uchar i,j;//定义循环操作次数的变量
        if(RMT==0);//等待遥控器按下,接收头输出低电平
    {
        flag=1;
            TMR1ON=0;
            num=0;          //进入遥控接收状态后,清零b的值。便于遥控解码。
            TMR1H=(65536-500)/256;//定时器1寄存器装初值
            TMR1L=(65536-500)%256;
            TMR1ON=1;//开启定时器1
            while(RMT==0);//等待接收头输出高电平
            TMR1ON=0;
            if(num>16&&num<20)//如果时间大于8.0MS,且小于10.0MS则判定为引导码的9.0MS,因为遥控在发射的时候会由于周围的干扰导致载波频率会有偏差(也就是说会在9MS附近)
            {
                    num=0;//清0重新计数
                    TMR1H=(65536-500)/256;   //定时器1寄存器装初值
                    TMR1L=(65536-500)%256;
                    TMR1ON=1;//重新开定时器
                    while(RMT==1);//等待接收头输出低电平
                    TMR1ON=0;
                    if(num>7&&num<11)//如果时间大于3.5MS,且小于5.5MS则判定为引导码的4.5MS
                    {
                            num=0;//清0重新计数
                            TMR1H=(65536-500)/256;//定时器1寄存器装初值
                            TMR1L=(65536-500)%256;
                            for(i=0;i<4;i++)//用来读出四个字节
                            {
                                    for(j=0;j<8;j++)//用来读出每个字节的8位
                                    {
                                            data[i]=data[i]>>1;//先移一次,最后一次直接把数据放到最高位,保,依次从最低字节开始保存,也是从最低位开始保存,保存完8位后自动往下一字节里保存
                                            while(RMT==0);//等待接收头输出高电平,用来检测0和1的低电平宽度.
                                            TMR1ON=1;//开启定时器1
                                            while(RMT==1);//高电平持续时间结束,即等待接收头输出低电平
                                            TMR1ON=0;//关闭定时器中断       
                                            if(num>2&&num<4)//根据波形长度判定码值为0或1,如果高电平时间大于1.0MS,且小于2.0MS则判定为逻辑1
                                                    data[i]=data[i]|0x80;//直接取检测到的数据(即遥控发射键码的一位)
                                            if(num>0&&num<2)//根据波形长度判定码值为0或1,如果高电平时间大于0MS,且小于1.0MS则判定为逻辑0
                                                    data[i]=data[i]|0x00;//直接取检测到的数据
                                            num=0;
                                            TMR1H=(65536-500)/256;
                                            TMR1L=(65536-500)%256;
                                    }
                            }     
                GPIO=0;
                while(RMT==0);
                      k=data[2];   
                if(flag1==1)
                {
                    if(k==5)
                    {
                        tem++;
                        if(tem>5)
                            tem=5;
                    }
                    if(k==4)
                    {
                        tem--;
                        if(tem<1)
                            tem=1;
                    }
                }
             }
            if(num>3&&num<7)  
            {
                asm("nop");               
            }
        }     
        flag=0;
             TMR1H=(65536-20)/256;//定时器1寄存器装初值
        TMR1L=(65536-20)%256;
    }
}

void init()
{
    OPTION=0XFF;
        ANSEL=0;
        TRISIO=0X04;              //GPIO2为输入模式
        GPIO=0;
        INTCON=0xc0;              //中断控制寄存器总中断使能
        TMR1IE=1;                 //定时器1中断使能
        TMR1H=(65536-500)/256;
        TMR1L=(65536-500)%256;
        TMR2IE=1;                 //定时器2中断使能
        TMR2=0;
        T1CON=0;                  //定时器1停止
    T2CON=0;
    flag=0;
    a=0;
    b=0;
    bb=0;
    tem=5;
    gg=99;
}
void delay(uint z)     //MS延时函数
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void delayus(uchar z)  //US延时函数
{
   uchar x;
   for(x=z;x>0;x--)
   {  
        if(RMT==0)
            rec();   
   }
}
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册一灯

本版积分规则

关闭

站长推荐 上一条 /2 下一条

返回顶部快速回复上一主题下一主题返回列表调戏客服手机访问
快速回复 返回顶部 返回列表