×
单片机 > 单片机程序设计 > 详情

51单片机+ESP8266点亮LED小灯

发布时间:2021-12-22 发布时间:
|

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
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 for(j=0;j<123;j++);
}

void AT_Send_String(u8 *string)//发送字符串
{
while(*string!='


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向