2023年毕业设计:基于单片机的智能鞋柜设计(含源代码和系统详解)

基于单片机的智能鞋柜设计

摘  要

由于人们的生活质量正在逐步提高,从大的来看房、车以及医疗健康等,从小的来看人们的穿着从最初的实用需求到如今的赶潮流,越来越多人也选择买昂贵好看的鞋子;然而,对于鞋子的存储却一直是一个很大的问题。传统的鞋柜只是作为搁放、储存鞋子的家具,人们将鞋子放入鞋柜后便紧闭或者敞开,紧闭却不通风,敞开却味道大,无论怎么样都是不好的。这样的鞋柜环境很容易会滋生细菌,长时间的累积对鞋子、鞋柜、使用者都会产生不好的影响;现在市面的鞋柜也只是对于外观上的变形,功能上的存储之外并没有杀菌、除臭及烘干等操作。对于工作繁忙的人来说经常花时间或者金钱去清洗护理鞋子更是一个繁琐麻烦、不值当的行为,这完全不能满足人们对鞋子保持干净、足部保持健康的需求。而如今电子科技高速发展,我们完全有能力通过智能去改变这种现状。所以,本次设计的创新灵感便来源于此,通过技术手段让使用者免去这些琐碎的环节。

本次设计就以上问题为出发点设计了一款基于STC89C52单片机的智能鞋柜设计系统。它不仅可以像传统鞋柜那样储存鞋子,还可以采集并显示当前鞋柜的温度和湿度,根据当时情况或者使用者的需求不同,对其进行除湿换气,加热烘干并进行消毒。为了更加方便还设置了自动模式,通过设定不同的温湿度限定值,当达到值时自动进行后续的功能操作。

关键词:智能鞋柜;STC89C52单片机;DHT11;LCD1602液晶显示

Design of intelligent shoe cabinet based on microcomputer

Abstract

As people's quality of life is gradually improving, from the big look at housing, cars and medical health, etc., from the small point of view, people's clothing from the initial practical needs to today's catch up with the trend, more and more people also choose to buy expensive and good-looking shoes; However, the storage of shoes has always been a big problem. The traditional shoe cabinet is only used as furniture to shelve and store shoes, and people put shoes into the shoe cabinet and then close or open, closed but not ventilated, open but smelly, no matter how it is not good. Such a shoe cabinet environment is easy to breed bacteria, and long-term accumulation will have a bad impact on shoes, shoe cabinets, and users; Now the shoe cabinets on the market are only for the appearance of deformation, and there are no sterilization, deodorization and drying operations other than functional storage. For busy people, often spending time or money to clean and care for shoes is a cumbersome and unworthy behavior, which completely does not meet people's needs to keep shoes clean and feet healthy. Now that electronic technology is developing rapidly, we are fully capable of changing this status quo through intelligence. Therefore, the innovative inspiration of this design comes from this, allowing users to avoid these trivial links through technical means.

This design takes the above problems as the starting point to design an intelligent shoe cabinet design system based on STC89C52 single-chip microcomputer. It can not only store shoes like a traditional shoe cabinet, but also collect and display the temperature and humidity of the current shoe cabinet, dehumidify and ventilate, heat and dry it according to the situation or the needs of users. For added convenience, we also set the automatic mode, and by setting different temperature and humidity limit values, the subsequent function operation is automatically performed when the value is reached.

Keywords : Intelligent shoe cabinet; STC89C52 MCU;DHT11; LCD1602 liquid crystal display

目 录

摘  要

Abstract

第一章 引言

1.1 课题背景及研究意义

1.2 国内外研究现状

1.3 课题的主要研究内容

1.4 本文的结构组成

第二章 系统总体设计方案

2.1 系统总体设计

2.2 元器件的选型

2.2.1 单片机的选择

2.2.2 显示模块的选择

2.2.3 温湿度传感器模块的选择

2.3本章小结

第三章 系统的硬件设计

3.1 STC89C52单片机最小系统

3.2 液晶显示模块

3.3 按键键盘模块

3.4 温湿度采集模块

3.5 继电器控制模块

3.6 本章小结

第四章 系统的软件设计

4.1 软件编程设计

4.2 单片机开发环境

4.3 软件整体设计

4.4 各模块软件设计

4.4.1 温湿度采集模块设计

