找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

wifi模塊配置51單片機簡單例程手機app設置操作詳解

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:163705 發(fā)表于 2022-5-2 12:24 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機與wifi模塊與手機app簡單通信
保姆級教程
新手少走彎路





單片機源程序如下:
  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char   

  4. uchar Receive;                              

  5. void ms_delay(uint t);
  6. void us_delay(uchar t);
  7. void Uart_Init();
  8. void Send_Uart(uchar value);
  9. void ESP8266_Set(uchar *puf);

  10. void main()
  11. {         
  12.         Uart_Init();                                                                                        //波特率發(fā)生器
  13.         ms_delay(2000);
  14.         ESP8266_Set("AT+CWMODE=2");//設置路由器模式1 station,模式2 AP,模式3 station+AP混合模式   
  15.         ms_delay(2000);
  16.         ESP8266_Set("AT+CWSAP=\"wuchengdianzi\",\"88888888\",11,4");//AT+CWSAP="wuchengdianzi","88888888",11,4  設置模塊SSID:WIFI, PWD:密碼 及安全類型加密模式(WPA2-PSK)
  17.         ms_delay(2000);
  18.         ESP8266_Set("AT+CIPMUX=1");//開啟多連接模式,允許多個各客戶端接入
  19.         ms_delay(2000);
  20.         ESP8266_Set("AT+CIPSERVER=1,5000");//啟動TCP/IP 實現(xiàn)基于網(wǎng)絡//控制  ESP8266_Set("AT+CIPSERVER=1,5000");  
  21.         ms_delay(2000);
  22.         ESP8266_Set("AT+CIPSTO=0");//永遠不超時
  23.         ES=1;                      //允許串口中斷                 
  24.         while(1)   
  25.         {   
  26.                 if(Receive=='a')
  27.                 {
  28.                         P1=0x00;
  29.                 }
  30.                 if(Receive=='b')
  31.                 {
  32.                         P1=0xff;
  33.                 }       
  34.         }   
  35. }   

  36. /*********************************************************************  
  37. 名稱:串行通訊中斷  作用:發(fā)送或接收結(jié)束后進入該函數(shù),對相應的標志位軟件清0,實現(xiàn)模塊對數(shù)據(jù)正常的收發(fā)。  
  38. ********************************************************************/
  39. void Uart_Interrupt() interrupt 4         
  40. {   
  41.     if(RI==1)  
  42.     {   
  43.         RI=0;   
  44.         Receive=SBUF;//MCU接收wifi模塊反饋回來的數(shù)據(jù)                                                                                      //遇到換行 重新裝值  
  45.     }   
  46.     else TI=0;   
  47. }  

  48. /*******************************************************************
  49. 名稱:延時函數(shù)  作用:毫秒級延時,微妙級延時函數(shù),為數(shù)據(jù)收發(fā)完成作等待.......  
  50. ********************************************************************/
  51. void ms_delay(uint t)
  52. {  
  53.         uint i,j;  
  54.         for(i=t;i>0;i--)   
  55.         for(j=110;j>0;j--);
  56. }   

  57. void us_delay(uchar t)
  58. {  
  59.         while(t--);
  60. }         

  61. void Uart_Init()                                //使用定時器1作為波特率發(fā)生器(STC89C52、STC89C51、AT89C51等均可)
  62. {  
  63.     TMOD = 0x20;
  64.     SCON = 0x50;                                 //設置串行方式
  65.     TH1 = 0xFD;                                         //波特率9600
  66.     TL1 = TH1;
  67.     PCON = 0x00;
  68.     EA = 1;                                                //總中斷打開
  69.     ES = 1;                                                //開串口中斷  
  70.     TR1 = 1;                                        //啟動定時器1
  71. }

  72. /********************************************************************
  73. 名稱:串口發(fā)送函數(shù)  功能:MCU向無線WIFI模塊ESP8266發(fā)送數(shù)據(jù)  
  74. ********************************************************************/
  75. void Send_Uart(uchar value)
  76. {  
  77.         ES=0;                                                  //關(guān)閉串口中斷  
  78.         TI=0;                                           //清發(fā)送完畢中斷請求標志位   
  79.         SBUF=value;                                 //發(fā)送  
  80.         while(TI==0);                                 //等待發(fā)送完畢   
  81.         TI=0;                                           //清發(fā)送完畢中斷請求標志位   
  82.         ES=1;                                                  //允許串口中斷  
  83. }  

  84. /********************************************************************
  85. 名稱:WIFI模塊設置函數(shù)  作用: 啟動模塊,以便可以實現(xiàn)無線接入和控制  
  86. ********************************************************************/
  87. void ESP8266_Set(uchar *puf)         // 數(shù)組指針*puf指向字符串數(shù)組               
  88. {   
  89.         while(*puf!='\0')                    //遇到空格跳出循環(huán)  
  90.         {   
  91.                 Send_Uart(*puf);                  //向WIFI模塊發(fā)送控制指令。   
  92.                 us_delay(5);   
  93.                 puf++;   
  94.         }  
  95.         us_delay(5);  
  96.         Send_Uart('\r');                         //回車  
  97.         us_delay(5);  
  98.         Send_Uart('\n');                           //換行  
  99. }
復制代碼

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:297903 發(fā)表于 2022-5-2 17:34 | 只看該作者
好資料,正準備有空整個WIFI串口。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表