基于单片机远程控制系统的设计与实现_第1页
基于单片机远程控制系统的设计与实现_第2页
基于单片机远程控制系统的设计与实现_第3页
基于单片机远程控制系统的设计与实现_第4页
基于单片机远程控制系统的设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、临沂大学2018届本科毕业论文2018届 分 类 号 : 单位代码:10452 毕 业 论 文基于单片机远程控制系统的设计与实现姓 名 孙晓明 学 号 201409150224 年 级 2014 专 业 自动化 系(院)自动化与电气工程学院 指导教师 潘学美 李红霞 2018年 月 日28摘 要本设计基于单片机和无线通信技术,利用手机APP实现远程设备的控制,系统包括手机APP端、无线通信模块。无线通信模块由单片机控制器、按键和无线发射器、显示器组成,其功能是通过接受来自手机APP不同的指令来实现不同设备的控制。手机APP通过WiFi或GPRS信号发送指令,具有较好的人机交互界面,可实现多机交

2、互。系统的控制距离较远,应用方便,可用于对家庭电器远程控制,还可以对某些高危操作下的远程控制,以及户外远距离通信。本设计描述了系统的主要部件组成及功能特性、系统的模块组成及系统的工作原理,控制程序及设计调试与操作。关键词:51单片机;ESP8266无线设置;C语言;远程控制;手机APP AbstractThis design is based on single-chip computer and wireless communication technology, using mobile phone APP to achieve remote device control, the sys

3、tem includes mobile phone APP, wireless communication module. The wireless communication module is composed of a single-chip controller, buttons, a wireless transmitter, and a display. Its function is to realize the control of different devices by receiving different instructions from the mobile pho

4、ne APP. The mobile phone APP sends commands through WiFi or GPRS signals, and has a good human-computer interaction interface, which can realize multi-machine interaction. The control distance of the system is relatively long and the application is convenient. It can be used for remote control of ho

5、me appliances, remote control under certain high-risk operations, and outdoor long-distance communication.This design describes the main components of the system and the functional characteristics of the system, the system components and the working principle of the system, control procedures and de

6、sign debugging and operation.Keywords:51 SCM ;Remote Control; ESP8266 wireless settings; C language; Mobile APP目 录1.课题研究意义11.1课题研究背景.11.2课题研究的意义11.3本文的研究内容12.主要部件概述22.1 STC89c51单片机22.1.1 STC89C51简介22.1.2主要功能特性22.1.3引脚结构图32.2 1602液晶显示器32.2.1 液晶显示原理42.2.2液晶显示器的分类42.2.3液晶显示器的优点52.3 ESP8266概述52.3.1 Esp8

7、266简介52.3.2 ESP8266特点52.3.4 ESP8266的应用52.4供电方式62.5 DHT11温度采集模块62.6手机安卓APP73.设计原理73.1总设计原理73.2 ESP8266无线通信设置83.3 DC电源93.4自锁开关103.5 按键103.6模块化设计113.6.1用户人机交互界面113.6.2红外遥控通信,无线通信113.6.3解析无线数据信号,客户端和服务端的交互123.6.4 多机和界面操作124 设计调试与操作134.1设计调试134.1.1 硬件调试134.1.2 软件调试134.1.3整机调试144.2 案例设计操作过程145.设计总结15参 考 文

8、 献17附 录18谢 辞281.课题研究意义1.1课题研究背景这是一个智能化蓬勃发展的时代,科学技术是第一生产力,科技的力量是人们的生活质量改善的决定因素。高效率,节省时间,操作方便不仅是我们这个时代的主题,更是科学发展所追求的方向。随着科技高速发展,我们对于智能化生活的追求也随之增长。电子计算机的出现极大地丰富了这个世界的物质性和精神性,同时也大大的简化了世界。当然MCU系统也随之出现,并大量应用在生产生活之中,利用MCU控制,操作一些事务,劳动时间相对减少,劳动效率和精度随之提高。MCU的出现极大的改变了我们生产与生活方式。人们的生活与网络和智能越来越紧密联系在一起。物联网大量的应用在各行