4.4.2 液晶显示模块设计

4.4.3 按键模块设计

4.5 本章小结

第五章 系统调试

5.1 绘制电路与焊接

5.2 硬件测试

5.3 本章小结

第六章 结束语

参考文献

致谢

附录一:原理图

第一章 引言

1.1 课题背景及研究意义

在平时的生活中,由于双脚长时间与鞋子相接触,在走路或运动的时候,双脚会出汗,这样就会在鞋里面造成一个温度较高、湿度较大的环境,这对于细菌和真菌在鞋里面的生长是十分有利的,长时间的积累很可能会导致脚臭、脚气和脚癣等问题,对身体十分不利。而鞋柜作为储存鞋子的唯一家具并不具有其他任何辅助作用,当生活在一个环境的人数增多时,对外出归来沾满细菌的鞋子不予处理时间久了会相互加重感染,使得足病危害更加严重,甚至危害着家庭的健康和正常生活。随着现代社会科学技术水平地不断提高,人们越来越注重物联网的发展,物联网能够实现人类与家具的智能交流,打开了智慧生活的大门。目前,小米、华为等研发科技的顶尖公司已经有了建立一个智慧家庭的想法倾向,许多公司都在思考是否可以通过研发一个智慧的鞋柜来完成对鞋子的管理,但是目前市面上大部分的智慧鞋柜都只是仅仅可以晾晒或者杀菌或者用后一段时间的控制,并没有达到真正意义上的便捷实用等要求。所以,为了让人们对于鞋子的管理清护更加方便,同时保护人们足部的健康,有很大的必要设计一款更加智能化、人性化、实用化的智能消毒鞋柜。

本次设计就以上问题为出发点研发设计了一款以STC89C52单片机为基础的智能鞋柜系统,所处环境的温度和湿度数据用传感器检测采集,经单片机数据处理后,通过按键进行不同的指示功能。按键用来进行设置湿度上限,如果超过上限将驱动继电器闭合开启风扇进行除湿换气;如果低于温度下限将驱动另一个继电器闭合开启加热片进行加热烘干,使鞋子储存的环境始终都处于一个适宜的环境避免发霉生菌,并且用蓝色led灯进行消毒。本次设计解决了市场上鞋柜功能的单一性,增加了对鞋柜鞋盒的烘干、消毒、杀菌、通风,给人们的生活带来了极大的便利,它能最大限度地节省劳动,改善人们的身边的生活环境,具有极大的现实意义。

1.2 国内外研究现状

在科学技术发展的今天,各种智能家具开始进入广大人民的视野,智能家具代表了人们对于智能化生活的期望。虽然智能家居的想法很美好,但现阶段我国的智能家居发展比于外国的智能发展还是较慢的,我国的智能家居市场也并没有达到相对于理想的状态。在智能家居发展初级阶段,许多商家为了抢占市场份额,争先恐后地推出自己的产品,但是各个生产商做出来的产品有优有劣,存在产品之间不兼容的问题,形成了恶性竞争。此外我国有很多智能家电都是由国外引入的,但国外的智能家居产品引入我国,存在好多问题,比如:不兼容,价格昂贵,这对我国的普通家庭是承受不起的。

人们生活水平不断提高,鞋柜越来越成为现代家庭装修中必不可少的组成部分。在中国,整个鞋柜行业已经成为一个产业已经有很短的历史了。最近几年,在国内,家庭消费已经开始重视起家庭生活的整体艺术性,人们更喜欢在自己的家里添加更多的独立的创意和功能,因此,鞋柜也受到了一定程度的冲击。但智能鞋柜的发展并没有跟上时代的步伐,智能鞋柜还未能普及到大众家庭,最大的障碍是昂贵的智能化设备,由于许多的设计缺少经济实用性,使得人们面对智能鞋柜望而却步[1]。现阶段来说,随着科技的稳定发展,人们一致认为智能家居不仅仅是一个单独家具智能这么简单,而是家具系统整体的智能。在这种影响下,鞋柜的智能化设计也发生了很大的变化。

现如今,小米、华为等知名的中国企业也正在致力于打造智能家居甚至取得了一定的成果,但整个智能家居系统对于普通家庭来说都太过于昂贵且不是一个性价比很高的选择,所以用户完全可以根据自己的需求来单个选用。为了能普及大众,本文设计一款简易的凭借单片机结合传感器检测当前鞋柜温湿度并根据需求除湿消毒功能且具有一定的实用价值。

