標(biāo)題: 手機(jī)藍(lán)牙控制的單片機(jī)心形燈制作 [打印本頁(yè)]

作者: 51黑sun    時(shí)間: 2016-7-5 02:59
標(biāo)題: 手機(jī)藍(lán)牙控制的單片機(jī)心形燈制作
視頻地址:http://v.qq.com/page/f/9/9/f0306rbk299.html




藍(lán)牙是淘寶買的 HC-05,原理挺簡(jiǎn)單的,就是51單片機(jī)的串口通信,還有靈活使用hex和ASCII碼

單片機(jī)程序:
  1. #include
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. void delay1ms(uint n);
  5. uint table1_0[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  6. uint table1_1[]={0x41,0x22,0x14,0x08,0x14,0x22,0x41};
  7. uint table0_0[]={0x01,0x02,0x04,0x08};
  8. uint table0_1[]={0x05,0x0a,0x05,0x0a};
  9. uint n=500;
  10. uchar temp=0x00;
  11. void main()
  12. {
  13.         unsigned char i=0,j=0;
  14.         P1=0xff;
  15.         P0=0xff;
  16.         P2=0xff;
  17.         SCON=0x50;
  18.         TMOD=0x20;
  19.   PCON = 0x80;
  20.         TH1=0xfa;
  21.         TL1=0xfa;
  22.         ES=1;
  23.         EA=1;
  24.         TR1=1;
  25.         RI=0;
  26.         
  27.                 /*********************開(kāi)燈**************************/
  28.         /*
  29.         while(1)
  30.         {
  31.                 P0=0x0f;
  32.                 P1=0x00;
  33.         }
  34.         */
  35.         
  36.         /*********************關(guān)燈**************************/
  37.         /*
  38.         while(1)
  39.         {
  40.                 P0=0x00;
  41.                 P1=0xff;
  42.         }
  43.         */
  44.         
  45.                 /***************全閃************************/
  46.         /*
  47.         while(1)
  48.         {
  49.                 P0=0x0f;
  50.                 P1=0x00;
  51.                 delay1ms(100);
  52.                 P0=0x00;
  53.                 P1=0xff;
  54.                 delay1ms(100);
  55.         }
  56.         */
  57.         
  58.         /*********************正流水燈*****************************/
  59.         /*
  60.         while(1)
  61.         {
  62.                 for(i=0;i<4;i++)
  63.                 {
  64.                         P0=table0_0[i];
  65.                         for(j=0;j<7;j++)
  66.                         {
  67.                                 P1=~table1_0[j];
  68.                                 delay1ms(100);
  69.                         }
  70.                 }
  71.         }
  72.         */
  73.         /*********************倒流水燈*****************************/
  74.         /*
  75.         while(1)
  76.         {
  77.                 for(i=4;i>0;i--)
  78.                 {
  79.                         P0=table0_0[i-1];
  80.                         for(j=7;j>0;j--)
  81.                         {
  82.                                 P1=~table1_0[j-1];
  83.                                 delay1ms(100);
  84.                         }
  85.                 }
  86.         }
  87.         */
  88.         

  89.         /*********************向中看齊*****************************/
  90.         /*
  91.         while(1)
  92.         {
  93.                         P0=0x0f;
  94.                         for(j=0;j<7;j++)
  95.                         {
  96.                                 P1=~table1_1[j];
  97.                                 delay1ms(100);
  98.                         }
  99.         }
  100.         */
  101. /***********************雙燈跑馬********************/
  102. /*
  103. while(1)
  104.         {
  105.                         for(i=0;i<4;i++)
  106.                 {
  107.                         P0=table0_1[i];
  108.                         for(j=0;j<7;j++)
  109.                         {
  110.                                 P1=~table1_0[j];
  111.                                 delay1ms(100);
  112.                         }
  113.                 }        
  114.         }        
  115.         */
  116. /***********************四燈跑馬********************/
  117. /*
  118. while(1)
  119.         {
  120.                                 P0=0x0f;
  121.                                 for(j=0;j<7;j++)
  122.                                 {
  123.                                         P1=~table1_0[j];
  124.                                         delay1ms(100);
  125.                                 }        
  126.         }
  127.         */
  128.         /**********************響應(yīng)程序***********************/

  129.         while(1)
  130.         {
  131.                         while(temp=='a')
  132.                                 {
  133.                                 P2=0xff;
  134.                                 P0=0x0f;
  135.                                 P1=0x00;
  136.                                 }
  137.                         while(temp=='b')
  138.                                 {
  139.                                 P2=0xff;
  140.                                 P0=0x0f;
  141.                                 P1=0x00;
  142.                                 delay1ms(n);
  143.                                 P0=0x00;
  144.                                 P1=0xff;
  145.                                 delay1ms(n);
  146.                                 }
  147.                         while(temp=='c')
  148.                                 {
  149.                                 P2=0xff;
  150.                                 P0=0x00;
  151.                                 P1=0xff;
  152.                                 }
  153.                         while(temp=='d')
  154.                                 {
  155.                                 P2=0xff;
  156.                                 for(i=0;i<4;i++)
  157.                                                 {
  158.                                                         P0=table0_0[i];
  159.                                                         for(j=0;j<7;j++)
  160.                                                                 {
  161.                                                                         P1=~table1_0[j];
  162.                                                                         delay1ms(n);
  163.                                                                 }
  164.                                                 }
  165.                                 }
  166.                         while(temp=='e')
  167.                                 {
  168.                                 P2=0xff;
  169.                                         P0=0x0f;
  170.                                         for(j=0;j<7;j++)
  171.                                         {
  172.                                                 P1=~table1_1[j];
  173.                                                 delay1ms(n);
  174.                                         }
  175.                                 }
  176.                         while(temp=='f')
  177.                                 {
  178.                                 P2=0xff;
  179.                                         for(i=4;i>0;i--)
  180.                                         {
  181.                                                 P0=table0_0[i-1];
  182.                                                 for(j=7;j>0;j--)
  183.                                                 {
  184.                                                         P1=~table1_0[j-1];
  185.                                                         delay1ms(n);
  186.                                                 }
  187.                                         }
  188.                                 }
  189.                         while(temp=='g')
  190.                                 {
  191.                                 P2=0xff;
  192.                                         for(i=0;i<4;i++)
  193.                                                 {
  194.                                                         P0=table0_1[i];
  195.                                                         for(j=0;j<7;j++)
  196.                                                         {
  197.                                                                 P1=~table1_0[j];
  198.                                                                 delay1ms(n);
  199.                                                         }
  200.                                                 }        
  201.                                 }
  202.                         while(temp=='i')
  203.                                 {
  204.                                         P2=0xff;
  205.                                         P0=0x0f;
  206.                                         for(j=0;j<7;j++)
  207.                                         {
  208.                                                 P1=~table1_0[j];
  209.                                                 delay1ms(n);
  210.                                         }        
  211.                                 }
  212.         }
  213. }                        
  214.                                 
  215. void serial_int() interrupt 4
  216. {
  217.         uchar num;
  218.         num=temp;
  219.         temp=SBUF;
  220.         RI=0;
  221.         SBUF=temp;
  222.         while(!TI);
  223.         TI=0;
  224.         if(temp=='k')
  225.                 {
  226.                         n=n*2;
  227.                 //        SBUF=n;
  228.                 //        while(!TI);
  229.                 //        TI=0;
  230.                         if(n>500000)
  231.                                 n=500000;
  232.                                 temp=num;
  233.                 }
  234.         else if(temp=='j')
  235.                 {
  236.                                 n=n/2;
  237.                                 if(n==0)
  238.                                         n=1;
  239.                         //        SBUF=n;
  240.                         //        while(!TI);
  241.                         //        TI=0;
  242.                                 temp=num;
  243.                 }
  244.                 else if(temp=='a'||temp=='b'||temp=='c'||temp=='d'||temp=='e'||temp=='f'||temp=='g'||temp=='i')
  245.                 {
  246.                         
  247.                 }
  248.                 else
  249.                 {
  250.                         P1=0xff;
  251.                         P2=~temp;
  252.                 }
  253.                
  254. }
  255. void delay1ms(uint n)   //誤差 0us
  256. {
  257.     unsigned int a,b,c;
  258.     for(c=n;c>0;c--)
  259.         for(b=14;b>0;b--)
  260.             for(a=2;a>0;a--);
  261. }
復(fù)制代碼



模塊程序.doc

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


作者: hou1232    時(shí)間: 2017-2-22 20:33
寫的太好了
作者: 幸福早    時(shí)間: 2017-2-23 18:39
樓主,有想法,贊一個(gè)
作者: 小鵬鳥    時(shí)間: 2017-2-26 11:13
哇!太好高級(jí)了,真的很不錯(cuò),我也想做一個(gè),只是我現(xiàn)在才接觸單片機(jī),有很多東西都還不懂呢。恩恩,等我完全掌握單片機(jī)后一定做一個(gè)。
作者: DerHase    時(shí)間: 2017-3-28 16:40
學(xué)習(xí)了,很有創(chuàng)意樓主
作者: a290792218    時(shí)間: 2017-3-28 22:50
手機(jī)軟件是什么呢,樓主
作者: 看著我    時(shí)間: 2017-7-27 12:45
不錯(cuò),學(xué)習(xí)啦~
作者: xiehuanle    時(shí)間: 2017-10-17 20:09
那個(gè)手機(jī)上面的程序按鍵是怎么編寫的呢
作者: lxa0    時(shí)間: 2017-10-17 23:41
xiehuanle 發(fā)表于 2017-10-17 20:09
那個(gè)手機(jī)上面的程序按鍵是怎么編寫的呢

核心技術(shù)不會(huì)從天上掉下來(lái)的~~~~~~~~~
作者: GG276192978    時(shí)間: 2017-10-18 09:07
手機(jī)軟件是有相應(yīng)的APP么
作者: sx202    時(shí)間: 2017-10-20 20:33
操作方式真好,要是能把手機(jī)端程序也分享一下就好了。
作者: 練氏    時(shí)間: 2017-10-20 22:17
可否原理圖分享下,還有手機(jī)藍(lán)牙通訊APP
作者: 446436812    時(shí)間: 2017-12-19 20:23
謝謝分享,拿走學(xué)習(xí)了
作者: 446436812    時(shí)間: 2017-12-19 20:25
很給力
作者: 446436812    時(shí)間: 2017-12-19 20:28
操作方式真好,要是能把手機(jī)端程序也分享一下就好了。
作者: 記憶鎏金    時(shí)間: 2017-12-21 21:30
可以可以,贊一個(gè)
作者: 末代皇妃    時(shí)間: 2018-10-7 17:13
絕世好貼真的
作者: 蒙河河    時(shí)間: 2019-4-30 22:07
樓主,現(xiàn)在你還在嗎?有問(wèn)題想請(qǐng)教
作者: 雨落    時(shí)間: 2019-5-19 15:10
請(qǐng)問(wèn)有具體的電路圖嗎
作者: jiangquancai    時(shí)間: 2019-5-19 20:18
藍(lán)牙控制。應(yīng)該WiFi也行
作者: wcs1668    時(shí)間: 2019-8-1 11:10
操作方式真好,要是能把手機(jī)端程序也分享一下就好了。
作者: 快樂(lè)眼淚    時(shí)間: 2019-8-1 20:38
為樓主點(diǎn)贊!
作者: 廢后將軍    時(shí)間: 2020-3-13 23:02
想知道藍(lán)牙通信模塊的實(shí)現(xiàn),樓主可以講一下嗎?
作者: China燃!    時(shí)間: 2020-3-16 10:02
都需要什么元件呢
作者: 200121    時(shí)間: 2021-4-27 00:47
可以給個(gè)電路嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1