基于51单片机的WIFI无线控制系统设计与实现.docx
- 文档编号:67687
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:6
- 大小:149.92KB
基于51单片机的WIFI无线控制系统设计与实现.docx
《基于51单片机的WIFI无线控制系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于51单片机的WIFI无线控制系统设计与实现.docx(6页珍藏版)》请在冰豆网上搜索。
基于51单片机的WIFI无线控制系统设计与实现
谭传武傅宗纯
(湖南铁道职业技术学院--通信与信号学院,湖南株洲412001)
摘要:
系统基于51单片机及ESP8266WIFI模块设计并实现了一种APP无线控制系统,系统主要包括单片机主控模块、WIFI模块、串口电平转换模块、电源模块及电机驱动模块,实现了从智能手机APP下发控制指令,通过WIFI模块转发给单片机控制电路,进而驱动电机模块控制电机的转动。
系统完成硬件电路和软件程序的设计,并完成了系统软硬件的调试内容,该系统成本较低,非常适合应用在物联网领域的无线控制系统。
关键词:
WIFI控制;单片机;无线控制;ESP8266
中图分类号:
TN4 文献标识码:
A
DesignandimplementationofWIFIcontrolsystembasedon
8051singlechip
TANChuanwuFuzongchun
(Dept.ofCommunicationandsignal,HunanRailwayProfessionalTechnologycollege,Zhuzhou,Hunan412)001
Theeraofintelligentintelligentequipmentisgraduallytoreplacetheartificialintelligenceoperation,intelligentcannotdowithouttheconvenienceofwireless。
Inrecentyears,controltechnology,infraredtechnology,ZigBeetechnology,BluetoothtechnologyandWIFItechnologygetinvolvedinthefieldofwirelesscommunication。
Wirelesscontroltechnologyhasbothadvantagesanddisadvantagesofeach.Withbigdata,cloudcomputingtechnologyandtheInternetofthingsarrivalling,theAPPeraletallkindsofwirelesscontrolintotheintelligentmobilephoneusers,andWIFItechnologywiththeInternetgrowthhasgraduallyoccupiedtheintelligentmobilephonewirelesscontrolofthemarket,sotheuseofWIFIwirelesstechnologytoimplementAPPcontr
olequipmentcostnaturaladvantagestotheterminal,thesystemof51MCUandESP8266WIFImodulethedevelopmentofawirelesscontrolsystembasedonthecommoncontro,lthroughtheintelligentmobilephoneAPPcanberealizedonthepositiveandnegativerotationofthemotorandotherequipment,andHighreliabilityandhighperformance.
Keywords:
WIFIcontrol;MCU;Wirelesscontrol;ESP8266
引言
智能化的时代促使智能化的设备正在逐步代替人为的操作,智能离不开便捷的无线控制技术,近年来红外技术、zigbee技术、蓝牙技术及WIFI技术不断涉足无线通信领域,各种无线控制技术都有各自的优缺点,随着大数据、云计算及物联网等新技术的到来,APP时代让各种无线控制进入了用户的智能手机,且WIFI技术借助因特网的壮大已逐渐占领了智能手机无线控制的市场,因此采用WIFI无线技术实现APP对终端进行控制有天然的设备成本优势,本系统基于51
单片机与ESP8266WIFI模块开发了一种通用的无线控制系统,通过智能手机APP可实现对电机正反转等设备的灵活控制,且性能可靠精度高。
1、系统控制原理
系统采用51单片机作为主控芯片,通过配置ESP8266串口WIFI模块,使得WIFI模块通过串口进行电平转换,匹配电平后与单片机串口实现收发互通,当手机控制终端
APP下发操作指令时,WIFI模块经过处理将操作转发给51单片机,单片机控制驱动模
块,驱动受控设备动作。
电源模块为系统提供所需直流电压,一方面输出3.3V给WIFI模块,另一方面输出5V给51单片机供电,
TXD串口相连,其配置连线图如图3所示。
图1系统控制框图
2、系统硬件电路设计
设计完成了基于51单片机采用WIFI无线控制的系统设计与实现,系统选取直流电机作为受控设备,采用L293D作为电机驱动模块,系统硬件主要包括以下几个模块。
2.1主控及驱动模块
系统控制原理如图1所示。
如图3所示,模块中CH_PD处于低电平使得供电模块关闭,处于高电平是正常工作状态,因此需将模块的CH_PD引脚和VCC相连,
ESP8266WIFI模块与单片机上通过RXD和
图2电机驱动模块和单片机原理图
主控模块为51单片机控制电机驱动模块,驱动电机的正转、反转与停止,电路原理图如图2所示。
单片机的P0的8个端口在位定义之后对L293D电机模块的4个
INPUT写入各不同的高低电平,经L293D芯片内部的转换之后,在OUTPUT输出4个相应的电平值,分别对应M1和M2的两个电机
A端和B端,从而通过驱动模块控制电机M1和M2的正转和反转,进而实现系统所需要的功能。
2.2WIFI模块
系统采用ESP8266WIFI模块作为连接单片机与智能手机的桥梁,ESP8266WIFI模块
图3ESP8266模块引脚及模块与单片机连线配置图
2.3电平转换模块
单片机与计算机之间的串口通信通过
USB转串口线及相应的驱动来完成,本系统电平转换模块主要完成单片机 5V电平与
WIFI模块3.3V电平之间的转换,实现单片机与WIFI模块之间的相互通信,进而完成数据交换,电平转换模块如图4所示。
图45V和3.3V串口电平转换模块图
2.4电源模块
电源模块为系统提供稳定的直流电源,采用AMS1117-3.3V完成降压和稳压的过程,给系统提供不同的工作电压,实现给单片机提供5V和WIFI模块提供3.3V电压,电源
模块电路如图5所示。
图6主程序流程图
Voidinit_serial()//串口初始化
{
图5电源模块原理图
图5中D1作用是防止电源反接,C01、
C02是电源输入滤波。
VDD3.3是3.3V电源,供数字电路使用。
L1、L2是隔离滤波电感,VCC3.3是3.3V电源,供模拟电路使用。
电源在通过AMS1117-3.3V降/稳压电路,电源电压由原来的5V降为3.3V,可以提供给正常工作在3.3V的设备使用。
3、系统软件设计
3.1系统主程序
系统主程序主要完成对系统中各模块电路的初始化等工作,主程序流程图如图6所示,单片机首先完成串口初始化,设置好单片机与WIFI模块的波特率为115200。
然后向WIFI模块发送AT指令,使WIFI模块创建好服务连接。
手机连接到WIFI模块发送无线的控制指令,单片机在接收到WIFI模块从串口传来的数据后,进入中断函数来执行接收数据的模式。
将接收到的控制指令存储在寄存器中,单片机在寄存器中读取接收到的控制指令,然后根据接收到命令的不同,执行电机正转反转或停止的动作。
TMOD=0x20;//定时器计数,工作模式2TH1=0xFF ;//给T1赋初值
TL1=0xFD ;
SCON=0x50 ;//控制寄存器,工作方式1RCAP2H=0xFF ;//给T2赋初值RCAP2L=0xFD ;
TCLK=1 ;//给T2选择工作模式
RCLK=1;
}
单片机对串口进行初始化的程序如上所示,系统晶振为11MHz,因此用到定时器
T1和T2,首先将定时器(TMOD)设置为0x20,
使它选择工作模式2,然后给TH1、TL1和
TH2、TL2赋初始值,确定串口工作方式(编写SCON寄存器)选择工作方式1,在T1计数溢出的时候,进入T2来进行计数,使其达到相应的波特率。
3.2串口中断接收程序
系统通过串口中断实现单片机和WIFI模块之间的通信。
根据命令数据发送的规律,将命令解码储存在相应的二维数组中,方便主函数的调用。
串口中断接收流程如图
7所示。
图7串口中断接收流程图
voidcomBreak()interrupt4//中断函数
{
unsignedcharRecwData;
if(RI=1)
{
RecvData=SBUF;
if(RecvData==‘S’)
{
ControlCar
(1);
}
}
RI=0;
}
如上是串口接收程序,单片机的串口接收存储数据后RI会自动置1,因此进入串口中断时先把RI先置0。
然后判断RI是否为
1,是用来判断数据是否接收完毕,如不为1
继续接收,如为1就将数据存储在单片机的存储器中,等待单片机到存储器中读取接收到的数据,进一步执行单片机的控制动作。
3.3串口发送程序
单片机通过串口向WIFI模块发送指令,控制WIFI模块的模式,以便手机接入WIFI模块。
在发送指令时,要关闭串口中断,避免在发送数据时串口中断的产生,引起指令发送错误。
在指令发送完毕后,打开串口中断,允许中断函数对单片机作用。
串口发送指令流程如图8所示。
图8串口发送程序流程图
voidSend_Uart(ucharvalue)//单片机数据发送
{
ES=0;//串口中断关闭
TI=0 ;//TI置0,等待数据传输SBUF=value ;//将数据放入串口寄存器中
while(TI==0);//数据传输完毕
TI=0;
ES=1;//串口中断打开
}
串口发送指令的流程中,单片机是用来向WIFI模块发送AT指令的。
为了发送数据时不因中断函数的请求,首先要关闭中断源的允许位避免了数据发送错误。
然后将TI置0,原因如上,单片机发送数据之前,都要把数据先存储在寄存器中,在发送数据时在存储器中读取。
并比较TI是否为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 WIFI 无线 控制系统 设计 实现