1.3 课题的主要研究内容

本设计具体要实现的功能为:

1.DHT11传感器采集环境温度和湿,实时显示在LCD1602液晶屏上,设置更新时间为1s。

 2.手动模式下通过按键进行设置温度和湿度的限定值,控制消毒指示灯和分别模拟除湿换气、加热烘干电路继电器的闭合。

3.在自动模式下,当湿度超过限定值时自动开启风扇进行模拟除湿风干,当温度低于限定值时自动开启加热片进行模拟加热烘干;如都满足则全部开启。

4.当检测到的环境温度已经达到限定值或者加热到限定值时模拟烘干的继电器会自动断开停止加热,防止过热烫坏鞋子。

1.4 本文的结构组成

本文由六章组成,分别主要包括:

第一章:首先对选题的背景及目前的研究状况进行了简单的阐述,然后指出了选题的重要性,并指出了论文所要完成的任务。

第二章:本章节对该控制系统的整体设计进行了详细的阐述,重点对控制核心模块,显示模块,传感器模块进行了对比,并对其进行了详细的说明。

第四章:本章节对该项目中的软件编程和其开发环境进行了介绍,并对项目中的每一项重要的软件设计做了具体的说明。

第五章:进行电路图的绘制和焊接,介绍系统行使的工作原理和对硬件进行测试发现问题并解决。

第六章:讲述了本设计过程中的感想,指出设计过程中存在的缺陷和可以改进的地方,为之后的设计提供有效建议。

  

第二章 系统总体设计方案

2.1 系统总体设计

该系统以单片机作为控制核心,对其进行数据处理,并利用传感器对环境进行了温度和湿度的采集并将其显示在液晶显示屏上,再通过按键设置完成对系统模拟除湿、烘干、消毒功能的实现系统总体框图如图3.1所示。

图 3.1 系统整体框图

系统主要实现以下功能:

(1)用DHT11传感器完成对环境温度和湿度的采集;

(2)设计7个独立的按键来实现对系统设计工作状态的控制;

(3)用STC89C52单片机为核心进行数据处理;

(4)LCD1602显示当前的工作模式和采集的温湿度数据;

(5)采用继电器分别外加风扇和加热片模拟烘干和除湿;

(6)LED蓝色灯来模拟消毒。

2.2 元器件的选型

2.2.1 单片机的选择

方案一:

选用STC89C52单片机,其采用基于MCS-51标准的架构,具有8位宽的数据总线和16位宽的地址总线,可以直接访问64KB的内存空间;内置了12个时钟周期的指令周期,可以在12个时钟周期内完成大多数指令的执行,从而提高了运行效率;具有4个8位I/O口和2个16位定时器/计数器,可以用于控制外部设备;内置EEPROM存储器,实现对数据的长期存储和读取,具有非常高的数据可靠性和稳定性;STC89C52单片机具有高性能、高可靠性、丰富的外设接口和多种编程语言支持等特点,适用于多种应用场景,例如工业控制、自动化设备、智能家居等领域。

方案二:

选用MSP430系列单片机,不同系列的 MSP430 单片机内部具有不同的外设,其内部有四个寄存器,每一个寄存器都可以保存4位二进制数据[2]。每一个寄存器都有两个时钟(60 MHz或65 MHz)。在一个时钟周期内,除了在第一个寄存器内存放一位二进制数据外,还会在第二个寄存器内存放一个二进制数值(如1/2、3/4)。由于采用了片上系统技术,因此MSP430单片机在内部结构上比8位单片机有很大的优点,如片内集成了更多的寄存器、采用了新型的封装结构、内部有两个时钟发生器、采用了一种新型的地址译码方式等。但MSP430也存在着缺点,如时钟源利用率低、资源有限、价格昂贵等。

将上述两个芯片进行比较,MSP430存在大量的资源不足、价格昂贵等缺陷。对比下51单片机的编程方式也更加灵活。因此,本系统选择了第一套方案。

2.2.2 显示模块的选择

方案一:

采用点阵式数字管,点阵式数字管包括8行8列的光二极管,在许多情形中,其在荧光屏上都能看见,但是电子数字显示器并不够好,而且点阵主要用于显示文字的优点,数码显示具有缺点,一是不够直观,二是看起来有点浪费,再就是价格比较高。所以不选用此作为显示屏。

