找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8569|回复: 18
收起左侧

51单片机+ESP8266点亮LED小灯

  [复制链接]
ID:699460 发表于 2020-3-21 11:39 | 显示全部楼层 |阅读模式
ESP8266模块采用STA工作模式,先在电脑上用串口调试助手,将ESP8266模块设置为STA模式,波特率9600,具体指令如下:
1. 设置AP模式 AT+CWMODE=2
2. 复位生效 AT+RST
3. 配置热点 AT+CWSAP="test","12345678",1,3
这样即使ESP8266复位也不会将这些信息擦除,直接上后面的指令就可以
单片机接ESP8266一定注意两者一定要共地,否则ESP8266不能正常工作,ESP8266电源要3.3V供电,5V的貌似不行,ESP8266的EN脚外接一个1K欧的电阻再接3.3V电源
IMG_20200312_112259.jpg
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit LED = P1^0;u8 dat;
void Init(void);//串口初始化函数
void Delay_ms(u16 n);//延时子函数
void Sent_ZF(u8 dat);//发送一个字节
void AT_Send_String(u8 *string);//发送字符串
void ESP8266_Init();//ESP8266初始化
void Init(void)                //串口初始化函数
{

        TMOD=0x20;        //定时器工作方式2,8位自动重载(0010 0000)
        TL1=0xfd;                //装入初值
        TH1=0xfd;               
        TR1=1;        //启动定时器1
        REN=1;    //允许串行口接收数据
        SM0=0;    //工作方式1,10位异步收发
        SM1=1;   
        EA=1;   //打开全局中断控制
        ES=1;     //打开串行口中断
}

void main()
{
    Init();
    ESP8266_Init();
    while(1);
}

void Sent_ZF(u8 dat)  //发送一个字节
{
        ES = 0;
        TI=0;
        SBUF = dat;
        while(!TI);
        TI = 0;
        ES = 1;
}
void Delay_ms(u16 n)  //延时子程序
{
        unsigned int i,j;
        for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}

void AT_Send_String(u8 *string)  //发送字符串
{
  while(*string!='\0')
  {
    Sent_ZF(*string);
        string++;
                Delay_ms(10);
  }

}
void ESP8266_Init()   //ESP8266初始化
{       
         AT_Send_String("AT+RST\r\n");  //重启模块
        Delay_ms(10000);
        Delay_ms(10000);
    AT_Send_String("AT+CIPMUX=1\r\n");  //设置为多连接模式,启动模块
        Delay_ms(10000);
        Delay_ms(10000);
  AT_Send_String("AT+CIPSERVER=1,8080\r\n"); //服务器的设置端口
          Delay_ms(10000);
        Delay_ms(10000);
}

void InterruptUART() interrupt 4  //控制小灯开关
{
        RI= 0;        //清零
        dat= SBUF;    //收到的数据占存到SBUF中
          {
         if(dat=='o')
                                 {
                                         LED =0;   
                                 }
                                 if(dat=='f')  
                                 {                                                 
                                    LED =1;
                                 }                                         
          }
}
手机上下载一个叫网络调试助手的软件,IP为192.168.4.1(貌似都是这个端口),端口为8080,连接成功后发送f或者o可以控制LED小灯开关

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:262714 发表于 2020-3-22 12:20 | 显示全部楼层
谢谢,我试了很好
回复

使用道具 举报

ID:250820 发表于 2020-4-27 15:27 | 显示全部楼层
开发板跟我的一样,我都把开发板线路改动过了
回复

使用道具 举报

ID:149389 发表于 2020-6-5 18:26 来自手机 | 显示全部楼层
51单片机+ESP8266点亮LED小灯
-7c9d9bcf9216fd51.png
回复

使用道具 举报

ID:771427 发表于 2020-6-7 00:32 来自手机 | 显示全部楼层
weidoit 发表于 2020-6-5 18:26
51单片机+ESP8266点亮LED小灯

兄弟 你这个esp8266的仿真模块是在哪找到的 能分享下这个模块不
回复

使用道具 举报

ID:801760 发表于 2020-7-13 19:15 | 显示全部楼层
能下载能发送数据,就是无法控制小灯,无反应
回复

使用道具 举报

ID:801760 发表于 2020-7-13 19:16 | 显示全部楼层
控制不了小灯,其他正常的
回复

使用道具 举报

ID:423238 发表于 2020-7-24 05:02 来自手机 | 显示全部楼层
多路控制程序怎么写?
回复

使用道具 举报

ID:782582 发表于 2021-3-13 15:04 来自手机 | 显示全部楼层
手机通过8266发送到单片机的数据前8位+IPD,0,1:不用做判断吗
回复

使用道具 举报

ID:927993 发表于 2021-5-27 22:00 来自手机 | 显示全部楼层
楼主,为什么我的一直连接不上
回复

使用道具 举报

ID:866313 发表于 2021-10-22 15:12 | 显示全部楼层
给模块发送的字符和程序根本就不匹配啊
回复

使用道具 举报

ID:1026783 发表于 2022-5-16 23:08 | 显示全部楼层
weidoit 发表于 2020-6-5 18:26
51单片机+ESP8266点亮LED小灯

能分享一下这个仿真模块吗
回复

使用道具 举报

ID:95059 发表于 2022-5-23 16:07 | 显示全部楼层
快乐a123 发表于 2020-7-24 05:02
多路控制程序怎么写?

同问,ESP8266 里边的程序是用Arduino编写的,51单片机是用Keil编写的,可以吗?
回复

使用道具 举报

ID:140489 发表于 2022-9-28 15:04 | 显示全部楼层
要设置正确才行的
ESP8266模块采用STA工作模式,先在电脑上用串口调试助手,将ESP8266模块设置为STA模式,波特率9600,
具体指令如下:
1. 设置AP模式 AT+CWMODE=2
2. 复位生效 AT+RST
3. 配置热点 AT+CWSAP="test","12345678",1,3
这样即使ESP8266复位也不会将这些信息擦除,直接上后面的指令就可以
单片机接ESP8266一定注意两者一定要共地,否则ESP8266不能正常工作,ESP8266电源要3.3V供电,
5V的貌似不行,ESP8266的EN脚外接一个1K欧的电阻再接3.3V电源

手机上下载一个叫网络调试助手的软件,协议类型TCP Client,IP为192.168.4.1(貌似都是这个端口),
端口为8080,连接成功后发送f或者o可以控制LED小灯开关

设置ESP8266模块时,ESP8266模块 TXD接开发板单片机P31(TXD),RXD接单片机P30(RXD)
正常工作时,ESP8266模块 TXD接开发板单片机P30(RXD),RXD接单片机P31(TXD)
回复

使用道具 举报

ID:210511 发表于 2022-12-11 10:07 | 显示全部楼层
代码可以在哪里下载呢
回复

使用道具 举报

ID:1060920 发表于 2023-1-11 15:09 | 显示全部楼层
ESP8266不是可以直接控制灯吗还要单片机?
回复

使用道具 举报

ID:19250 发表于 2023-4-25 11:28 | 显示全部楼层
ewsdxs 发表于 2020-7-13 19:15
能下载能发送数据,就是无法控制小灯,无反应

中断中增加一个判断语句就好了,我试了
回复

使用道具 举报

ID:1074495 发表于 2023-4-29 11:57 | 显示全部楼层
Proteus上面有ESP8266仿真模块吗?我怎末找不到
回复

使用道具 举报

ID:1074495 发表于 2023-4-30 21:55 来自手机 | 显示全部楼层
Proteus中ESP8266模块在哪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表