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

QQ登錄

只需一步,快速開始

帖子
查看: 2659|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

藍(lán)牙遙控小車 基于hc-05和hc-31的單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:222758 發(fā)表于 2017-12-19 18:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于hc-05和hc-31的程序

單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include <intrins.h>

  3. sbit Sound=P0^0;//嘀嘀嘀
  4. sbit car1=P0^1;
  5. sbit car2=P0^2;
  6. sbit car3=P0^3;
  7. sbit car4=P0^4;

  8. sbit LEDARRAY_CLK = P0^5;
  9. sbit LEDARRAY_LE  = P0^6;
  10. sbit LEDARRAY_DI  = P0^7;//點(diǎn)陣

  11. bit flag;
  12. unsigned char led_8;
  13. unsigned char js;
  14. unsigned char code  xin[]={0x0C,0x1E,0x3E,0x7C,0x7C,0x3E,0x1E,0x0C};
  15. unsigned char code  jin[]={0x00,0x00,0x42,0x82,0x7e,0x02,0x02,0x00};
  16. unsigned char code xiao[]={0x84,0x42,0x24,0x18,0x18,0x24,0x42,0x80};
  17. unsigned char code qian[]={0x00,0x1e,0x21,0x21,0x31,0x21,0x5e,0x40};
  18. unsigned char code black[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

  19. void delay(unsigned char t)
  20. {
  21.         unsigned  int m;
  22.   for(;t>0;t--)
  23.                 for(m=5000;m>0;m--);

  24. }
  25. /*-------------函數(shù)聲明-----------*/
  26. void sport(unsigned char sport);
  27. void Send_Byte( unsigned char dat);
  28. void disply(unsigned char code *p);
  29. /*=*=*=*=*=*=*=*=*=*=*主--函--數(shù)=*=*=*=*=*=*=*=*=*=*=*/
  30. void main ()
  31. {
  32.          unsigned char LED;
  33.          TMOD=0X20; //設(shè)置定時(shí)器1工作方式2,八位自動(dòng)重裝
  34.    TH1=0Xfd;  
  35.    TL1=0Xfd; //設(shè)定9600波特率
  36.    TR1=1;         //啟動(dòng)定時(shí)器
  37.    REN=1;         //允許串行口接收控制位
  38.    SM0=0;       
  39.    SM1=1;         //設(shè)定串行口工作方式1
  40.    EA=1;     //總中斷控制位打開  
  41.    ES=1;     //串行口中斷控制位打開       
  42.         Sound=1;
  43.         car1=0;
  44.         car2=0;
  45.         car3=0;
  46.         car4=0;
  47.   led_8=0x1f;
  48. flag=0;LED=1;
  49.   while(1)
  50.   {       
  51.                 L:
  52.           if(flag==1)
  53.                 {
  54.                  LED=~LED;
  55.                  disply(black);
  56.                  P1=0Xff;
  57.                  flag=0;
  58.                 }
  59.                 if(LED==1)
  60.                 {
  61.                  disply(xin);if(flag==1) goto L;
  62.                  disply(jin);if(flag==1) goto L;  
  63.                  disply(xiao);if(flag==1) goto L;  
  64.                  disply(qian);
  65.                 }               
  66.   }//while
  67. }//main

  68. /*=================串口中斷程序=================*/
  69. void serial() interrupt 4
  70. {
  71.    RI=0;               //清零,準(zhǔn)備接收數(shù)據(jù)
  72.    js=SBUF;        //接收數(shù)據(jù)
  73.    sport(js);      //運(yùn)動(dòng)控制
  74. }
  75. /*=====================================================
  76.           ---------運(yùn)動(dòng)調(diào)節(jié)函數(shù)---------
  77. =====================================================*/
  78. void sport(unsigned char sport)
  79. {
  80.   switch(sport)
  81.   {
  82.                 case 0x41: car1=1;car2=0;car3=0;car4=1; break;/////////////方向鍵 A       
  83.           case 0x42: car1=0;car2=1;car3=1;car4=0; break;/////////////方向鍵 B
  84.                
  85.                 case 0x43: car1=1;car2=1;car3=1;car4=1; break;/////////////暫停鍵 C

  86.                 case 0x44: car1=0;car2=1;car3=0;car4=1; break;/////////////后退鍵 D       
  87.                 case 0x45: car1=1;car2=0;car3=1;car4=0; break;/////////////前進(jìn)鍵 E

  88.                 case 0x46: Sound=1;                     break;/////////////喇叭響 F
  89.                 case 0x47: Sound=0;                     break;/////////////喇叭靜 G
  90.                
  91.                 case 0x48: flag=1;                      break;/////////////開燈   H
  92.           default: break;
  93.   }
  94.        
  95. }

  96. /*=====================================================
  97.           ---------點(diǎn)陣發(fā)送一個(gè)字節(jié)---------
  98. =====================================================*/
  99. void Send_Byte( unsigned char dat)
  100. {
  101.         unsigned char i;
  102.         LEDARRAY_LE = 0;
  103.         _nop_();       
  104.         LEDARRAY_LE = 0;
  105.         _nop_();

  106.         for( i = 0 ; i < 8 ; i++ )
  107.         {
  108.                 if( dat&0x01 )
  109.                 {
  110.                         LEDARRAY_DI = 1;       
  111.                 }
  112.                 else
  113.                 {
  114.                         LEDARRAY_DI = 0;
  115.                 }
  116.                
  117.                 LEDARRAY_CLK = 1;                                //上升沿發(fā)送數(shù)據(jù)
  118.                                                 _nop_();
  119.                 LEDARRAY_CLK = 0;
  120.                                                 _nop_();
  121.                                
  122.                 dat >>= 1;                       
  123.         }               
  124. }

  125. void disply(unsigned char code *p)
  126. {
  127.         unsigned char *led;
  128.         unsigned char temp;
  129.         unsigned int  i;
  130.         unsigned char j;
  131.         temp = 0x7f;
  132.        
  133.         for(i=1800;i>0;i--)
  134.         {
  135.          led=p;
  136.          for(j=0;j<8;j++)
  137. ……………………

  138. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
QQ_小車.zip (57.91 KB, 下載次數(shù): 16)


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

使用道具 舉報(bào)

沙發(fā)
ID:265963 發(fā)表于 2017-12-24 12:03 | 只看該作者
樓主 只求手機(jī)app 1032942191@qq.com
回復(fù)

使用道具 舉報(bào)

板凳
ID:266523 發(fā)表于 2017-12-25 14:45 | 只看該作者
能否提供下app?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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