方案二:

使用LED数码管进行动态扫描,LED数码管价格合理[3],在不显示更多数字的情况下,数码管用量增加,连线的问题繁琐,在编程方面将相应地比较复杂。采用数码管可以在较短的时间内得到所需信息,但由于其体积较大不能直接用于显示屏中,所以一般需要将数码管固定于显示器或其他位置。但数码管动态扫描需要借助其他寄存器进行移位,在调试的过程中也容易出现故障,所以在这里也不考虑方案二。

方案三:

选用LED液晶显示屏,其显示功能强大,能够向外展示大量的字和图、且展示种类繁多、一目了然。液晶显示屏是一种新型电子技术产品,它具有体积小、重量轻、寿命长等特点,其应用范围非常广泛。同时得到了广泛的认可,价格也合适。对于本设计而言一个LCD1602的液晶屏即可。

将上述三种方案进行比较,可看出方案一存在一定的劣势,方案二操作繁琐并不方便,而方案三在三者中既可以做到有理想的显示效果,体积也相较于更小便于储存,是一个最好的选择方案。

2.2.3 传感器模块的选择

方案一:

DS18B20是常用的数字温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点[4]。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等,适用于各种狭小空间设备数字测温和控制领域[5]。

方案二:

DHT11是一款带有校准数字输出的温湿度传感器。其精度湿度+-5%RH,温度+-2℃,量程湿度20-90%RH,温度0~50℃[6]。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿是一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接[7]。作为一款较为高质量的产品,它不仅具有极快的响应速度、高抗噪能力,使得系统集成变得简单而快速,还拥有极小的尺寸和极低的功耗使其成为这种类型的高要求应用的最佳选择。

通过对比和实际环境因素考虑通过DHT11不但可以采集当前环境的湿度还可以采集当前环境温度,在采集数据的精确度、价格和体积方面在相比较下都具有相对的优势所以我们采用DHT11。

2.3 本章小结

本章通过对系统设计所用的单片机芯片、液晶显示的具体型号和温湿度传感器模块的选择进行了具体的分析比较,并给出了最佳的选择方案。

第三章 系统的硬件设计

3.1 单片机最小系统

主控模块模块对系统整体起协调作用,要对键盘进行检测及其他各参数,同时,对液晶显示的有关参数进行驱动[8],这里选择51系列单片机STC89C52单片机为主控芯片。

STC89C52的特性:

  1. 相当于普通8051 的0~420MHz.实际工作频率可达48MHz;
  2. 硬件采用了功耗最小的单片电源管理模块,保证了系统的稳定性;
  3. 具有完善的中断系统,能够方便的对各种中断进行处理和响应;
  4. 具有快速且准确的复位电路和时钟电路;
  5. 可直接使用串口下载。

STC89C52具有低损耗,高性能的特点、CMOS八位微处理器,片内4k字节在线可以反复编程、快擦快写程序存储器,能够反复写/擦1000遍,资料保存期限为十年[9]。并且最为主要的是STC89C52可以系统外加元件从而组成一个单片机最小应用系统,最大限度上减小了体积和成本的同时还提高了系统的稳定可靠性。最小系统图见图3.1

图3.1 单片机最小系统原理图

3.2 液晶显示模块

LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成[10]。它具有“DataMode”与“Digital Mode”两种工作方式的16比特通用型数字数据获取与显示(D/A)集成电路。D/A方式可以提供8个通道的类比输入,适用于各种不同的应用场合,也适用于各种类型的数据收集。这是一款高集成、高性能价格比的 D/A, A/D,数字显示,具有低成本,高速度,低功耗,宽电压范围等特点。工作电压:+5 V~+20 V功率消耗:一般为100 mW,数据率:50 kSPS,最大分辨率为8 bit显示接口:外部连接8比特 LCD显示器驱动的模拟输入信道:可以直接驱动ADS7805、ADS7806等12位 A/D变换器。相对而言,1602液晶显示屏的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示屏要少得多[11]。其电路如图3.2所示。

图3.2 LCD液晶显示屏电路

3.3 按键键盘模块

