打印
[其他产品]

单片机+ESP8266点亮LED小灯

[复制链接]
1549|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
abotomson|  楼主 | 2023-5-29 10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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电源

#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;
                                 }                                         
          }
}

使用特权

评论回复
沙发
cemaj| | 2023-6-6 12:16 | 只看该作者
如何用ESP8266模块远程控制打开灯

使用特权

评论回复
板凳
primojones| | 2023-6-6 13:30 | 只看该作者
esp8266有什么用              

使用特权

评论回复
地板
backlugin| | 2023-6-6 14:54 | 只看该作者
求助用wifi ESP8266通过手机控制点亮LED灯

使用特权

评论回复
5
alvpeg| | 2023-6-6 15:21 | 只看该作者
在proteus8.0里面怎么使用ESP8266这个模块进行模拟

使用特权

评论回复
6
houjiakai| | 2023-6-6 17:24 | 只看该作者
esp8266-01s可以控制灯的颜色吗

使用特权

评论回复
7
wangdezhi| | 2023-6-6 17:45 | 只看该作者
求ESP8266模块的完整教程

使用特权

评论回复
8
alvpeg| | 2023-6-10 10:48 | 只看该作者
怎么实现远距离控制小灯              

使用特权

评论回复
9
maqianqu| | 2023-7-9 14:38 | 只看该作者
在程序中配置ESP8266的串口(UART)与单片机进行通信。

使用特权

评论回复
10
macpherson| | 2023-7-9 15:43 | 只看该作者
建议参考相应的单片机和ESP8266模块的数据手册、编程指南以及相关的开发文档来获取详细的指导和代码示例。

使用特权

评论回复
11
eefas| | 2023-7-10 17:52 | 只看该作者
使用 ESP8266 WiFi 模块连接到 WiFi 网络,并设置 IP 地址和子网掩码等参数。使用 ESP8266 WiFi 模块发送指令,控制单片机输出引脚的电平,以点亮 LED 小灯。

使用特权

评论回复
12
jkl21| | 2023-7-10 19:31 | 只看该作者
具体的实现方式可能因硬件和软件环境的不同而有所差异。

使用特权

评论回复
13
rosemoore| | 2023-7-10 22:00 | 只看该作者
ESP8266可以通过无线网络轻松地远程控制LED的亮度和开关状态。

使用特权

评论回复
14
chenjun89| | 2023-7-11 08:35 | 只看该作者
ESP8266真的是性价比和可玩性超高啊

使用特权

评论回复
15
1988020566| | 2023-7-11 22:05 | 只看该作者
可以定义简单的通信协议,例如使用特定的指令或命令字来控制LED。

使用特权

评论回复
16
mollylawrence| | 2023-7-12 18:13 | 只看该作者
需要使用单片机的串行通信库或驱动程序来发送和接收指令的。

使用特权

评论回复
17
lzmm| | 2023-7-13 14:02 | 只看该作者
使用相关的应用程序或网页来远程控制LED灯?

使用特权

评论回复
18
benjaminka| | 2023-7-13 15:39 | 只看该作者
在ESP8266程序中发送相应的指令给单片机,然后单片机根据指令改变LED的状态。

使用特权

评论回复
19
chenci2013| | 2023-7-13 16:34 | 只看该作者
使用单片机通过串行通信与ESP8266进行通信。你可以使用AT指令集来配置ESP8266模块的Wi-Fi连接。

使用特权

评论回复
20
zerorobert| | 2023-7-13 17:25 | 只看该作者
使用 PIC 或 AVR 单片机与 ESP8266 WiFi 模块,可以实现点亮 LED 小灯的功能。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

1619

帖子

1

粉丝