资源简介
单片机通过串口通信方式与ESP8266wifi模块通信,点亮LED小灯
代码片段和文件信息
#include //包含头文件
#define uint unsigned int
#define uchar unsigned char
#define RELOAD_COUNT 0xF3 //宏定义波特率发生器的载入值
//define RELOAD_COUNT (256-(((11520000/16)/12)/9600)) 也可以或波特率9600 //256-晶振频率/波特率x16=BRT
/*****************LED灯对应P0口的1个端口*************/
sbit LED0=P2^0;
uchar Receivei;
uint n;
uchar Recive_table[15]; //用于接收wifi模块反馈到MCU上的数据
/*******************************************************************
名称:延时函数
作用:毫秒级延时,微妙级延时函数,为数据收发完成作等待.......
********************************************************************/
void ms_delay(uint t)
{
uint ij;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
void us_delay(uchar t)
{
while(t--);
}
void Uart_Init()//使用定时器1作为波特率发生器(STC89C52、STC89C51、AT89C51或者STC12C560S2等均可)
{
SCON=0x50; //设置为串行口以方式1工作,8位异步通讯允许接收中断。
//一帧信息为10位,1位起始位,8位数据位(低位在先),1位停止位。
PCON=0x00; //SMOD波特率选择位为1,SMOD=1.
TMOD=0x21; //设置定时器1为波特率发生器,工作在模式2,8位自动装载
TH1=RELOAD_COUNT;//波特率9600 ,TH1=256-FOSC/16/12/波特率
TL1=TH1;
EA=1; //总中断打开
ES=0; //关闭串口中断
TR1=1; //启动定时器1
}
/********************************************************************
名称:串口发送函数
功能:MCU向其他与其连接的设备发送数据(此处是无线WIFI模块ESP8266)
********************************************************************/
void Send_Uart(uchar value)
{
ES=0; //关闭串口中断
TI=0; //清发送完毕中断请求标志位
SBUF=value; //发送
while(TI==0); //等待发送完毕
TI=0; //清发送完毕中断请求标志位
ES=1; //允许串口中断
}
/********************************************************************
名称:WIFI模块设置函数
作用: 启动模块,以便可以实现无线接入和控制
********************************************************************/
void ESP8266_Set(uchar *puf) // 数组指针*puf指向字符串数组
{
while(*puf!=‘\0‘) //遇到空格跳出循环
{
Send_Uart(*puf); //向WIFI模块发送控制指令。
us_delay(5);
puf++;
}
us_delay(5);
Send_Uart(‘\r‘);//回车
us_delay(5);
Send_Uart(‘\n‘); //换行
ms_delay(1000);
}
/****************************************************
名称:ESP8266发送数据函数
功能:用于与wifi模块相连的终端发送数据
*****************************************************/
void ESP8266_Sent(uchar *puf) // 数组指针*puf指向字符串数组
{
ESP8266_Set(“AT+CIPSEND=04“);
while(*puf!=‘\0‘) //遇到空格跳出循环
{
Send_Uart(*puf); //向WIFI模块发送控制指令。
us_delay(5);
puf++;
}
us_delay(5);
Send_Uart(‘\n‘); //换行
ms_delay(10);
}
/********************************************************************
名称:主函数
作用:程序的执行入口
********************************************************************/
void main()
{
ms_delay(500);
ms_delay(500);
LED0=0;//关闭LED灯
Uart_Init();//使用独立
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7218 2018-07-11 16:33 ESP8266\ESP8266
文件 974 2017-07-24 15:17 ESP8266\ESP8266.build_log.htm
文件 5839 2018-07-05 15:23 ESP8266\ESP8266.c
文件 2194 2018-07-11 16:33 ESP8266\ESP8266.hex
文件 46 2018-07-11 16:33 ESP8266\ESP8266.lnp
文件 9378 2018-07-11 16:33 ESP8266\ESP8266.LST
文件 10921 2018-07-11 16:33 ESP8266\ESP8266.M51
文件 8207 2018-07-11 16:33 ESP8266\ESP8266.OBJ
文件 335 2018-07-11 16:33 ESP8266\ESP8266.plg
....... 71315 2018-07-11 16:34 ESP8266\ESP8266.uvgui.acer
文件 138777 2017-10-24 21:21 ESP8266\ESP8266.uvgui.lenovo
....... 71327 2018-07-11 15:27 ESP8266\ESP8266.uvgui_acer.bak
....... 6437 2018-07-11 16:34 ESP8266\ESP8266.uvopt
....... 13420 2018-07-05 10:22 ESP8266\ESP8266.uvproj
文件 45693 2015-06-06 12:01 ESP8266\ESP8266_uvopt.bak
文件 0 2015-06-06 08:55 ESP8266\ESP8266_uvproj.bak
目录 0 2018-07-11 16:34 ESP8266
----------- --------- ---------- ----- ----
392081 17
- 上一篇:计算机算法设计与分析期末试题4套(含答案)
- 下一篇:山东大学信息安全期末试题整理
相关资源
- 测量液体的液位(内含原理图、源代
- 基于单片机的交通信号灯的控制系统
- esp8266 固件及烧写工具
- esp8266代码
- 33个毕业设计—单片机类
- 《手把手教你学51单片机》教材pdf
- LCD1602硬件结构及程序设计
- 单片机实验代码8次.zip
- 硕飞ME830/ME850 单片机开发实验仪最新
- 经典51单片机开发板Protel99se文件含原
- 基于单片机的数字时钟
- WiFi-STC-DOWNLOADER.zip
- STC-ISP 6.85
- STC8A加强版开发板配套程序
- 基于单片机的超声波流量计.pdf
- esp8266网络对时
- 基于单片机的智能LED台灯设计-附电路
- Silicon 单片机程序烧写软件
- 基于AT89C51单片机的水塔智能水位控制
- stm32矩阵按键程序.rar
- 基于51单片机的全自动洗衣机控制器的
- 完整工程串口12、DHT11、BH1750、mh-z14
- 温湿度传感器DHT11资料+程序
- \\51单片机35个
- pic16f684单片机中文数据手册
- Esp8266】百万条消息免费之乐鑫esp826
- 使用cJson在乐鑫 esp8266 如何解析一段
- 乐鑫 esp8266 源码分析 MQTT 实现过程,
- 乐鑫Esp8266驱动 ds18b20、dht11 温湿度传
- Esp8266进阶之路Windows系统搭建8266的本
评论
共有 条评论