电路或者单片机通过检测按键之后的高低电平变化,来检测按键是否按下,通过程序的控制,就可以实现不同功能的选择与设置[12]。

本次课题设计共设计7个按键,其中k1为复位;k2按键负责手动和自动模式的切换;k2可以在湿度和温度的阈值之间回来切换;k3在手动模式下为LED消毒指示灯的开关而在自动模式下为温湿度阈值的上调;k4在手动模式下为模拟烘干继电器加热片的开关而在自动模式下为温湿度阈值的下调;k5则是负责手动模式下模拟除湿继电器风扇的开启和关闭。另外一个为电源的总开关负责外接电源和整体电路的接通。键盘模块电路图如图3.3所示。

图3.3  键盘模块电路图

3.4 温湿度采集模块

本次设计采用DHT11温湿度传感器模块,其占用的面积小,湿度精度5.0%,温度精度为0.2 ℃,采用的是单总线的数据传输方式[13]。DHT11型是一款专门为测温而开发的新型测温元件,它不仅提高了测温的敏感性,而且在测温过程中可以得到很好的响应。在DHT11型的测量中,使用了一种线性内插的方法,并使用了一种基于温度补偿的方法来实现测量的快速准确。DHT11型热敏元件可以采用外部安装的热敏元件进行热敏元件的温度补偿。此外,DHT11的功率消耗也很小。DHT11型传感器具有体积小,重量轻,安装方便,成本低廉等优点,且具有多种形式的输出和灵活的控制方式,在许多实际生产中得到了广泛的使用。DHT11型传感器在工业控制和电能计量等方面有着广阔的应用前景。当前,在电力计量领域中使用最多的就是DHT11传感器。

DHT11采用单总线双线串行通信协议,由单片机发起开始信号,通过I/O引脚发送给DHT11,之后DHT11反向单片机发送响应,将数据按照40位数据帧输出,最高位在前[14]。其电路图如图3.4所示:

图3.4 DHT11原理图

3.5 继电器控制模块

本次设计中主要是通过继电器来控制外加的风扇和加热片来进行控制,我们在继电器端口加上负载电路就可以使其进行驱动。当DHT11采集到的湿度高于设置的阈值上限说明此时鞋柜的环境湿度较高,单片机发送低电平信息给三极管,三极管收到电流后控制继电器闭合从而带动风扇进行除湿,当DHT11采集到的温度低于设置的阈值下限说明此时鞋柜的环境温度低,单片机发送信号控制继电器闭合加热片加热模拟烘干功能。

继电器是通过感应输入电流的变化来控制电路的通断的电子元件,通常应用于自动控制电路中,在电路中起着自动调节、安全保护、转换电路等作用[15]。在接电之后,在线圈中会形成一个电磁吸力,强迫磁路中的衔铁进行闭合,从而使得常闭和常开触点发生了相反的作用,在停电之后,带有反作用力的弹簧会有助于衔铁和触点回到原来的位置。

在该线路中,采用 PNP型三极管来驱动继电器,当目前所测量到的数字超出或小于目前所设置的定义值时,单片机就有从高电平跳出到低电平,三极管接通继电器就会拉入到一个新的位置,从而启动负荷。继电器控制原理模块如图3.5所示。

图3.5继电器控制原理图

3.6 本章小结

本章节主要介绍了STC89C52单片机的特性和组成框架;再对硬件中液晶显示、按键设置、传感器采集和继电器控制模块进行详细的阐述和解释。

第四章 系统的软件设计

4.1 软件编程设计

该软件系统是一个相对比较庞大的运算过程,涉及到大量的浮点运算,因此使用 C语言进行编程。

51系列 MCU由于自身的资源非常受限,所以对设备的需求也比较少,在编写程序时无需担心外界的干扰,并且易于在其它 MCU之间进行迁移。而51系的 MCU若要在其它 MCU上进行迁移,则只能采用 C语言和汇编两种方法。另外,因为C语言是一种程序导向型的编程语言,因此其代码具有良好的易读性,并且在代码中使用了大量的标记,减少了代码中出现的不必要的错误和混乱。