9、各业之中,在智能时尚、智能工农业、智能交通运输、智能物流、智能教育教学、智能家居等方面都有着非凡意义。而WiFi无线网络技术的应用,可以实现手机端对WiFi模块设备的控制,而且,可以通过手机和电脑对智能设备远程控制,多种多样的设备控制方式,操作相对简单。应用软件采用安卓系统编程,数据信息可视化程度高,应用软件人机交互良好,改善人机对话技术,可实现多机和界面直接操作,操作方便简单。同时,远程控制技术也在现代生活生产中发挥着无可比拟的作用。大到航空航天,武器设备,小到电器家具,教学设备,都有着远程控制的身影。1.2课题研究的意义随着现代科学技术的快速发展,电子科技智能化和生活水平不断进步提高。人们

10、对于生活质量和科技服务的要求与向往也日益提高,不仅在功能上,人们更多开始追求服务,安全,人性化等方面,而科技也在一步步满足人们的各式各样的需求。当我们出门在外,或者各种情况下不方便对被操作对象进行处理时,我们就会需要远程控制,比如出门在外监控家中情况,回家路上提前打开空调、照明;大棚温度采集并加热或者制冷,等等,都会需要运用远程控制技术。远程控制的优点主要在于不受时间和空间地点的约束,从而避免浪费必要资源。1.3本文的研究内容本设计是基于单片机的一套远程控制系统,它可以通过手机实现对温度进行采集显示并加以操作加热或制冷。因为手机几乎是现代人生活中不可缺少的电子产品,不像遥控一样专物专用。手机又

11、有连接WIFI网络的功能,穿透能力比蓝牙要好,性能比红外稳定,又不必考虑直线传播。手机通过安装APP文件作为上位机控制软件,登陆服务器账号,连接主机(由STC89C51芯片组成)控制的ESP8266WIFI模块对其发送指令,进行连接。单片机接收到信号控制操作进行加热或者制冷。系统的主要设计框图如图1-1所示: DHT11温度采集Esp8266无线模块STC89C51单片机手机APP模块LCD1602液晶显示模块USB充电模块图1-1 设计框图 2.主要部件概述2.1 STC89c51单片机单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术将中央处理器CPU

12、、只读存储器ROM、随机存储器RAM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的单个微型计算机系统,广泛应用于工业控制领域。8051单片机一般是对和MCS-51兼容的单片机的统称,题设要求使用8051开发平台,而在本设计中,采用8051系列中的STC89C51这一具体型号的单片机为开发平台,8951在我国单片机的教育教学,产品设计中使用更为普遍。2.1.1 STC89C51简介STC89C51单片机是采用8051核的ISP在线可编程芯片。兼容MCS-51指令集和80C51的引脚结构、支持在线编程功能、串口编程、集成Flash存储芯片和通用8位中央处理器,是高速度/低功耗

13、的新一代8051单片机。2.1.2主要功能特性STC89C51的主要功能特性是:低成本,高性能;原有程序直接使用,硬件无需改动。如表2-1所示:主要功能特性兼容MCS51指令系统4K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM2个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表2-1 主要功能特性2.1.3引脚结构图STC引脚结构图如图2-2所示:图2-2引脚结构图2.2 1602液晶显示器在日常生活中,液晶显示器对于我们来说极为熟悉。

14、液晶显示模块在智能手表、万年历、计算器,手机等电子设备中都发挥极其重要的作用,主要显示数字、专用符号和图形。在单片机的人机交互界面中,一般通过发光管、LED数码管、液晶显示器等方式对外输出。如图2-3所示:图2-3 1602液晶显示屏2.2.1 液晶显示原理液晶显示屏的显示原理是利用它的物理特性,通过电压控制其显示区域,对其通电,从而显示出图形。液晶原理如2-2所示:其引脚简介:液晶1接GND,液晶2接VCC;3脚是液晶的灰度调整,通常3脚与GND(地)之间的之间的电阻数值为2001.5k,3脚和电源之间的阻值大约为10k。液晶的414与单片机的I/O口相接。15脚(A)和16脚(K)分别是为

