前面一篇帖子寫的過于沖忙,現在詳細說明開發過程以及工程資料。
1,ESP8266-01S出場自帶AT固件,直接設置AT指令即可。需要下載AT指令的的話只需要GPIO0接地即可,其他接線和運行模式相同。注意和單片機通信要求相同波特率 AT+CIOBAUD=9600,AT+RST重啟生效即可。提示,藍色燈閃爍表示通信,01有紅色燈說明正在運行而01S沒有紅色燈,
2,STC12C5A60S2單片機的特點是有兩個串口51單片機就一個串口導致程序下載和ESP8266-01S模塊沖突果斷放棄,60S2串口二通信程序在上一個帖子說過詳細程序可以下載
3,最后單片機和WiFi模塊通信AT+CIPMUX=1 AT+CIPSERVER=1,8080 單片機發送這兩個AT指令即可通過手機WiFi搜索并發送數據說明ESP8266-01S模塊啟動成功
單片機源程序如下: - <font style="background-color:transparent"><font style="font-size: 16px"><font color="#007000">/*--------------------------------
- *
- 2020年4月19日
- 程序的功能是: 使用STC12C5A60S2 串口2 發送數據
- 硬件:12M
- vx交流:THEQUEYUE
- *
- */
- #include <STC12C5A60S2.H>
- #include "UART2.h"
- sbit LED = P3^6;
- unsigned char temps[]={"AT+CIPMUX=1\r\n"};//字符串,可以直接修改內容
- unsigned char code displaytable[]={"AT+CIPSERVER=1,8080\r\n"}; //顯示數字?
- unsigned char dat[1]=0;
- void delay(void)
- {
- char j,g;
- for(j=0;j<10;j++)
- for(g=0;g<10;g++);
- }
- int main()
- {
- int i;
- LED = 0;
- Uart2Init();//初始化9600
- delay();
- Uart2_send_string(temps); //發送AT指令
- for(i=0;i<5000;i++) //延遲等待ESP8266-01S接收信息
- {
- delay();
- }
- Uart2_send_string(displaytable);//發送AT指令
- while(1)
- {
- if(dat[0]=='a')
- {
- LED=1;
- }
- else
- {
- LED=0;
- }
- }
- }
- void uart2_isr() interrupt 8 using 1
- {
- if( S2CON & 0x01 )
- {
- dat[0] = S2BUF;
- S2CON &= ~0x01;
- }
- }
復制代碼
所有資料51hei提供下載:
ESP8266-01S.7z
(1.91 MB, 下載次數: 95)
2020-4-21 00:20 上傳
點擊文件名下載附件
程序.rar
(69.3 KB, 下載次數: 92)
2020-4-20 23:10 上傳
點擊文件名下載附件
|