在本系统软件设计中使用C语言比汇编语言更有优势。由于采用了汇编语言,程序的可读性和维护性较差。这是因为在编程时,一条接一条的命令,编码者不能逐条地完成,所以得到的结果只能是一个中间结果。就一条指示而言,其中间结果为一列或一列元件。而这些数据可以是指针变量,布尔值,字符串等等。至于用汇编语言编写的代码,尽管它的代码也是以一个“中间”的形式呈现,但它的每个代码都是唯一的“中间”结果,这就导致了编译者不可能一次又一次地完成它。与 C语言相比,具有更多的硬件资源的汇编语言具有更多的指令。在应用于一个应用程序中的运算子较多的情况下,用C语言只需少量的命令即可实现大多数的运算。

C语言具有强大的编译速度和运行速度,具有良好的移植性。

4.2 单片机开发环境

本系统设计的开发环境是在Kiel C51下进行的。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面[16]。还有一点很关键,从编译后产生的程序集来看,KeilC51产生的对象程序集效率极高,大部分程序集都很简洁且好读。下图为其界面状态。

图4.1 keil 界面初始图

调试、烧录完成后开始供电,稍等几秒后液晶屏幕能正常显示目前的温度和湿度。注意现在的温度和湿度,将实际测试的数据和自己设置的极限进行对比。如果目前的数据并没有超过限定值,可以用一只手遮盖DHT11的感应器,使感应器的温度过高,看相关的继电器是否闭合工作,检查是否符合要求。一试之下发现与理想的状态相符合,即完成了简单实现温控,同时还能通过继电器来模拟其他功能电路。

4.3 软件整体设计

系统上电后,我们需要初始化相关的模块,DHT11开始采集当前环境的温湿度,采集完成后通过LCD1602进行液晶显示,按键用来进行设置相关的操作,通过继电器模块开控制风扇进行除湿换气和加热烘干,利用紫外线对鞋子进行消毒杀菌。如图4.3所示,是整个系统的主程序流程图。

图4.3 主程序流程图

4.4 各模块软件设计

4.4.1 温湿度采集模块设计

DHT11是一种数字式温湿度传感器,它能够将当前环境中的温度和湿度数据转化为数字信号输出。在基于51单片机的智能鞋柜中,我们可以利用DHT11作为温度湿度采集模块,通过软件设计将其数据采集、处理和显示出来。

下面是DHT11作为采集模块的软件设计步骤:

(1)定义IO口:在程序中定义DHT11传感器所接的IO口,例如:sbit DHT11_PIN = P1^4; //定义DHT11信号引脚接在P1.4口上。

(2)发送启动信号:向DHT11传感器发送启动信号,让传感器开始采集温湿度数据。启动信号包括一个50ms低电平信号和一个20ms高电平信号。

(3)接收响应信号:接收DHT11传感器返回的响应信号,响应信号包括一个80us低电平信号和一个80us高电平信号[17]。

(4)接收数据:接收DHT11传感器发送的数据,数据包括40位二进制数,其中前16位为湿度值,后16位为温度值,最后8位为校验位[18]。在接收数据的过程中,需要将每个数据位的高低电平信3号转换为0和1的二进制数,并将其存储到数组中。

(5)数据处理:将存储在数组中的湿度值和温度值转换为实际的湿度和温度数值,例如:湿度值除以10即为实际湿度值,温度值除以10并加上零下40度即为实际温度值。

(5)显示数据:将处理后的湿度和温度数值通过LCD显示出来,例如:LCD1602显示“T: 25°C”和“H: 50%”。

(6)等待一段时间后重新采集数据:在每次采集和显示数据之间等待一定时间,本设计的间隔是1秒钟,然后重新发送启动信号并采集数据,循环进行温湿度数据的采集和显示。

以上就是利用DHT11作为采集模块关于温度湿度的软件设计步骤,通过这些步骤可以实现将DHT11传感器采集的温湿度数据显示到LCD上的功能。当然,具体的实现方式还需要根据实际的需求进行调整和改进。DHT11传感器模块的软件流程图如下图4.1所示。

图 4.1 温湿度采集流程图

代码1 温湿度采集核心代码

void RH(void)

