无线wifi模块-51单片机-C语言程序.docx

上传人:scccc 文档编号:13153405 上传时间:2021-12-17 格式:DOCX 页数:7 大小:42.90KB
返回 下载 相关 举报
无线wifi模块-51单片机-C语言程序.docx_第1页
第1页 / 共7页
无线wifi模块-51单片机-C语言程序.docx_第2页
第2页 / 共7页
无线wifi模块-51单片机-C语言程序.docx_第3页
第3页 / 共7页
无线wifi模块-51单片机-C语言程序.docx_第4页
第4页 / 共7页
无线wifi模块-51单片机-C语言程序.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《无线wifi模块-51单片机-C语言程序.docx》由会员分享,可在线阅读,更多相关《无线wifi模块-51单片机-C语言程序.docx(7页珍藏版)》请在三一文库上搜索。

1、无线WIFI模块ESP8266和51单片机 实现LED灯的无线控制nnnr、关于51单片机和无线WIFI模块的接线方面RXD、TXD、GND和51单片机的TXD、RXD、GND接好,模块其他弓|脚均为高电 平,电源VCC是3.3V左右(两节l5v干电池),本人由于没有稳压模块,偷懒了当时 使用5V的直流源,测试结果目前没有问题(不过不建议啊!)二、关于安卓手机方面测试时可以使用,网络调试助手(下载这个app安装在手机即可)发送数字1表 示小灯亮,0表示灯灭。后续想深入的话可以自己开发安卓app软件。三、参数设置由于参数的设置方法和步奏网上资料很全,这里提供相关的网址自行参考。Uart-WiFi

2、 模块 ESP8266 把玩记 tdils/40392385物联网wifi模块工作的STA和AP模式详细介绍四、资料可能存在不足之处,仅作参考!题目:基于STC12C560S2单片机无线WIFI模块控制内容:通过MCU上位机对ESP8266wifi模块的控制和设置,实现手机端控制LED灯 的亮灭。注意:该型号单片机是普通89C51单片执行速度的12倍,内含RAM1280字节,ROM 为60KzPCA计数器,PWM发生模块,ADC转换模块等,晶振一定是11.0592MHz。t*I* x%*i*"*i*V*"T*,»*<*i*t*"T* *>*&

3、gt;*"T、*"T、*V*»*"T1*"T K包含头文件#include <reg52.h>#define uint unsigned int#define uchar unsigned char#define RELOAD_COUNT OxFA宏定义波特率发生器的载入值/define RELOAD_COUNT (256-(11520000/16)/12)/9600)也可以或波特率 9600 256晶振频率/波特率X16=BRT/* * * *led 灯对应 P0 口的 1 个端口 */sbit LED0=P3A2;/* * *波

