久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: P8913三路恒流256級RGB彩燈驅動使用資料(STM32F1為例) [打印本頁]

作者: csy-2015-06    時間: 2018-10-13 09:49
標題: P8913三路恒流256級RGB彩燈驅動使用資料(STM32F1為例)
P9813驅動RGB燈珠
1          P9813簡介及特點:
2          P8913常見接線圖
因為所有的顏色都是由三原色組合而成,這個RGB彩燈就是讓我們給它紅綠藍三種不同比例就可以顯示出各種顏色。R:red (紅色) G:green(綠色)B:blude(藍色)。驅動芯片負責把三種顏色的顏色系數給到燈珠,燈珠就會顯示彩色。三原色國際色卡自行百度。
3          驅動時序圖及工作參數
由此可得,MCU需要發送的數據
32位0起始信號:        0000 0000 0000 0000 0000 0000 0000 0000
第一點32位灰度數據:   11B7’B6’ G7’G6’R7’R6’ xxxx xxxx xxxx xxxx xxxx xxxx
第二點32位灰度數據:   11B7’B6’ G7’G6’R7’R6’ xxxx xxxx xxxx xxxx xxxx xxxx
                                          (紅色碼  綠色碼  藍色碼)

可見需要延時操作,單片機執行匯編代碼需要時間,所以延時不用太久1us就行。
此外,單片機要發送的數據為

4          驅動思路4.1    發送一位數據:
DIN=0/1    //數據線準備數據
CIN=0   
延時
CIN=1
延時       //時鐘線拉高后變低,數據傳輸到芯片內

4.2    發送32位數據
發送32位數據
For(i=0;i<32;i++)
{
發送一位數據:
}
5          實戰代碼5.1    整合3個三原色數據到一個變量。
u32 Color_Data(unsigned int r,unsigned int g,unsigned int b) //寫入三個八位的值,返回一個32位的數值
{                                       
              u32 temp=0;

              temp |=0x03<<30;         //0xc0--> 1100 0000     1010 1010
              temp |= ((~b)&0xc0)<<22;  //取藍色最高兩位取反,得到B7’ B6’
              temp |= ((~g)&0xc0) <<20; //取綠色最高兩位取反,得到G7’G6’
              temp |= ((~r)&0xc0) <<18;   //取綠色最高兩位取反,得到R7’R6’
              temp |= b<<16;
              temp |= g<<8;
              temp |= r<<0;

              return temp;
}


5.2    MCU發送數據到芯片
void RGB_Send_Data(u32 data)
{
              unsigned int i;
              for(i=0;i<32;i++)
              {
//取data的最高位,如果是1就寫1(注意按位操作是寫16進制)
                            if(data&0x80000000)//準備一位數據  
                            {
                                          RGB_DATA_H;
                            }
                            else
                            {
                                          RGB_DATA_L;                   //否則寫0
                            }
                            data<<=1;//每取出一個數據,讓次高位變成最高位,遍歷整個32位的data值
                            RGB_CLK_L;
                            Delay_us(1);
                            RGB_CLK_H;
                            Delay_us(1);
                            /*以上四步操作令CLK產生上升沿*/
              }
}

5.3    最終的控制函數
void RGB_Color_Control(unsigned int r,unsigned int g,unsigned int b)
{
              u32 color_data;
              color_data= Color_Data(r,g,b) ;

              RGB_Send_Data(0);//先發送32位低電平起始信號
              RGB_Send_Data(color_data); //發送第一個32位灰度數據
              RGB_Send_Data(color_data); //發送第二個32位灰度數據

}

5.4    IO口初始化略(推挽輸出)


全部資料51hei下載地址:
P8913驅動RGB彩燈(stm32F1為例).zip (1.07 MB, 下載次數: 72)



作者: tianqi911    時間: 2019-1-10 17:02
正需要,參考學習。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲免费视频一区 | 福利精品 | 可以看的黄色网址 | 色偷偷网站 | 国产欧美在线播放 | 欧美一区二区在线播放 | 亚洲高清视频在线 | 黄色片一区二区 | 亚洲视频一区二区三区四区 | 久久久久性 | 久久这里只有精品6 | 22精品一区二区三区 | av网站在线免费观看 | 青青草综合网 | 毛片一级片 | 日韩在线播放视频 | 18视频在线观看男男 | 激情综 | 日本不卡在线视频 | 亚洲一区色 | 狠狠干天天干 | 亚洲天堂一区 | 特级丰满少妇一级aaaa爱毛片 | 亚洲欧美精品在线 | 成人在线a | 亚洲综合影院 | 国产成人免费在线 | 1024国产精品 | 成人一级黄色片 | 在线中文字幕视频 | 久久精品久久久久久久 | 国产中文字幕在线播放 | 伊人av网 | 亚洲福利影院 | 99精品免费视频 | 午夜网址 | 国产日韩精品一区二区 | 黄色在线免费看 | 欧美在线中文字幕 | 亚洲一区二区久久 | 草草视频在线观看 |