{

   DHT1_IO=0;

   Delay_dht11(60);

   DHT1_IO=1;

   Delay_dht11_10us();

   Delay_dht11_10us();

   Delay_dht11_10us();

   Delay_dht11_10us();

   DHT1_IO=1;   

   if(!DHT1_IO)  

   {

   U8FLAG=2;  

   while((!DHT1_IO)&&U8FLAG++);

   U8FLAG=2;

   while((DHT1_IO)&&U8FLAG++);  

   COM();

   U8RH_data_H_temp=U8comdata;

   COM();

   U8RH_data_L_temp=U8comdata;

   COM();

   U8T_data_H_temp=U8comdata;

   COM();

   U8T_data_L_temp=U8comdata;

   COM();

   U8checkdata_temp=U8comdata;

   DHT1_IO=1;  

   U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);

   if(U8temp==U8checkdata_temp)

   {

      U8RH_data_H=U8RH_data_H_temp;  

      U8RH_data_L=U8RH_data_L_temp;

  U8T_data_H=U8T_data_H_temp;

      U8T_data_L=U8T_data_L_temp;

  

      U8checkdata=U8checkdata_temp;

   }    

   }

}

4.4.2 液晶显示模块设计

LCD1602是一种常用的字符型液晶显示器,可以在显示器上显示多行文字信息,而且具有良好的可视性和可靠性,因此可以用来显示鞋柜的相关信息。

在基于51单片机的智能鞋柜中,液晶显示模块通常由LCD1602组成。该模块的软件模块设计需要完成以下几个方面的任务:

(1)初始化:在程序开始时,需要对LCD1602进行初始化以确保LCD1602能够正常工作。

(2)数据传输:将需要显示的数据传输给LCD1602,包括字符和控制命令。传输数据时需要先判断LCD1602是否忙碌或继续等待。

(3)显示控制:通过设置显示模式、光标位置等来控制LCD1602的显示效果。可以根据需要实现字符闪烁、光标闪烁等效果。

(4)错误处理:在数据传输和显示控制时,可能会出现一些错误,例如传输超时、显示异常等。需要对这些错误进行处理,保证程序的正常运行。

综上所述,LCD1602在基于51单片机的智能鞋柜中扮演着重要的角色。通过设计合适的软件模块,可以实现数据传输和显示控制,使用户可以直观地了解鞋柜的状态和信息,提高智能鞋柜的易用性和舒适性。本次设计的液晶显示模块程序设计流程图如下所示。

图4.2 液晶显示模块程序设计流程图

代码2 液晶显示核心代码

void LCD1602_writebyte(uchar *prointer)    //1602 字符串    处理
{
    while(*prointer!='\0')   
    {
        LCD1602_write(1,*prointer);
        prointer++;
    }
}

4.4.3 按键模块设计

按键模块主要用于实现智能鞋柜的模式切换和设置温湿度阈值以及继电器电路的开关控制。按键模块采用基于矩阵键盘的设计方案,需要通过软件设计来实现按键的检测和处理功能。

按键模块的软件设计主要包括以下几个方面:

(1)按键检测:通过读取矩阵键盘连接的输入引脚状态,检测用户按下的按键,记录下按键的编号。

(2)按键处理:根据编号,进行相应的处理操作。例如,按下k2按键时,触发模式切换;按下k3按键时,进入消毒模式,控制LED消毒指示灯的亮灭。

(3)防抖处理:由于机械按键容易出现抖动现象,需要进行防抖处理,避免多次触发同一个按键事件。可以采用简单的软件延时方式,或者采用硬件电路方式实现防抖。

(4)按键状态存储:在开关门控制和温湿度阈值设置过程中,需要记录下用户的操作状态,以便下一次操作时能够正确地处理用户的需求。可以采用非易失性存储器,本设计采用EEPROM,将用户的设置信息保存在其中。

(5)界面显示:为了方便用户操作和了解当前系统状态,可以在智能鞋柜的显示屏上显示相应的提示信息和状态信息。本设计采用LCD0602液晶显示按键变动的功能状态。

总的来说,按键模块的软件设计需要考虑到用户的操作习惯和系统的稳定性,要保证按键的检测和处理功能的准确性和实时性,同时需要防止误操作和系统故障等问题的发生。流程图下所示:

图4.3 按键流程图

4.5 本章小结

本章主要介绍了软件的编程设计和开发环境,详细阐述各模块软件设计的设计步骤和工作流程。

第五章 系统调试

5.1 绘制电路与焊接

基于前面几章对系统设计的详细介绍,首先绘制电路图,在购买来各种器件后,开始拼接组装进一步完成对智能鞋柜系统的焊接。在焊接过程中要注意细心,不要出现漏焊、虚焊、或者元件损坏等问题。下面附上焊接完成的实物图。

