IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 51单片机与ESP8266-01s模块通讯点灯 -> 正文阅读

[嵌入式]51单片机与ESP8266-01s模块通讯点灯

前言

? ? ? ? ? 本文章为方便新手上手直接用最简单的点灯展示,关于ESP8266-01s的AT指令类就上网搜有很多这就不多讲了。

接线

ESP-01SUSB转TTL51单片机
VCC3.3V3.3V
GNDGNDGND
EN3.3V3.3V
TXRXP3.0
RXTXP3.1
IO0(注刷固件时插)GND(注刷固件时插)


一、ESP8266-01S接USB转TTL

如果是要刷固件的话ESP8266-01s的IO0接要接上USB的地,其余时候是不需要接的。


二、ESP8266-01S接51单片机

单片机烧录文件的时候需要拔掉TX和RX,不然会冲突无法烧录,烧录完成后插回去,然后按下复位键即可。如是需要在接51单片机在用串口助手去给ESP8266打指令的话就把51的RX和TX接是ESP8266-01s的RX和TX,也就是正插,平常使用都是和模块的RX与TX反插。

三、所用到AT指令

AT+CWMODE=2

AT+CWSAP="8266","123456789",1,3

AT+UART_DEF=9600,8,1,0,0

AT+CIPMUX=1

AT+CIPSERVER=1,8080

四、固件问题

固件一般新买的都有默认固件,一般需要刷固件的是EPS8266-01s变成砖头打不进指令才需要刷固件,固件有两种一种是出厂固件,一种是升级固件,一般不需要很多特殊指令的话就不用刷升级固件,出厂固件够用。

五、具体流程

1.首先从刷固件开始(若能打指令就跳过这到打指令部分)

需要的文件本博文结尾提供下载

工具

?选择第一个

?

?

?固件路径

原装出厂固件库\Ai-Thinker_ESP8266_AT_Firmware_DOUT_v1.5.4.1-a_20171130\Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130

?

?等进度条完成后就ok了就关掉,在打开串口调试工具。

2.调试指令部分

AT指令不懂意思的话百度直接搜有很多解释

?输入3条指令即可,这三条指令保存到Flash,掉电不删除此配置。每输入一条ESP8266-01s都会回一个ok,因为剩下两条AT指令断电会自动重置掉所以直接代码里写入。也可以全部指令在代码里写入,这部分就可跳过。

六、 代码部分

源代码如下:

#include <REGX52.H>
unsigned char Recive_table[15];        //用于接收wifi模块反馈到MCU上的数据
char Recive_state = 0;
bit uart_busy = 0;

/* ----------------------
	  延时5毫秒
---------------------- */
void delay5ms() {
    unsigned char a,b;
    for(b=101;b>0;b--)
        for(a=147;a>0;a--);
}

/* ----------------------
	  初始化串口,波特率9600
---------------------- */
void Init_uart(void) {  
	TMOD = TMOD | 0x20;    //定时器1工作在方式2  8位自动重装  
	SCON = SCON | 0x50;    //串口1工作在方式1  10位异步收发 REN=1允许接收  
	TH1 = 0xFd;            //定时器1初值  
	TL1 = TH1;  
	TR1 = 1;               //定时器1开始计数  
	EA =1;                 //开总中断  
	ES =1;                 //开串口1中断  
}


/* ----------------------
	串口发送数据方法
---------------------- */
void Uart_SendByteData(unsigned char msg){
	while(uart_busy); //等待上一个数据发送完成
	SBUF=msg;		  
	uart_busy = 1;	 //串口发送置忙
}
void Uart_SendStrData(unsigned char *msg){
	while(*msg){
		Uart_SendByteData(*msg++);
	}
}


/* ----------------------
	初始化WIFI模块
---------------------- */
void Init_ESP01S(){   
	Uart_SendStrData("AT+CIPMUX=1\r\n");            // 设置多连接
	delay5ms();   
	Uart_SendStrData("AT+CIPSERVER=1,8080\r\n");      // 配置服务器,监听8080端口
	delay5ms();
}


void main(){
	Init_uart();
	Init_ESP01S();    // Init_ESP01S 与 Init_uart调用的顺序不能改变
	P1_0 = 1;
	while(1){
		if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//MCU接收到的数据为+IPD时进入判断控制0\1来使小灯亮与灭,网络中的无线设备发送到ESP-01S的数据信息固定格式+IPD,<客户ID>,<信息长度>:<信息内容>。
		{	
				 if((Recive_table[3]=='D')&&(Recive_table[6]==','))
			{
					  if(Recive_table[9]=='0')
				{
								P1_0 = 0;
				}
						if(Recive_table[9]=='1')
				{
								P1_0 = 1;
				}
			}
		}
 Recive_state = 0;
}
}


/* ----------------------
	  串口中断
---------------------- */
void UART_Interrupt(void) interrupt 4 {
	static char i=0;
	
if(RI==1){
				ES = 0;
        RI=0;
        Recive_table[i]=SBUF;    //MCU接收wifi模块反馈回来的数据
        i++;
				if(Recive_table[i-1]=='\n')
        {
            Recive_table[i]='\0';
            i=0;  //遇到换行 重新装值
            Recive_state = 1;
					  }
        ES = 1;
    }
    else TI=0;
			uart_busy = 0;
}

七、网络测试

烧录代码完成后按下复位键就可以打开网络调试助手能连上能发信息就可以了。

八、文件下载

固件库+调试软件 (提取码:yyds)

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 15:56:14  更:2021-09-20 15:57:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:51:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码