收藏 分销(赏)

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

上传人:二*** 文档编号:4497994 上传时间:2024-09-25 格式:DOC 页数:6 大小:87KB
下载 相关 举报
无线wifi模块-51单片机-C语言程序.doc_第1页
第1页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

2、全,这里提供相关的网址自行参考。UartWiFi模块ESP8266把玩记http:/blog。csdn。net/kangear/article/details/40392385物联网wifi模块工作的STA和AP模式详细介绍http:/www。hx-四、资料可能存在不足之处,仅作参考!/*题目:基于STC12C560S2 单片机无线WIFI模块控制内容:通过MCU上位机对ESP8266wifi模块的控制和设置,实现手机端控制LED灯 的亮灭。注意:该型号单片机是普通89C51单片执行速度的12倍,内含RAM1280字节,ROM为60K,PCA 计数器,PWM发生模块,ADC转换模块等,晶振一定

3、是11.0592MHz.*/include reg52.h /包含头文件#define uint unsigned intdefine uchar unsigned char#define RELOAD_COUNT 0xFA/宏定义波特率发生器的载入值/define RELOAD_COUNT (256-((11520000/16)/12)/9600) 也可以或波特率9600 /256晶振频率/波特率x16=BRT/*LED灯对应P0口的1个端口*/sbit LED0=P32;/*波特率发生器相关功能寄存器的定义*/sfr AUXR=0x8E;sfr BRT=0x9C;sfr AUXR1=0xA

4、2;/*相关变量*/uchar Receive,i; uint n;uchar Recive_table15;/用于接收wifi模块反馈到MCU上的数据/*名称:延时函数作用:毫秒级延时,微妙级延时函数,为数据收发完成作等待。.。.。.*/void ms_delay(uint t)uint i,j;for(i=t;i0;i) for(j=110;j0;j-);void us_delay(uchar t)while(t-);/*名称:波特率发生器函数作用:波特率发生器可以是T1定时器实现,也可以是MCU内部独立的波特率发生器,各自不同的载入值计算式,具体根据寄存器相关设置来参考计算,以实现异步串

5、行通讯。(经测试,两种设置方式均可用,可任选一种。)*/void Uart_Init()/使用定时器1作为波特率发生器(STC89C52、STC89C51、AT89C51或者STC12C560S2等均可)SCON=0x50;/设置为串行口以方式1工作,8位异步通讯,允许接收中断。/一帧信息为10位,1位起始位,8位数据位(低位在先),1位停止位。PCON=0x80;/SMOD波特率选择位为1,SMOD=1.TMOD=0x21;/设置定时器1为波特率发生器,工作在模式2,8位自动装载TH1=RELOAD_COUNT;/波特率9600 ,TH1=256-FOSC/16/12/波特率TL1=TH1;

6、EA=1; /总中断打开ES=0; /关闭串口中断TR1=1; /启动定时器1/void Uart_Init()/使用独立的波特率发生器(STC12C560S2或带有独立波特率发生器/、/的单片机均可)SCON=0x50;/设置为串行口以方式1工作,8位异步通讯,允许接收中断.PCON=0x80;/SMOD波特率选择位为1,SMOD=1.BRT=RELOAD_COUNT; /波特率9600 256晶振频率/波特率x16=BRTAUXR=0xD5;/T0、T1不12分频,速度是89C51的12倍,启动独立波特率/发生器,每个时钟计数一次/设置串口1的波特率发生器为独立波特率发生器,AUXR1=0

7、x80;/切换到P1口ES=1;/开启串口中断EA=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(*

8、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=0,4);while(*puf!=0) /遇到空格跳出循环Send_Uart(*puf); /向WI

9、FI模块发送控制指令。us_delay(5);puf+;us_delay(5);Send_Uart(n); /换行ms_delay(10);/*名称:主函数作用:程序的执行入口*/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”,11,4”); /设置

10、模块SSID:WIFI, PWD:密码 及安全类型加密模式(WPA2-PSK)ESP8266_Set(”AT+CIPMUX=1);/开启多连接模式,允许多个各客户端接入ESP8266_Set(”AT+CIPSERVER=1,5000”); /启动TCP/IP 端口为8080 实现基于网络/控制ES=1;/允许串口中断while(1)if((Recive_table0=+)&(Recive_table1=I)(Recive_table2=P)/MCU接收到的数据为+IPD时进入判断控制01来使小灯亮与灭 if((Recive_table3=D)(Recive_table6=,) if(Reciv

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

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服