基于单片机Wifi无线通信方案Demo.docx

上传人:b****3 文档编号:1855227 上传时间:2022-10-24 格式:DOCX 页数:9 大小:871.28KB
下载 相关 举报
基于单片机Wifi无线通信方案Demo.docx_第1页
第1页 / 共9页
基于单片机Wifi无线通信方案Demo.docx_第2页
第2页 / 共9页
基于单片机Wifi无线通信方案Demo.docx_第3页
第3页 / 共9页
基于单片机Wifi无线通信方案Demo.docx_第4页
第4页 / 共9页
基于单片机Wifi无线通信方案Demo.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

基于单片机Wifi无线通信方案Demo.docx

《基于单片机Wifi无线通信方案Demo.docx》由会员分享,可在线阅读,更多相关《基于单片机Wifi无线通信方案Demo.docx(9页珍藏版)》请在冰豆网上搜索。

基于单片机Wifi无线通信方案Demo.docx

基于单片机Wifi无线通信方案Demo

基于单片机Wifi无线通信方案

第一部分:

功能介绍

通过手机发送指令控制LED亮与灭

单片机原理图

第二部分:

硬件接法

1.连接实验相关模块连线

如图:

JP10(P0)接J12

J21跳线帽接左边

A→P22

B→P23

C→P24

J10与J12相连接(即就是P0口控制LED)

单片机与ESP8266连接:

由于单片机的串口通常配置成9600,而ESP8266初始的波特率为115200,所以先用PC通过PL2303去配置ESP8266模块的波特率为9600

ESP8266图示PL2303图示

PC与ESP8266通过PL2303连接

PL2303绿线-----------ESP8266的URXD脚

PL2303白线-----------ESP8266的UTXD脚

注意:

用PC机上的串口助手测试时,由于ESP8266的电源就是3、3V,所以先要把开发板的电源配置成3、3V,如下图J-PWR,跳线冒连接3、3V。

PL2303的电源(红线)不接!

ESP8266引脚的VCC与CH_PD连接开发板JPWR的vcc两个脚,ESP8266的地与PL2306的地连接开发板JPWR的GND两个脚(共地)!

在PC上打开软件sscom42、exe,界面如下:

注意:

发送新行选择上,波特率默认为115200,8,1,None

串口号选择PL2303的COM口(查瞧设备管理器)

打开串口即可测试(软件的发送新行要打勾)

第一步:

配置波特率

然后在字符串输入框中输入:

AT+UART=9600,8,1,0,0

发送给ESP8266,若返回OK,表示成功(注意最后一位不要选择流控)

第二步:

ESP8266配置AP的SSID与密码

然后在字符串输入框中输入:

AT+CWSAP="ESP8266-gigi","1234567890",5,3

注意:

操作第二步时,要把串口软件的波特率设置成9600。

设置成功后,可以利用PC上的无线网卡去连接

到此,ESP8266配置完成,然后下载单片机程序,此时要单片机的电源重新换成5V!

注意:

单片机下载程序需要5V,运行时可以为3、3V。

在换成5V,注意要把ESP8266的电源断开,避免烧毁芯片!

第三步:

单片机与ESP8266连接(注意单片机供电换成3、3V)

单片机与ESP8266连接

ESP8266的URXD脚-------------------单片机的P3、1

ESP8266的UTXD脚-------------------单片机的P3、0

ESP8266的VCC脚-------------------开发板JPWR排针的VCC(3、3v)

ESP8266的CH_PD脚-----------------开发板JPWR排针的VCC(3、3v)

ESP8266的GND脚--------------------开发板JPWR排针的GND

第四步:

安装Android程序

在手机上安装MyClient、apk,然后对开发板重新上电,等待10S左右,手机无线网络连接SSID为ESP8266-gigi的网络,密码为1234567890、然后打开MyClient、apk软件即可,如下图!

第三部分:

程序分析

Android程序中给出了2个按键对应的发送码

APK中的协议:

第一个按钮privatefinalStringFAN_ON="1";//数码管依次显示01234567

第二个按钮privatefinalStringFAN_OFF="2";//数码管不显示

单片机程序:

//--声明全局函数--//

voidDigDisplay();//动态显示函数

/*******************************************************************************

*函数名:

main

*函数功能:

主函数

*输入:

*输出:

*******************************************************************************/

voidmain(void)

{

unsignedchari;

for(i=0;i<8;i++)

{

DisplayData[i]=DIG_CODE[i];

}

while

(1)

{

DigDisplay();

}

}

/*******************************************************************************

*函数名:

DigDisplay

*函数功能:

使用数码管显示

*输入:

*输出:

*******************************************************************************/

voidDigDisplay()

{

unsignedchari;

unsignedintj;

for(i=0;i<8;i++)

{

switch(i)//位选,选择点亮的数码管,

{

case(0):

LSA=0;LSB=0;LSC=0;break;//显示第0位

case

(1):

LSA=1;LSB=0;LSC=0;break;//显示第1位

case

(2):

LSA=0;LSB=1;LSC=0;break;//显示第2位

case(3):

LSA=1;LSB=1;LSC=0;break;//显示第3位

case(4):

LSA=0;LSB=0;LSC=1;break;//显示第4位

case(5):

LSA=1;LSB=0;LSC=1;break;//显示第5位

case(6):

LSA=0;LSB=1;LSC=1;break;//显示第6位

case(7):

LSA=1;LSB=1;LSC=1;break;//显示第7位

}

GPIO_DIG=DisplayData[i];//发送段码

j=10;//扫描间隔时间设定

while(j--);

GPIO_DIG=0x00;//消隐

}

}

若ESP接收数据,数据模式为:

+IPD,0,1,1共计10个字符,我们只需要得到最后一个传过来的一个字节即可!

最后现象就是:

按APP的第一个按键,数码管依次显示01234567,按第二个按键,数码管全灭,不显示。

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

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1