前面一篇帖子写的过于冲忙,现在详细说明开发过程以及工程资料。
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)
|