4、特率发生器相关功能寄存器的定义 * */sfr AUXR=0x8E;sfr BRT=0x9C;sfr AUXRl=0xA2;/* * * *相关变量*/uchar Receive,!;uint n;uchar Recive_table15;用于接收wifi模块反馈到MCU上的数据(f名称:延时函数作用:毫秒级延时,微妙级延时函数,为数据收发完成作等待t"T、"T、*»*>*»*>*»*»* *>*»*"T1*"T、*>*T 1void ms_delay(uint t)uint i,

5、j;for(i=t;i>0;i-)for(j=110;j>0;j-);void us_delay(uchar t)while(t-);名称:波特率发生器函数作用:波特率发生器可以是T1定时器实现,也可以是MCU内部独立的波特率发生 器,各自不同的载入值计算式,具体根据寄存器相关设置来参考计算,以实现 异步串行通讯。(经测试,两种设置方式均可用,可任选一种。)i*>*1"、*>*1"、"T、*i*"T、*"b*"T、*»*>*"T、T、"T1"T、*>*&quo

6、t;T、*>*>*"T、"T1"T、*»*!void Uart_Init()/使用定时器 1 作为波特率发生器(STC89C52、STC89C51、AT89C51 或者STC12C560S2等均可)SCON=0x50; 设置为串行口以方式1工作,8位异步通讯,允许接收中断。 一帧信息为10位,1位起始位;8位数据位(低位在先),1位停止位。 PCON=0x80; /SMOD 波特率选择位为 1 , SMOD=1.总中断打开 关闭串口中断启动定时器1TMOD=Ox21; 设置定时器1为波特率发生器,工作在模式2 , 8位自动装载 TH 1=RE

7、LOAD_COU NT;/波特率 9600 , TH 1=256-FOSC/16/12/;®$ TL1=TH1;EA=1;ES=O;TR1=1;严void Uart_Init()使用独立的波特率发生器(STC12C560S2或带有独立波特率发生器、的单片机均可)SCON=0x50; 设置为串行口以方式1工作,8位异步通讯,允许接收中断。PCON=0x80; /SMOD 波特率选择位为 1 , SMOD=1.BRT=RELOAD_COUNT; 波特率 9600 256晶振频率/波特率 X16二BRTAUXR=0xD5; /TO、T1不12分频,速度是89C51的12倍,启动独立波特率

8、发生器,每个时钟计数一次 设置串口 的波特率发生器为独立波特率发生器,AUXRl=0x80; 切换到 P1 口ES=1;开启串口中断EA=1;开启总中断*/名称:串口发送函数功能:MCU向其他与其连接的设备发送数据(此处是无线WIFI模块ESP8266)( fES=O;TI=O;SBUF=value;void Send_Uart(uchar value) 关闭串口中断清发送完毕中断请求标志位发送while仃I=0); 等待发送完毕TI=O;清发送完毕中断请求标志位ES=1;允许串口中断(f名称:WIFI模块设置函数作用:启动模块,以便可以实现无线接入和控制( tvoid ESP8266_Set

9、(uchar *puf) /数组指针*puf指向字符串数组while(*puf!=lOl) 遇到空格跳出循环Send_Uart(*puf); 向WIFI模块发送控制指令。 us_delay(5);puf+;us_delay(5);Send_Uart('r'); 回车us_delay(5);Send_Uart('n'); 换行ms_delay(1000);(f名称:ESP8266发送数据函数功能:用于与wifi模块相连的终端发送数据itvoid ESP8266_Sent(uchar *puf) /数组指针*卩"指向字符串数组ESP8266_Set(,AT

10、+CIPSEND=0,4,1); while(*puf!=lOl) 遇到空格跳出循环Send_Uart(*puf); 向WIFI模块发送控制指令。 us_delay(5);puf+;us_delay(5);Send_Uart(、n); 换行 ms_delay(10); 名称:主函数 作用:程序的执行入口/* I* xyx * v* *i*1"、* I*"T*T"、* »*T"、* »* i* * »* *T *i* »*T"、T、* >* >*T"、* >* * * >*

11、 »* T'*T、*< "T*T"、void main()LED0=0;关闭 LED 灯Uart_Init();/使用独立的波特率发生器ESP8266_Set(,AT+CWMODE=2"); 设置路由器模式 1 station 模式 2 AP 点路由器模式3 station+AP混合模式ESP8266_Set(” AT+RST”);重新启动 wifi 模块ESP8266_Set(,AT+CWSAP="WIFI',/,1234567890,/llz4");设置模块SSID:WIFI, PWD:密码及安全类型加密模式

12、(WPA2-PSK ) ESP8266_Set(,AT+CIPMUX=r,);/开启多连接模式,允许多个各客户端接入 ESP8266_Set(”AT+CIPSERVER=l,5000”); 启动 TCP/IP 端口为 8080 实现基于网络 控制ES=1;允许串口中断while(l) if(Recive_table0=,+,)&&(Recive_tablel=,r)&&(Recive_table2='P,) /MCU接心到的数据为+IPD时迸入孙断控制01来使小灯亮T灭 if(Recive_table3='D,)&&(Recive

13、_table6=,z,)if(Recive_table9='O')LED0=0; /0 灯灭ESP8266_Sent(”灯灭”);/wifi模块向pc端或手机端发送”灯灭else if (Recive_table9='!')LEDO=1; 1 灯亮ESP8266_Sent(“灯亮”);/wifi模块向pc端或手机端发送“灯亮“名称:串行通讯中断 作用:发送或接收结束后进入该函数,对相应的标志位软件清0 ,实现模块对数据正常的收发。/ tvoid Uart_Interrupt() interrupt 4static uchar i=0; if(RI=l)RI=0;Receive二SBUF;/MCU接收wifi模块反馈回来的数据Recive_tablei=Receive; i+;if(Recive_tablei-l=,n,)i=O; 遇到换行重新装值else TI=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1