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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4561|回復: 4
打印 上一主題 下一主題
收起左側(cè)

51單片機紅外遙控RGB流水燈基礎版--帶源碼原理圖,分享給有興趣的你們

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:271321 發(fā)表于 2020-3-15 18:06 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51 紅外遙控RGB流水燈基礎版--帶源碼原理圖,分享給有興趣的你們。大家一起發(fā)動腦筋改出炫酷的亮燈方式,歡迎你們改好后帶程序回來交流哈哈哈
請看附件源代碼,歡迎回帖互相探討哈

電路原理圖如下:


單片機源程序如下:
  1. #include<STC89C5xRC_RDP.h>
  2. //為復雜類型定義別名
  3. #include<intrins.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. sbit IRIN=P4^3;
  7. unsigned char table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff};///
  8. unsigned char table2[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};////高位到低位逐個熄滅////
  9. unsigned char table3[]={0x80,0xc0,0xe0,0xf0};/////高4位依次點亮每個燈P1口//////
  10. unsigned char table4[]={0x01,0x03,0x07,0x0f};//////低4位依次點亮每個燈P1口///
  11. unsigned char table5[]={0x81,0xc3,0xe7,0xff};//////高和低位往中間亮P1口,逐個點亮/////
  12. unsigned char table6[]={0xff,0xfe,0xfc,0xf8,0xe0,0xc0,0x80,0x00};/////低位到高位逐個熄滅/////
  13. unsigned char table7[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};/////依次高位到低位每個點燈亮/////
  14. unsigned char table8[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};/////依次低位到高位每個點燈亮/////
  15. unsigned char table9[]={0xff,0x7e,0x3c,0x18,0x00};//////高和低位往中間亮P1口,逐個熄滅/////
  16. //uchar num;//全局按鍵變量
  17. uchar a;
  18. uint k;
  19. uchar IrValue[6];
  20. uchar Time;
  21. //延時
  22. void delay(uint z)
  23. {
  24. uint x,y;
  25. for(x=z;x>0;x--)
  26. for(y=80;y>0;y--);//////Y=110///////
  27. }
  28. /*******************************************************************************
  29. * 函 數(shù) 名         : delay
  30. * 函數(shù)功能                   : 延時函數(shù),i=1時,大約延時10us
  31. *******************************************************************************/
  32. void delay_r(uchar i)
  33. {
  34.         while(i--);       
  35. }


  36. /*******************************************************************************
  37. /*
  38. interrupt 6===INT2--P4.3
  39. interrupt 7===INT3--P4.2
  40. */
  41. void LSall()
  42.         {
  43. uchar i;
  44.    for(i=0;i<8;i++)
  45.           {
  46.              P3=table7[i];
  47.                          P2=0x00;
  48.              P1=0x00;
  49.              P0=0x00;
  50.              delay(50);
  51.           }
  52.         for(i=0;i<8;i++)
  53.           {         P3=0xff;
  54.              P2=table7[i];
  55.              P1=0x00;
  56.              P0=0x00;
  57.              delay(50);
  58.           }
  59.           for(i=0;i<8;i++)
  60.           {        P3=0xff;
  61.             P2=0xff;
  62.             P1=table7[i];
  63.             P0=0x00;
  64.             delay(50);
  65.           }
  66.           for(i=0;i<8;i++)
  67.           {        P3=0xff;
  68.             P2=0xff;
  69.             P1=0xff;
  70.             P0=table7[i];
  71.             delay(50);
  72.                                        
  73.                        
  74. /////////P2,P1,P0,高位到低位依次每個點亮,循環(huán)2次/////////////

  75.    for(i=0;i<8;i++)
  76.           {
  77.              P0=table8[i];
  78.                                P1=0x00;
  79.              P2=0x00;
  80.              P3=0x00;
  81.              delay(50);
  82.           }
  83.         for(i=0;i<8;i++)
  84.           {         P0=0xff;
  85.              P1=table8[i];
  86.              P2=0x00;
  87.              P3=0x00;
  88.              delay(50);
  89.           }
  90.           for(i=0;i<8;i++)
  91.           {        P0=0xff;
  92.             P1=0xff;
  93.             P2=table8[i];
  94.             P3=0x00;
  95.             delay(50);
  96.           }
  97.           for(i=0;i<8;i++)
  98.           {        P0=0xff;
  99.             P1=0xff;
  100.             P2=0xff;
  101.             P3=table8[i];
  102.             delay(50);
  103.           }

  104. /////////P0,P1,P2,低位到高位依次每個點亮,循環(huán)/////////////


  105.         for(i=0;i<8;i++)
  106.           {
  107.             P0=table8[i];
  108.                 P1=0x00;
  109.                 P2=0x00;
  110.                 delay(50);
  111.           }
  112.           for(i=0;i<8;i++)
  113.           {
  114.             P0=0xff;
  115.                 P1=table8[i];
  116.                 P2=0x00;
  117.                 delay(50);
  118.           }
  119.           for(i=0;i<8;i++)
  120.           {
  121.             P0=0xff;
  122.                 P1=0xff;
  123.                 P2=table8[i];
  124.                 delay(50);
  125.           }
  126.                    for(i=0;i<8;i++)
  127.           {
  128.             P0=0xff;
  129.                 P1=0xff;
  130.                                 P2=0xff;
  131.                 P3=table8[i];
  132.                 delay(50);
  133.           }
  134.           }

  135. ////////////////兩側(cè)往下流,先左后右流//////////


  136.         for(i=0;i<8;i++)
  137.           {
  138.             P0=table8[i];
  139.                 P1=0x00;                                 
  140.                 P2=0x00;
  141.                                 P3=0x00;
  142.                 delay(200);
  143.           }
  144.         for(i=0;i<4;i++)
  145.           {
  146.             P0=0xff;
  147.             P1=table4[i];
  148.                         P2=0x00;
  149.                 delay(200);
  150.           }
  151.    for(i=0;i<4;i++)
  152.           {               
  153.                 P1=0x0f;
  154.                 delay(200);
  155.           }        


  156.                                  for(i=0;i<8;i++)
  157.           {
  158.             P3=table7[i];
  159.                         P2=0x00;
  160.                 P1=0x00;
  161.                 P0=0x00;
  162.                 delay(200);
  163.           }
  164.         for(i=0;i<8;i++)
  165.           {        P3=0xff;
  166.             P2=table7[i];
  167.                 P1=0x00;
  168.                 P0=0x00;
  169.                 delay(200);
  170.           }
  171.         for(i=0;i<4;i++)
  172.           {        P3=0xff;
  173.             P2=0xff;
  174.             P1=table3[i];
  175.                 delay(200);
  176.           }
  177.         for(i=0;i<4;i++)
  178.       {        
  179.                 P1=0xf0;
  180.                 delay(200);
  181.           }

  182. /////////////////兩側(cè)循環(huán)閃爍4次///////////

  183.    for(a=0;a<=3;a++)/////循環(huán)4次////
  184.          {

  185.    for(i=0;i<8;i++)
  186.           {
  187.             P3=0xff;
  188.                 P2=0xf0;
  189.                 P1=0x0f;
  190.                                 P0=0x00;
  191.                 delay(100);
  192.           }

  193.    for(i=0;i<8;i++)
  194.           {
  195.             P0=0xff;
  196.                 P1=0xf0;
  197.                 P2=0x0f;
  198.                                 P3=0x00;
  199.                 delay(100);
  200.           }
  201.           }

  202. ////////////////兩側(cè)往下逐個點亮////////


  203.     for(a=0;a<=1;a++) //////////循環(huán)次數(shù)(a<=1)4次///////
  204.            {
  205.              for(i=0;i<8;i++)
  206.                {
  207.                 P0=table8[i];
  208.                     P3=table7[i];
  209.                         P1=0x00;
  210.                                                 P2=0x00;
  211.                         delay(200);
  212.                    }
  213.                  for(i=0;i<4;i++)
  214.                    {        P3=0xff;
  215.                         P0=0xff;
  216.                         P2=0xff;                        
  217.                         P1=table5[i];
  218.                     delay(200);
  219.                }
  220.             }

  221. /////////////////兩側(cè)往下逐個熄滅/////////


  222.     for(a=0;a<=1;a++) //////////循環(huán)次數(shù)(a<=1)2次///////
  223.            {
  224.             for(i=0;i<8;i++)
  225.               {                              
  226.                 P3=table2[i];
  227.                     P0=table6[i];
  228.                                         P2=0xff;
  229.                     P1=0xff;
  230.                 delay(100);
  231.               }
  232.             for(i=0;i<5;i++)
  233.               {   P3=0x00;                           
  234.                  P2=0x00;
  235.                      P1=table9[i];
  236.                         P0=0x00;
  237.                  delay(100);
  238.                }
  239.             }     
  240.                   
  241. ///////////////P0,P1,P2,全亮逐個熄滅/////////****//

  242.         for(i=0;i<8;i++)
  243.           {                              
  244.             P0=table6[i];
  245.                 P1=0xff;
  246.                 P2=0xff;
  247.                                 P3=0xff;
  248.             delay(100);
  249.           }
  250.         for(i=0;i<8;i++)
  251.           {                              
  252.                 P0=0x00;
  253.                 P1=table6[i];
  254.                 P2=0xff;
  255.                                 P3=0xff;
  256.                delay(100);
  257.           }
  258.    for(i=0;i<8;i++)
  259.           {                              
  260.                 P0=0x00;
  261.                 P1=0x00;
  262.                 P2=table6[i];
  263.                                 P3=0xff;
  264.                 delay(100);
  265.          }

  266. ///////////////P2,P1,P0,全亮逐個熄滅/////////


  267.                                   for(i=0;i<8;i++)
  268.           {                              
  269.             P3=table2[i];
  270.                         P2=0xff;
  271.                 P1=0xff;
  272.                 P0=0xff;
  273.             delay(100);
  274.           }
  275.         for(i=0;i<8;i++)
  276.           { P3=0x00;                              
  277.             P2=table2[i];
  278.                 P1=0xff;
  279.                 P0=0xff;
  280.             delay(100);
  281.           }
  282.         for(i=0;i<8;i++)
  283.           {     P3=0x00;                          
  284.                 P2=0x00;
  285.                 P1=table2[i];
  286.                 P0=0xff;
  287.                delay(100);
  288.           }
  289.    for(i=0;i<8;i++)
  290.           {     P3=0x00;                          
  291.                 P2=0x00;
  292.                 P1=0x00;
  293.                 P0=table2[i];
  294.                 delay(100);
  295.           }      
  296. }

  297. void LS6()
  298. {       
  299. uchar i;
  300. ////////////////兩側(cè)往下流,先左后右流//////////
  301. for(i=0;i<8;i++){P0=table8[i];P1=0x00;P2=0x00;P3=0x00;delay(200);}
  302. for(i=0;i<4;i++){P0=0xff;P1=table4[i];P2=0x00;delay(200);}
  303. for(i=0;i<4;i++){P1=0x0f;delay(200);}        
  304. for(i=0;i<8;i++){P3=table7[i];P2=0x00;P1=0x00;P0=0x00;delay(200);}
  305. for(i=0;i<8;i++){P3=0xff;P2=table7[i];P1=0x00;P0=0x00;delay(200);}
  306. for(i=0;i<4;i++){P3=0xff;P2=0xff;P1=table3[i];delay(200);}
  307. for(i=0;i<4;i++){P1=0xf0;delay(200);}
  308. }
  309. void LS5()
  310. {       
  311. uchar i;
  312. /////////////////兩側(cè)循環(huán)閃爍4次///////////
  313. for(a=0;a<=3;a++)/////循環(huán)4次////
  314. {for(i=0;i<8;i++){P3=0xff;P2=0xf0;P1=0x0f;P0=0x00;delay(100);}
  315. for(i=0;i<8;i++){P0=0xff;P1=0xf0;P2=0x0f;P3=0x00;delay(100);}
  316. }}

  317. void LS4()
  318. {       
  319. uchar i;
  320. ///////////////P0,P1,P2,全亮逐個熄滅/////////****//
  321. for(i=0;i<8;i++){P0=table6[i];P1=0xff;P2=0xff;P3=0xff;delay(100);}
  322. for(i=0;i<8;i++){P0=0x00;P1=table6[i];P2=0xff;P3=0xff;delay(100);}
  323. for(i=0;i<8;i++){P0=0x00;P1=0x00;P2=table6[i];P3=0xff;delay(100);}
  324. ///////////////P2,P1,P0,全亮逐個熄滅/////////
  325. for(i=0;i<8;i++){P3=table2[i];P2=0xff;P1=0xff;P0=0xff;delay(100);}
  326. for(i=0;i<8;i++){P3=0x00;P2=table2[i];P1=0xff;P0=0xff;delay(100);}
  327. for(i=0;i<8;i++){P3=0x00;P2=0x00;P1=table2[i];P0=0xff;delay(100);}
  328. for(i=0;i<8;i++){P3=0x00;P2=0x00;P1=0x00;P0=table2[i];delay(100);}      
  329. }

  330. void LS3()
  331. {       
  332. uchar i;
  333. ///////////////兩側(cè)往下逐個點亮////////
  334. for(a=0;a<=1;a++) //////////循環(huán)次數(shù)(a<=1)4次///////
  335. {for(i=0;i<8;i++){P0=table8[i];P3=table7[i];P1=0x00;P2=0x00;delay(200);}
  336. for(i=0;i<4;i++){        P3=0xff;P0=0xff;P2=0xff;P1=table5[i];delay(200);}}
  337. /////////////////兩側(cè)往下逐個熄滅/////////
  338. for(a=0;a<=1;a++) //////////循環(huán)次數(shù)(a<=1)2次///////
  339. {for(i=0;i<8;i++){P3=table2[i];P0=table6[i];P2=0xff;P1=0xff;delay(100);}
  340. for(i=0;i<5;i++){ P3=0x00;P2=0x00;P1=table9[i];P0=0x00;delay(100);}}}                  

  341. void LS2()
  342. {
  343. ////////////////兩側(cè)往下逐個點亮////////
  344. uchar i;
  345. for(a=0;a<=1;a++) //////////循環(huán)次數(shù)(a<=1)4次///////
  346. { for(i=0;i<8;i++){P0=table8[i];P3=table7[i];P1=0x00;P2=0x00;delay(200);}
  347. for(i=0;i<4;i++){        P3=0xff;P0=0xff;P2=0xff;P1=table5[i];delay(200);}}
  348. }

  349. void LS1()
  350. {
  351. uchar i;
  352. for(i=0;i<8;i++)
  353. {P3=table7[i];P2=0x00;P1=0x00;P0=0x00;delay(50);}
  354. for(i=0;i<8;i++)
  355. {P3=0xff;P2=table7[i];P1=0x00;P0=0x00;delay(50);}
  356. for(i=0;i<8;i++)
  357. {P3=0xff;P2=0xff;P1=table7[i];P0=0x00;delay(50);}
  358. for(i=0;i<8;i++)
  359. {P3=0xff;P2=0xff;P1=0xff;P0=table7[i];delay(50);}
  360. }


  361. void IrInit()
  362. {
  363.         IT2=1;//下降沿觸發(fā)
  364.         EX2=1;//打開中斷0允許
  365.         EA=1;        //打開總中斷

  366.         IRIN=1;//初始化端口
  367. }


  368. /*******************************************************************************
  369. * 函數(shù)名         : ReadIr()
  370. * 函數(shù)功能                   : 讀取紅外數(shù)值的中斷函數(shù)
  371. * 輸入           : 無
  372. * 輸出                  : 無
  373. *******************************************************************************/

  374. void ReadIr() interrupt 6
  375. {
  376.         uchar j,k;
  377.         uint err;
  378.         Time=0;                                         
  379.         delay_r(700);        //7ms
  380.         if(IRIN==0)                //確認是否真的接收到正確的信號
  381.         {         
  382.                
  383.                 err=1000;                                //1000*10us=10ms,超過說明接收到錯誤的信號
  384.                 /*當兩個條件都為真是循環(huán),如果有一個條件為假的時候跳出循環(huán),免得程序出錯的時
  385.                 侯,程序死在這里*/       
  386.                 while((IRIN==0)&&(err>0))        //等待前面9ms的低電平過去                 
  387.                 {                       
  388.                         delay_r(1);
  389.                         err--;
  390.                 }
  391.                 if(IRIN==1)                        //如果正確等到9ms低電平
  392.                 {
  393.                         err=500;
  394.                         while((IRIN==1)&&(err>0))                 //等待4.5ms的起始高電平過去
  395.                         {
  396.                                 delay_r(1);
  397.                                 err--;
  398.                         }
  399.                         for(k=0;k<4;k++)                //共有4組數(shù)據(jù)
  400.                         {                               
  401.                                 for(j=0;j<8;j++)        //接收一組數(shù)據(jù)
  402.                                 {

  403. ……………………

  404. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
51 IR_RGB.rar (646.68 KB, 下載次數(shù): 65)


評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:686739 發(fā)表于 2020-3-15 21:15 來自手機 | 只看該作者
謝謝分享
回復

使用道具 舉報

板凳
ID:135809 發(fā)表于 2020-3-15 21:59 | 只看該作者
學習學習,非常感謝老師分享
回復

使用道具 舉報

地板
ID:686417 發(fā)表于 2020-3-16 16:10 | 只看該作者
最近也很想研究這方面內(nèi)容,但是之前學的是Arduino,控制RGB led燈帶,現(xiàn)在想拓展學習單片機
有機會向你請教,
回復

使用道具 舉報

5#
ID:686417 發(fā)表于 2020-3-16 16:12 | 只看該作者
學習學習,非常感謝老師分享
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男人亚洲天堂 | 亚洲精品视频久久 | 97av视频在线观看 | 国产主播第一页 | 午夜精品视频在线观看 | 91资源在线| av大片 | 精品视频免费 | 秋霞av国产精品一区 | av手机在线看 | 99re| 午夜精品久久久久久久久久久久久 | 国产成人小视频 | 91人人澡人人爽 | 国户精品久久久久久久久久久不卡 | 完全免费在线视频 | 孕妇一级毛片 | h片在线免费观看 | 一本久久a久久精品亚洲 | 日本a∨视频 | h视频免费在线观看 | 国产精品久久一区二区三区 | 国产激情偷乱视频一区二区三区 | 免费黄篇| 免费观看一级黄色录像 | 国产精品久久国产精品99 gif | 国产精品欧美大片 | 成人性视频免费网站 | 天堂久久天堂综合色 | 亚洲一区二区免费看 | 国产精品国产三级国产aⅴ中文 | 国产亚洲欧美另类一区二区三区 | 午夜精品一区 | 亚洲欧美精品在线观看 | 免费亚洲成人 | 国产精品二区三区在线观看 | 日日爱视频 | www久久99| 成人精品视频在线观看 | 久久人人网| 久久成人av电影 |