图5.1 完成焊接后的智能鞋柜实物图

5.2 硬件测试

测试是一个持续改进的过程,需要有计划、有方法的进行。

系统测试的目的:系统测试是一种对系统进行全面测试,确保软件质量达到用户要求的过程;通过系统测试可以发现软件中存在的问题,对系统进行有效的修复与完善,提高系统的可靠性,更好的满足功能需求[19];通过对系统进行全面的测试,可以发现和排除在设计过程中没有考虑到的问题;并可以在产品开发过程中及早地发现和纠正问题,使软件质量达到最好水平。

图5.1 系统通电初始图

系统外接电源后,按下电源开关,系统通电运作。液晶当前显示为Manual即手动模式。此时DHT11检测环境温度为23度,湿度为32%。k1键对模式进行切换。如上图5.1所示。

图5.2 温湿度阈值设置

k2按键进行湿度和温度阈值的切换设置,k3、k4分别可以上调或下调阈值。为了方便后续的功能观察我们将湿度和温度的阈值调节为48%和25℃。如上图5.2为设置阈值时的状态图。

图5.3 手动消毒模式

单独按k3按键,LED消毒灯亮开始消毒即消毒模式。如上图5.3所示。

图5.4 手动烘干模式

单独按下k4按键,右边继电器指示灯亮表示电路闭合。由于环境温度为23℃小于上述设定的阈值,加热片继电器闭合工作模拟对鞋柜的烘干功能。特别注意的是当加热使环境温度大于阈值时,无论是手动还是自动模式下加热片继电器都将自动断开停止加热,以免温度过高损坏鞋子。如图5.4上所示。

图5.5 手动除湿模式

单独按下k5按键,左边继电器灯亮表示除湿电路闭合。风扇开始转动模拟除湿。

图5.6 自动模式全工作状态

按下k1按键,切换为Auto自动模式。由于湿度高于设置的阈值48%、温度低于设置的阈值25℃,此时加热、除湿电路都闭合处于工作状态。LED消毒灯亮模拟鞋柜消毒。图5.6为自动模式下全工作状态。

图5.7 自动烘干断开

进行一段时间后,加热使环境温度上升至26℃已经达到超过阈值,此时加热片的继电器自动关闭防止温度过高烫坏鞋面。模拟除湿和消毒功能电路仍在运作直到环境的湿度达到设置阈值,电路断开完成任务。如上图5.7为温度超限时加热片停止工作的状态图。

5.3 本章小结

本章首先指出了在绘制电路图和焊接过程中所要注意和仔细应对的问题,简洁明了的介绍本设计的主要工作原理并通过系统硬件测试一步一步地达到对系统功能完善和让其准确无误完成功能的目的。

第六章 结束语

在这次毕业设计中我学到了许多知识,特别是有很多课本外的知识,同时也锻炼了我的实际动手能力,这些经验都让我受益很多,为我在电子技术的领域里打下了一定的基础。本文对我在毕业设计中遇到的一些问题进行分析与讨论,包括电路设计部分的几个关键问题,并给出相应的解决办法。通过自己的知识储备,翻阅资料,向导师提问解惑,经过了多次的设计调试,让本课题设计的功能可以基本的理想实现。在这过程中不足之处主要表现在以下几个方面:一、软件设计存在很多缺陷。由于我平时专业知识不扎实,所以程序设计时经常会出现各种错误,影响了整个程序的质量。二、软件系统操作复杂。需要不断地作修改才能正常使用。三、软硬件配置不够合理。造成系统资源浪费。

本课题所设计设备仍存在一些地方要改进,我觉得最主要的优点是成本低廉,操作方便简单;当然也存在着一些不足,比如温湿度的测量并不是特别精确,而且湿度对于环境的改变波动较大;对于智能鞋柜的功能我觉得不仅仅于此,继电器可以加入任何别的功能元件进行模拟其他功能,更重要的是对于如今的信息时代我觉得在以后的改进中可以加入蓝牙或者wifi实施远程控制可以很大地提高设计的实用性和发展性。

物联沃分享整理
物联沃-IOTWORD物联网 » 2023年毕业设计:基于单片机的智能鞋柜设计(含源代码和系统详解)

发表评论