基于单片机Wifi无线通信方案.docx
- 文档编号:28101257
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:12
- 大小:872.26KB
基于单片机Wifi无线通信方案.docx
《基于单片机Wifi无线通信方案.docx》由会员分享,可在线阅读,更多相关《基于单片机Wifi无线通信方案.docx(12页珍藏版)》请在冰豆网上搜索。
基于单片机Wifi无线通信方案
基于单片机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的电源是,所以先要把开发板的电源配置成,如下图J-PWR,跳线冒连接。
PL2303的电源(红线)不接!
ESP8266引脚的VCC和CH_PD连接开发板JPWR的vcc两个脚,ESP8266的地与PL2306的地连接开发板JPWR的GND两个脚(共地)!
!
!
!
!
!
在PC上打开软件,界面如下:
注意:
发送新行选择上,波特率默认为115200,8,1,None
串口号选择PL2303的COM口(查看设备管理器)
打开串口即可测试(软件的发送新行要打勾)
第一步:
配置波特率
然后在字符串输入框中输入:
AT+UART=9600,8,1,0,0
发送给ESP8266,若返回OK,表示成功(注意最后一位不要选择流控)
第二步:
ESP8266配置AP的SSID和密码
然后在字符串输入框中输入:
AT+CWSAP="ESP8266-gigi","90",5,3
注意:
操作第二步时,要把串口软件的波特率设置成9600。
设置成功后,可以利用PC上的无线网卡去连接
到此,ESP8266配置完成,然后下载单片机程序,此时要单片机的电源重新换成5V!
注意:
单片机下载程序需要5V,运行时可以为。
在换成5V,注意要把ESP8266的电源断开,避免烧毁芯片!
!
!
!
!
!
!
第三步:
单片机与ESP8266连接(注意单片机供电换成)
单片机与ESP8266连接
ESP8266的URXD脚-------------------单片机的
ESP8266的UTXD脚-------------------单片机的
ESP8266的VCC脚-------------------开发板JPWR排针的VCC()
ESP8266的CH_PD脚-----------------开发板JPWR排针的VCC
ESP8266的GND脚--------------------开发板JPWR排针的GND
第四步:
安装Android程序
在手机上安装,然后对开发板重新上电,等待10S左右,手机无线网络连接SSID为ESP8266-gigi的网络,密码为90.然后打开软件即可,如下图!
第三部分:
程序分析
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,按第二个按键,数码管全灭,不显示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 Wifi 无线通信 方案
![提示](https://static.bdocx.com/images/bang_tan.gif)