欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4805|回復(fù): 2
收起左側(cè)

SK9822智能外控表面貼裝SMD型LED控制協(xié)議STM32源碼,調(diào)節(jié)RGB來(lái)控制LED顏色

[復(fù)制鏈接]
ID:389034 發(fā)表于 2018-8-25 12:10 | 顯示全部樓層 |閱讀模式

這是基于stm32的SK9822智能外控表面貼裝SMD型LED控制協(xié)議,可以通過(guò)調(diào)節(jié)RGB來(lái)控制LED的顏色


單片機(jī)源程序如下:

  1. <font color="rgb(102, 102, 102)"><font face="&quot;"><font style="font-size: 12px"><font color="rgb(102, 102, 102)"><font face="&quot;">#include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"

  4. #define SCL    PBout(12) //SCL
  5. #define SDA    PBout(11) //SDA
  6. #define Led_num 144//led數(shù)量
  7. #define Led_Maxnum 144

  8. const u8 ALed_bright=23; //0-31

  9. //const u32 Led_F;
  10. const u32 ALed_B=0;
  11. const u32 ALed_G=125;
  12. const u32 ALed_R=256;

  13. typedef struct
  14. {
  15. u8 Led_bright; //0-31

  16. u32 Led_F;
  17. u32 Led_B;
  18. u32 Led_G;
  19. u32 Led_R;
  20. }LED;
  21. LED led[Led_num];
  22. LED ledOver={0,0xE0<<5,0,0,0};


  23. void LED_Init(void);
  24. void LED_WriteOneWord(u32 DataToWrite);
  25. u32 Led_Date(LED led);

  26. void LedHavingDate(LED *led){
  27. int i;
  28.         
  29.         LED *p;
  30.         p=led;
  31.         for(i=0;i<1;i++){
  32.         
  33.                 p->Led_bright=ALed_bright;
  34.                 p->Led_F=((0xE0<<5)+p->Led_bright);
  35.                 p->Led_B=ALed_B;
  36.                 p->Led_G=ALed_G;
  37.                 p->Led_R=ALed_R;
  38.                 p++;
  39.                
  40.                
  41.         }
  42. }



  43. int main(void)
  44. {                int i=0;
  45.         delay_init();                     //延時(shí)函數(shù)初始化         
  46.         LED_Init();
  47.         LedHavingDate(led);
  48.         while(1){
  49.                 (led[0].Led_bright)++;
  50.                 for(i=0;i<=Led_num;i++)
  51.                 {
  52.                         if(i==0)//開(kāi)始幀
  53.                                 LED_WriteOneWord((u32)0x00000000);
  54.                                 else
  55.                                 LED_WriteOneWord((u32)Led_Date(led[0]));

  56.                 }
  57.                 for(i=Led_num;i<Led_Maxnum;i++){
  58.                         LED_WriteOneWord((u32)Led_Date(ledOver));
  59.                         
  60.                 }
  61.                 delay_ms(1);
  62.                
  63.                 LED_WriteOneWord((u32)0xFFFFFFFF);
  64.                 //delay_ms(1000);
  65.            if(led[0].Led_bright>=30)led[0].Led_bright=23;
  66.         }
  67.         
  68.         
  69. }



  70. void LED_Init(void)
  71. {                                             
  72.         GPIO_InitTypeDef GPIO_InitStructure;
  73.         
  74.         RCC_APB2PeriphClockCmd(        RCC_APB2Periph_GPIOB, ENABLE );        
  75.            
  76.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_11;
  77.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽輸出
  78.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  79.         GPIO_Init(GPIOB, &GPIO_InitStructure);


  80. }






  81. void LED_WriteOneWord(u32 txd)
  82. {
  83.                               
  84.         u8 t;   
  85.    
  86.     SCL=0;
  87.     for(t=0;t<32;t++)
  88.     {              
  89.         SDA=(txd&0x80000000)>>31;
  90.         txd<<=1;           
  91.                 delay_us(1);   
  92.                 SCL=1;
  93.                 delay_us(1);
  94.                 SCL=0;        
  95.                 delay_us(1);
  96.     }                                                   
  97.          
  98. }

  99. u32 Led_Date(LED led){

  100.         u32 date=0;
  101.         
  102.         date=(led.Led_F<<24)|(led.Led_B<<16)|(led.Led_G<<8)|(led.Led_R);
  103.         return date;
  104.         
  105. }


  106. </font></font></font></font></font>
復(fù)制代碼

所有資料51hei提供下載:

SK9822智能外控表面貼裝SMD型LED.rar (290.1 KB, 下載次數(shù): 40)





評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:695658 發(fā)表于 2020-3-10 15:27 | 顯示全部樓層
SK9822 LED規(guī)格書(shū)

SK9822 LED Datasheet.pdf

421.3 KB, 下載次數(shù): 13, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

無(wú)效樓層,該帖已經(jīng)被刪除
ID:1142899 發(fā)表于 2025-2-28 22:34 | 顯示全部樓層
非常感謝分享!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表