资源简介
单片机通过串口通信方式与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套(含答案)
- 下一篇:山东大学信息安全期末试题整理
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
评论
共有 条评论