15、背光的电源和地。液晶显示原理如图2-2所示: 图2-2 液晶原理2.2.2液晶显示器的分类液晶显示器主要按照显示方式、显示器色彩度、驱动方式进行分类。如表2-3所示:显示方式显示器色彩度驱动方式段式字符式点阵式黑白多灰度彩度静态驱动单纯矩阵驱动主动矩阵驱动表2-3 液晶显示器的分类2.2.3液晶显示器的优点 当液晶显示器作为对外显示器件应用在单片机系统中时,有下列优点:体积小,重量轻,功耗低;画质高且不会闪烁;数字式接口,简单可靠。2.3 ESP8266概述2.3.1 Esp8266简介ESP8266是一款高性能,低功耗的WiFi 模块,是专为物联网应用和移动设备而设计,可将用户的设备连接到W

16、i-Fi网络上,实现联网功能。ESP8266如图2-4所示:图2-4 ESP82662.3.2 ESP8266特点(1)32 位 Tensilica 处理器:ESP8266EX 内置超低功耗Tensilica L106 32位RISC 处理器CPU时钟速度最高可达160 MHz,支持实时操作系统 (RTOS)和Wi-Fi协议栈,可将高达 80% 的处理能力留给应用编程和开发。(2)低功耗:ESP8266作为专门为可穿戴电子产品、移动设备和物联网应用而设计的产品,拥有多项专有技术,从而实现了超低功耗。(3)高度集成:ESP8266由 32 位Tensilica处理器、天线开关、功率放大器、射频b

17、alun、低噪放大器、标准数字外设接口、过滤器和电源管理模块等组成。只需少量的外围电路,就可降低所占的PCB 空间。(4)性能稳定:ESP8266的工作温度范围大,性能保持相对稳定,可以在恶劣的操作环境中使用。2.3.4 ESP8266的应用ESP8266主要可以应用在以下设备装置中:智能电源插头,智能家居,婴儿监控器,网络摄像机,可穿戴电子设备产品,工业无线控制,无线位置感知设备。如图2-5所示的婴儿监控器,属于智能家居的一种,属于无线安全防护系统。通过ESP8266模块,家长可通过显示部分实时监视婴幼儿房间内的具体画面。图2-5 婴儿监控器2.4供电方式本设计供电方式选择USB插口模式。如

18、图2-6所示:图2-6 USB数据线 2.5 DHT11温度采集模块DHT11模块是一种具有标定数字信号输出的温湿度复合传感器。该传感器由电阻湿度传感器和NTC温度传感器组成,与高性能8位微控制器连接。因此,该产品的优点体现品质卓越、性能稳定、可靠性高、反应速度快、抗干扰能力强、性价比高等等方面。每个DHT11传感器都必须在极其精准的校验室中进行测试修正。单线制串行接口,从而使系统集成变得方便简洁。产品封装模式为 4 针单排引脚,容易连接,而且可根据用户需求而提供特殊封装形式。如图2-7所示: 图2-7 DHT模块2.6手机安卓APP通过网上相关论坛查询,下载了适合本设计作品的“WiFi数据传

19、输”APP。此软件可显示实时温度数值,并有加热制冷按键。软件外观设计如图2-8所示:图2-8 WiFi数据传输APP 3.设计原理3.1总设计原理本设计基于单片机和无线通信技术,利用手机APP实现远程设备的控制,系统包括手机APP端、无线通信模块。无线通信模块由单片机控制器、按键和无线发射器、显示器组成,其功能是通过接受来自手机APP不同的指令来实现不同设备的控制。手机APP通过WiFi或GPRS信号发送指令,具有较好的人机交互界面,可实现多机交互。系统的控制距离较远,应用方便,可用于对家庭电器远程控制,还可以对某些高危操作下的远程控制,以及户外远距离通信。具体原理为:单片机板上的DHT11模

