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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8583|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

用單片機(jī)控制LED燈帶的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
最近在研究單片機(jī)控制ws2812b燈帶 我用的是1T的單片機(jī)STC12c2052AD  晶振11.0592M  
但是控制有問題 我想亮10個燈 但是只亮一個 顏色還不對  有了解的大神嗎  指導(dǎo)一下 感激之至
資料如下

  1. #include "STC12C2052AD.H"
  2. #include <intrins.h>

  3. #define uchar unsigned char
  4. sbit Din=P3^5;      //數(shù)據(jù)端口

  5. uchar bdata LED_DAT;
  6. sbit bit0 = LED_DAT^0;
  7. sbit bit1 = LED_DAT^1;
  8. sbit bit2 = LED_DAT^2;
  9. sbit bit3 = LED_DAT^3;
  10. sbit bit4 = LED_DAT^4;
  11. sbit bit5 = LED_DAT^5;
  12. sbit bit6 = LED_DAT^6;
  13. sbit bit7 = LED_DAT^7;

  14. uchar RR,GG,BB;

  15. void delayus(uchar z)
  16. {
  17.         uchar i;
  18.         for (i=0;i<z;i++)
  19.         {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}
  20. }

  21. void CODE1()
  22. {
  23.         Din= 1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();                        
  24.         Din= 0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();                                                                        
  25. }

  26. void CODE0()
  27. {
  28.         Din= 1;_nop_();_nop_();_nop_();_nop_();                                                                                                        
  29.         Din= 0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();                        
  30. }

  31. void Reset()
  32. {
  33.   Din = 0;
  34.   delayus(60);        
  35. }

  36. void SendData()
  37. {
  38.   LED_DAT = GG;
  39.         if(bit7==1) {CODE1();} else {CODE0();}   
  40.         if(bit6==1) {CODE1();} else {CODE0();}   
  41.         if(bit5==1) {CODE1();} else {CODE0();}   
  42.         if(bit4==1) {CODE1();} else {CODE0();}   
  43.         if(bit3==1) {CODE1();} else {CODE0();}   
  44.         if(bit2==1) {CODE1();} else {CODE0();}   
  45.         if(bit1==1) {CODE1();} else {CODE0();}   
  46.         if(bit0==1) {CODE1();} else {CODE0();}
  47.   LED_DAT = RR;
  48.         if(bit7==1) {CODE1();} else {CODE0();}   
  49.         if(bit6==1) {CODE1();} else {CODE0();}   
  50.         if(bit5==1) {CODE1();} else {CODE0();}   
  51.         if(bit4==1) {CODE1();} else {CODE0();}   
  52.         if(bit3==1) {CODE1();} else {CODE0();}   
  53.         if(bit2==1) {CODE1();} else {CODE0();}   
  54.         if(bit1==1) {CODE1();} else {CODE0();}   
  55.         if(bit0==1) {CODE1();} else {CODE0();}
  56.   LED_DAT = BB;
  57.          if(bit7==1) {CODE1();} else {CODE0();}   
  58.          if(bit6==1) {CODE1();} else {CODE0();}   
  59.          if(bit5==1) {CODE1();} else {CODE0();}   
  60.          if(bit4==1) {CODE1();} else {CODE0();}   
  61.          if(bit3==1) {CODE1();} else {CODE0();}   
  62.          if(bit2==1) {CODE1();} else {CODE0();}   
  63.          if(bit1==1) {CODE1();} else {CODE0();}   
  64.          if(bit0==1) {CODE1();} else {CODE0();}
  65. }

  66. void send_string_data(uchar num)
  67. {
  68.         uchar i;
  69.         for (i=0;i<num;i++)
  70.         {
  71.            SendData();
  72.                    Reset()         ;
  73.         }
  74. }

  75. void main()
  76. {  
  77.   // P3M0=0x00;    //強(qiáng)推挽輸出 可達(dá)20mA 配置P3^5口
  78.   // P3M1=0x20;     //強(qiáng)推挽輸出 可達(dá)20mA 配置P3^5口
復(fù)制代碼
看看什么地方出錯了  謝謝大家


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:162491 發(fā)表于 2017-3-26 15:41 | 只看該作者
本帖最后由 11234 于 2017-3-26 15:42 編輯
  1. void main()
  2. {  
  3.   // P3M0=0x00;    //強(qiáng)推挽輸出 配置P3^5口
  4.   // P3M1=0x20;     //強(qiáng)推挽輸出 配置P3^5口

  5.    RR=25;GG=25;BB=112;   //深藍(lán)色
  6.    delayus(50);        
  7.    
  8.    send_string_data(10);
  9.            while(1);
  10. }
復(fù)制代碼
回復(fù)

使用道具 舉報

板凳
ID:111634 發(fā)表于 2017-3-26 22:36 | 只看該作者
與控制循環(huán)燈基本無區(qū)別,只是增大了驅(qū)動電流。
回復(fù)

使用道具 舉報

地板
ID:162491 發(fā)表于 2017-3-27 09:46 | 只看該作者
zl2168 發(fā)表于 2017-3-26 22:36
與控制循環(huán)燈基本無區(qū)別,只是增大了驅(qū)動電流。

配置P3口的話 20mA 強(qiáng)推挽輸出也不行
回復(fù)

使用道具 舉報

5#
ID:111634 發(fā)表于 2017-3-27 20:21 | 只看該作者
本帖最后由 zl2168 于 2017-3-27 20:24 編輯
11234 發(fā)表于 2017-3-27 09:46
配置P3口的話 20mA 強(qiáng)推挽輸出也不行

小于 20mA ,就用強(qiáng)推挽輸出;大于 20mA ,就另加驅(qū)動。哪怕2A、20A都可以。
什么叫單片機(jī),單片機(jī)就是控制執(zhí)行元件、智能控制,至于電流,那是選擇執(zhí)行元件的負(fù)載能力。
回復(fù)

使用道具 舉報

6#
ID:162491 發(fā)表于 2017-3-28 10:21 | 只看該作者
zl2168 發(fā)表于 2017-3-27 20:21
小于 20mA ,就用強(qiáng)推挽輸出;大于 20mA ,就另加驅(qū)動。哪怕2A、20A都可以。
什么叫單片機(jī),單片機(jī)就是 ...

看下我那個發(fā)送數(shù)據(jù)SendData() 有問題嗎 顏色控制有問題現(xiàn)在
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 人人做人人澡人人爽欧美 | 99视频在线免费观看 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 日本不卡一二三 | 亚洲精品乱码久久久久久黑人 | 三级在线视频 | 日韩欧美在线一区 | 爱爱视频在线观看 | 一区二区三区视频在线观看 | 日韩午夜在线观看 | 一级a性色生活片久久毛片 一级特黄a大片 | 精品国产一区二区三区在线观看 | 欧美一级www片免费观看 | 99久久久国产精品 | 久久成人国产 | 一区二区免费看 | 精品成人 | 日韩电影免费在线观看中文字幕 | 国产精品久久久久久久一区二区 | 日韩欧美亚洲 | chinese中国真实乱对白 | 亚洲国产一区在线 | 成人欧美一区二区三区黑人孕妇 | 欧美性猛交一区二区三区精品 | 久久久91精品国产一区二区三区 | av手机免费在线观看 | 亚洲精品乱码久久久久久按摩观 | 成人小视频在线观看 | 国产成人精品久久二区二区91 | 午夜精品影院 | 国产一区免费视频 | 国产精品久久久久久久久婷婷 | 日日干夜夜操 | 日韩视频 中文字幕 | 一区二区三区四区免费视频 | 国产精品久久久久久婷婷天堂 | 久久国产综合 | 欧美99| 五月婷婷激情网 | 亚洲精品一区二区三区中文字幕 | 99精品欧美一区二区蜜桃免费 |