找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3623|回復(fù): 4
收起左側(cè)

單片機(jī)+HC-05藍(lán)牙模塊控制SG90舵機(jī)源程序

[復(fù)制鏈接]
ID:687726 發(fā)表于 2021-12-1 10:42 | 顯示全部樓層 |閱讀模式
HC-05藍(lán)牙模塊圖片:
51hei.png

引腳連接:STATE-->P2.6
  RXD-->TXD
  TXD-->RXD
  GND-->GND
  VCC-->5V
  EN-->P2.5
SG90舵機(jī)圖片:
51hei.png

引腳連接:棕色-->GND
紅色-->VCC
橙色-->P1.0

剛學(xué)習(xí)完了舵機(jī),想著做一個(gè)遠(yuǎn)程控制舵機(jī)的,選來選取還是用藍(lán)牙模塊,因?yàn)椴坏⒄`聯(lián)WIFI上網(wǎng)。源碼我貼在下面,具體連線方法在最后,包括手機(jī)端控制軟件。

單片機(jī)源碼如下:

  1. #include "reg52.h"   

  2. typedef unsigned int u16;         
  3. typedef unsigned char u8;

  4. sbit pwm =P1^0 ;
  5. sbit led1=P2^0;           
  6. sbit led2=P2^1;
  7. sbit beep=P2^4;        
  8. sbit STA=P2^5;

  9. #define USART_MAX_RECV_LEN        40
  10. u8 USART_RX_BUF[USART_MAX_RECV_LEN];
  11. u16 USART_RX_STA=0;

  12. unsigned char jd;
  13. unsigned char count;

  14. void delay(unsigned char i)
  15. {
  16.   unsigned char j,k;
  17.   for(j=i;j>0;j--)
  18.     for(k=125;k>0;k--);
  19. }

  20. void UsartInit()
  21. {
  22.         SCON=0X50;                        
  23.         TMOD=0X21;                        
  24.         PCON=0X80;                        
  25.         TH1=0XFa;                        
  26.         TL1=0XFa;
  27.         TH0  = 0xfe;
  28.         TL0  = 0x33;
  29.         IE   = 0x82;
  30.         TR0=1;
  31.         ES=1;                                                
  32.         EA=1;                                       
  33.         TR1=1;                                          
  34.         
  35. }

  36. void USART_SendData(u8 datbuf[])
  37. {
  38.         u8 i=0;
  39.         for(i=0;i<1;i++)
  40.         {
  41.                 SBUF=datbuf[i];
  42.                 while(!TI);
  43.                 TI=0;
  44.         }
  45. }

  46. void main()
  47. {
  48.         u8 i=0,j=0;
  49.         STA=0;
  50.         led1=led2=1;
  51.         UsartInit();  
  52.         while(1)
  53.         {        
  54.                 if(USART_RX_BUF[0]==0x11)
  55.                 {
  56.                         led1=0;
  57.                         led2=1;
  58.                         jd=2;                 
  59.       delay(200);
  60.                         jd=3;
  61.                 }
  62.                 else if(USART_RX_BUF[0]==0x10)
  63.                 {
  64.                         led1=1;
  65.                         led2=0;
  66.                         jd=4;                 
  67.       delay(200);
  68.                          jd=3;
  69.                 }
  70.                
  71.         }               
  72. }

  73. void Usart() interrupt 4
  74. {
  75.         u8 res;
  76.         res=SBUF;
  77.         USART_RX_BUF[0]=res;
  78.         TH0  = 0xfe;            
  79.         TL0  = 0x33;
  80.         RI = 0;               

  81.     if(count< jd)            
  82.       pwm=1;                  
  83.     else
  84.       pwm=0;                 
  85.     count=(count+1);         
  86.     count=count%40;         
  87. }
復(fù)制代碼

評分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:95059 發(fā)表于 2022-5-16 10:06 | 顯示全部樓層
兄弟,您的手機(jī)端控制軟件貼在哪了?沒看見啊
回復(fù)

使用道具 舉報(bào)

ID:95059 發(fā)表于 2022-5-16 10:07 | 顯示全部樓層
還有具體連線圖呢,參考一下您的杰作,看看原理圖分析一下
回復(fù)

使用道具 舉報(bào)

ID:95059 發(fā)表于 2022-5-16 10:09 | 顯示全部樓層
程序代碼中沒有體現(xiàn):STATE-->P2.6    —---請問它是用來干嘛的呢?
回復(fù)

使用道具 舉報(bào)

ID:917430 發(fā)表于 2022-8-1 21:14 | 顯示全部樓層
lanxichang 發(fā)表于 2022-5-16 10:09
程序代碼中沒有體現(xiàn):STATE-->P2.6    —---請問它是用來干嘛的呢?

通訊模塊使能
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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