20、块采集温度,并将温度数值发送到LCD液晶显示屏以及手机端APP界面加以显示。ESP8266发送WiFi无线数据,手机连上之后,APP自动获取IP地址,接收温度数值,手机APP端发送加热或者制冷指令,单片板上接收数据,进行对应操作,从而完成远程控制的应用。其原理图、微控制单元mcu、操作分别如图3-1、3-2、3-3所示:图3-1 原理图 图3-2微控制单元mcu图 图3-3 操作展示图 3.2 ESP8266无线通信设置本设计使用ESP8266WIFI模块实现单片机超声波测量数据向手机无线传输,让手机实时显示测量结果。ESP8266模块供电采用3.3V电压。将CH-PD引脚接VCC或者接上拉,

21、其余三个引脚可选择悬空,模块便可从FLASH启动进入AT系统。不同的测试系统,接线方法也不尽相同,例如一种值得推荐的接法:CH-PD引脚接VCC后,将UTXD,GND,VCC,URXD与USB-TTL连接之后便可以进行测试。在本设计中,我们将单片机的串口中断的波特率设为9600,记得在将ESP8266模块与单片机硬件连接之前,先用USB模块与ESP8266模块连接好,再将ESP8266模块用AT命令改为9600的波特率。使用的命令:(1)AT+UART=9600,8,1,0,0,如图3-4所示:图3-4 调试图(2)AT+CWSAP="wifi_yuan","12

22、3456789",11,4 /设置模块SSID:WIFI, PWD:密码 及安全类型加密模式(WPA2-PSK),如图3-5所示:图3-5 调试图 (3)完成上面两步后,就可以将ESP8266模块与单片机系统连接起来。手机连接“WiFi”,输入密码:“12345678”,成功连接。如图3-6所示:图3-6 WiFi连接 3.3 DC电源DC电源插口的2、3引脚接GND,1脚实则是VCC,然而在电路中需要接蓝色的自锁开关元器件,之后另一个引脚再去接电源。电源插口原理和硬件分别如3-7,3-8所示:图3-7 DC电源图 图3-8 DC电源原理图 3.4自锁开关自锁开关元器件在电路中相当于

23、电源开关,一组常开触点接电路的VCC(电源),另外一组常开触点接DC电源插口电源脚。硬件图如3-9,原理图如3-10所示:图3-9 自锁开关实体图 图3-10自锁开关原理图 3.5 按键按键解析如图3-11所示:图3-11 按键解析图 3.6模块化设计3.6.1用户人机交互界面下载好软件之后,连接WiFi,输入密码,打开WiFi数据传输APP,可以看到手机APP操作界面简单明了,没有过多复杂的显示。界面直接显示温度数值,加热按下左边按钮,制冷则按右边按钮,若退出,直接按“断开”即可。界面清楚,操作简单,老人孩子都可直接操作。WiFi数据传输APP页面如图3-12所示:图3-12 APP界面3.

24、6.2红外遥控通信,无线通信在本设计中,使用的是无线通讯,设计中采用了ESP8266Wi-Fi模块,用手机连接名为“wifi”的无线网,密码是“12345678”,可实现无线通讯。本设计没有采用红外遥控,是因为设计要求对温度高度敏感,然而温度容易影响红外遥控,使其灵敏度和按测度下降。手机连接WiFi如图3-13所示:图3-13 无线连接3.6.3解析无线数据信号,客户端和服务端的交互单片机板上的ESP8266WiFi模块作为服务端,通过手机连接,APP作为客户端,服务端将采集到的温度数据传输到APP中并显示;而手机APP作为客户端,控制加热或者制冷,将数据发送到单片机上,加热或者制冷功能的警示

25、灯发挥作用,给予提示。成功实现客户端与服务端交互。在单片机中植入相关代码:void ESP8266_SERVER(void)/建立服务器Send_Str("ATrn");delayms(500);Send_Str("ATrn");delayms(500);Send_Str("AT+CWMODE=2rn"); /服务器搭建在WIFI模块上delayms(500); Send_Str("AT+CWSAP="wifi","12345678",5,3rn"); /设置显示名称:wif

26、i,密码:12345678delayms(500);Send_Str("AT+CIPMUX=1rn");/启动多连接,建立服务器都需要配置delayms(500);Send_Str("AT+CIPSERVER=1,5000rn");/建立服务器delayms(500);Send_Str("AT+CIPSTO=0rn");3.6.4 多机和界面操作此模块实现功能即一个操作界面可以直接操作多台客户机,客户机可同时进行操作。ESP8266无线网络可多个手机连接,而手机全部可以同时独立操作,成功实现多级和界面直接操作。多机操作原理如图3-14

27、所示:图3-14 多机操作原理4 设计调试与操作硬件和软件部分完成后,为确保设计作品成功,实现要求功能,所以进行必备步骤:调试。最终,对调试成功的作品进行操作。4.1设计调试调试分为对硬件,软件,整体的调试三部分。4.1.1 硬件调试在完成硬件制作后,根据设计要求对硬件部分进行了调试工作,首先是对器件进行检测,测试其能否正常工作,导线是否导通等等。接着是检查对各个引脚的信号,接通好电源,触摸元器件,发热的话,将电源关闭,再次进行检测;若没有发热,则测试所有芯片的VCC端电压,查看是否达到设计要求标准,接地端是否都已经接地,没有错误后,则开始利用信号波形测试电路中所用到的引脚。最后进行联机调试,

28、采用部分调试。图4-1元件图 图4-2充电线图4-3 充电之后的元件图 4.1.2 软件调试本设计系统的程序是采用C语言编程,通过Keil uVision3 MCS-51编程软件对C语言软件部分进行了调试。在该软件的提示下,成功完成修改。所以只需着重检查头文件是否正确与单片机的端口地址是否匹配即可。软件调试如图4-4所示:图4-4测试图4.1.3整机调试整机调试主要是实体运行时对按键和接线进行测试等。通过测试各个功能模块,并对错误加以改进,使得本设计最终达到要求。4.2 案例设计操作过程(1)将USB端接入电脑,另一端与dc电源端连接,按下自锁开关,LCD显示屏显示温度,打开手机APP,如图4

29、-5、4-6所示:图4-5手机APP界面图 图4-6 温度显示图 (2)温度显示:连接WiFi,输入密码,手机和单片机板LCD液晶显示板同时呈现温度具体数值。输入密码,相关操作如图4-7、4-8所示: 图4-7 输入密码 图4-8 操作图 (3)按下左边的开按钮,红灯亮,提示加热。操作如图4-9所示:图4-9 加热操作(4)按下右边的开按钮,红灯亮,提示制冷。 制冷操作如图4-10所示: 图4-10 制冷操作 5.设计总结何为远程控制?即在网络上,由主控端Remote远距离控制被控端Host的技术。其中,主控端又称为客户端,被控端又称为服务端。远程控制系统应用在实际生活的方方面面,对于我们来说

30、,极为熟悉。比如,远程监控,人在外地可以实时监控家中;QQ的远程桌面,可以实现控制对方电脑从而进行操作,手机APP远程遥控家电,实现智能化家居生活等等。而本文中的远程控制加热或制冷装置,可以广泛应用在蔬菜大棚,花房等需要根据要求改变温度的场所。设计过程中注重操作的直观性和操作性,采用了实时显示的交互界面,让操作结果一目了然。在设计过程中,遇到了一些棘手的问题,比如C语言的编写,esp8266模块的设置,LCD液晶显示屏的选择,各个小零件的型号,单片机的焊接等,最后这些问题,在经过查询图文资料,老师细心的指导和同学间的讨论之后成功解决,完成了设计,也熟悉了C语言的编写,keil软件的应用,电子元

31、器件的的焊接等。总而言之,设计过程和论文的修改虽然经历很多的困难,但通过查询相关资料和指导老师的帮助下,最终完成作品。通过这次毕业设计,我感觉所学知识的重要性和融合性,也明白自己在专业学习上有很大的不足,但总体有所进步,将理论与操作结合,巩固了以往所学的知识,为以后的应用打下了一定的基础。参 考 文 献1 杨凡. 浅谈单片机发展历程及其趋势J. 科技创造家,2016.2 王熔熔. 基于单片机的温度采集报警系统的设计J. 计算机光盘软件与应用,2016.3 曹瑞. 基于单片机的计算器的设计J. 科技视界,2017.4 梁强. 字符型液晶模块1602快速应用J.科技信息,2012.5 刘包利.浅谈

32、单片机及其扩展应用 J.内蒙古科技与经济,2010,22:96-976 凌玉华.单片机原理及应用系统设计M.中南大学出版社,2006-5-17 吕娓,刘雁开,房理想 .家用电器远程控制系统的设计J.电子世界, 2015.8 乐鑫.ESP8266 OverviewEB/OL. ,2018.9 ESP8266 数据手册和产品信息;ESP8266开发教程与资源DB/OL. 2018年03月11日10 Libo Yang. Intelligent Home Control System Based on Single Chip MicrocomputerJ. IOP Conference Series

33、: Materials Science and Engineering 2017.11 Noraini Azmi. Design and Development of Multi-Transceiver Lorafi Board consisting LoRa and ESP8266-Wifi Communication ModuleJ. IOP Conference Series: Materials Science and Engineering 2018.12 Hanhong Tan. Design of Water Temperature Control System Based on

34、 Single Chip MicrocomputerJ. IOP Conference Series: Materials Science and Engineering 2017. 附 录附录一: 设计元件清单元件名称数量元件名称数量STC89C511LED3LCD16021精密电阻1DS18B201排阻10K1ESP82661晶振11.0592M1AMS1117 1继电器2按键1自锁按键185502USB线1电阻电容10K(1个)1K(5个)4.7K(1个)10uf (1个)30pf (2个)220uf (1个)附录二: 相应代码#include <reg51.h>/头文件#i

35、nclude <intrins.h>#include <lcd1602.c>#define uint unsigned int/定义#define uchar unsigned char#define nops(); _nop_();_nop_();_nop_();_nop_();uchar code str1="TEMP: "sbit DQ = P10; /温度传送数据IO口uchar flag=0;/显示状态位uint Wendu; /用来存储采集实际使用的温度unsigned int temp;sbit LED1=P20;/定义单片机I/O口p

36、2.0伪名称为led1sbit LED2=P37; /定义单片机I/O口p3.7伪名称为led2unsigned char idata Rxbuff50,Rxnum; /声明一个类型为无字符型的对象unsigned charRecwifi_data5,led2;/声明一个类型为无字符型的对象char *strx=0;char clinetid;/连接IDunsigned char getflag;/获取标志/*DS18B20温度读取模块*/void delay_1ms(uint z) /传递延时1ms uint x,y; /循环 for(x=z;x>0;x-) for(y=110;y&g

37、t;0;y-);void tmpDelay(int num)/延时函数while(num-) ;void Init_DS18B20()/初始化ds1820unsigned char x=0;DQ = 1; /DQ复位tmpDelay(8); /稍做延时DQ = 0; /单片机将DQ拉低tmpDelay(80); /精确延时 大于 480usDQ = 1; /拉高总线tmpDelay(14);x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败tmpDelay(20);unsigned char ReadOneChar()/读一个字节unsigned char i=0;unsig

38、ned char dat = 0;for (i=8;i>0;i-)DQ = 0; / 给脉冲信号dat>>=1;DQ = 1; / 给脉冲信号if(DQ)dat|=0x80;tmpDelay(4);return(dat); /返回void WriteOneChar(unsigned char dat)/写一个字节unsigned char i=0;for (i=8; i>0; i-) /for循环DQ = 0;DQ = dat&0x01;tmpDelay(5);DQ = 1;dat>>=1;uchar Readtemp()/读取温度uchar tmp

39、2;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作 WriteOneChar(0x44); / 启动温度转换delay_1ms(10);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0xBE); /读取温度寄存器tmp0=ReadOneChar(); /连续读两个字节数据 /读低8位tmp1=ReadOneChar(); /读高8位temp = (tmp1<<4)&0xF0)|(tmp0>>4)&0x0F);/数返回数值if(temp

40、>127)/判断temp temp = temp + 1;return (temp);void InitUART(void) /这是串口的基本配置,配置他的波特率是9600.这些参数都是标准的。 TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; EA = 1; ES = 1; TR1 = 1;/*/void delayms(unsigned int x) /延时函数unsigned int i;while(x-)/while循环for(i=125;i>0;i-);/* * UART 发送一字节*/void U

41、ART_send_byte(char dat) SBUF = dat;/发送while (TI = 0);/等待发送完毕TI = 0;/清发送完毕中断请求标志位 /* * UART 发送字符串*/void Send_Str(unsigned char *buf)while (*buf != '0')UART_send_byte(*buf+);void ESP8266_SERVER(void)/建立服务器Send_Str("ATrn");delayms(500);Send_Str("ATrn");delayms(500);Send_Str(

42、"AT+CWMODE=2rn"); /服务器搭建在WIFI模块上delayms(500); Send_Str("AT+CWSAP="wifi","12345678",5,3rn"); /设置显示名称:wifi,密码:12345678delayms(500);Send_Str("AT+CIPMUX=1rn");/启动多连接,建立服务器都需要配置delayms(500);Send_Str("AT+CIPSERVER=1,5000rn");/建立服务器delayms(500);Se

43、nd_Str("AT+CIPSTO=0rn");void Get_Clinet(void)/判断是否获取到了客户端接入if(Rxbuff0='0')&&(Rxbuff1=',')&&(Rxbuff3='O')/返回连接值 getflag=1;if(Rxbuff0='0')&&(Rxbuff1=',')&&(Rxbuff3='L')/返回连接值 getflag=0;void Send_DATA(uchar *buffe

44、r) /发送数据 Send_Str("AT+CIPSEND=0,7rn");delayms(100); Send_Str(buffer);/发送数据delayms(200);if(Rxbuff9='1')&&(Rxbuff10='0')/关灯LED1=1;if(Rxbuff9='1')&&(Rxbuff10='1')/开灯LED1=0;if(Rxbuff9='2')&&(Rxbuff10='0')/关灯LED2=1; if(Rxbu

45、ff9='2')&&(Rxbuff10='1')/开灯LED2=0 ;void main()/main函数 unsigned char Tx_Buf10; unsigned char LEDstatus;/灯的状态InitUART();ESP8266_SERVER(); Init_1602(); /1602初始化Init_DS18B20(); /18B20初始化LCD_write_str(1,4,str1);while(1) if(flag=0) Wendu=Readtemp(); /采集温度回来 Lcd_Display_2Date(1,9,We

46、ndu); / Get_Clinet();if(getflag) Lcd_Display_2Date(1,9,Wendu); /显示温度 Tx_Buf0='T'/帧头Tx_Buf1=Wendu/10+0x30; /将温湿度数据送往发送数组,送给模块让手机APP显示 Tx_Buf2=Wendu%10+0x30; Tx_Buf3=0+0x30; Tx_Buf4=0+0x30;LEDstatus=LED1; Tx_Buf5=LEDstatus+0x30;/发送灯的状态LEDstatus=LED2;Tx_Buf6=LEDstatus+0x30; Send_DATA(Tx_Buf);/发送数据 /*串口接收中断函数,接收数据*/void UARTInterrupt(void) interrupt 4if(RI) ES=0; RI = 0; RxbuffRxnum=SBUF;if(RxbuffRxnum='n')/if循环语句Rxnum=0; else Rxnum+;if(Rxnum>22)Rxnum=0;ES=1; /LCD1602.c/#include<reg51.h> /头文件#define

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论