智能温湿度检测系统(源码+万字报告+实物)

目 录
摘 要 I
ABSTRACT II
1 绪论 1
1.1选题背景与意义 1
1.2国内外相关发展现状与趋势 2
1.3设计主要内容 3
2 系统整体方案与选型 4
2.1 系统总体设计 4
2.3主要模块及选型 4
3 系统硬件设计 7
3.1核心最小系统设计 7
3.2 LCD液晶屏显示界面 9
3.3 传感器模块 10
3.4 按键模块 11
3.5 报警模块 11
3.6 蓝牙模块 12
4 系统软件设计 14
4.1 Keil简介 14
4.2 主程序设计 14
4.2 按键检测模块设计 15
5.系统集成测试 17
5.1 硬件焊接 17
5.2 软件调试 18
5.3 综合测试 18
结 语 20
致 谢 21
参考文献 22

1 绪论
1.1选题背景与意义
随着社会生活品质的不断提升,人们对于居住环境的期望也日益增高。为了满足人们日益增长的需求,就必须改善居住环境质量。借助物联网的先进技术,我们能够实时获取室内的各种环境信息,例如温度、湿度、光线和空气的质量等,并基于这些数据进行智能化的调整,从而达到优化室内环境的目的。同时利用无线传感器网络,可以远程控制智能家居设备。这样做不仅有助于提升居住环境的舒适性,还能促进节能和减少排放,从而实现更加绿色的生活方式[1]。目前,智能家居已成为国内外学者关注的热点之一,而在智能家居中最为关键的是安防系统。该监控系统能够对室内出现的各种不正常状况,例如侵入、火灾和泄漏等,进行实时的观察,并能够迅速发出警告,从而为室内安全提供强有力的保障。此外,在人员密集场所,可利用无线传感器网络来构建一个远程环境监测平台,实现对环境信息的全面感知与控制。另外,对于某些设备,例如电梯和空调,我们可以利用数据收集来进行预防性的维护,以便及时识别可能存在的问题,从而预防设备的损坏或可能的事故。在实际应用中,利用数据采集技术可以有效提升建筑物内部资源的利用率。通过对数据的收集和深入分析,我们能够对室内设备的使用状况进行精准的管理,从而更好地分配资源并提升管理的效率[2]。目前,在许多领域中已经开始运用到了各种数据分析手段,如人行为识别、环境感知以及人体健康评估等等。例如,通过对室内员工数量和活动模式等方面的深入分析,我们能够为商业环境提供更为精确的市场推广和服务方案。此外,利用物联网技术还能够实现室内人员定位以及实时监测室内环境状况。借助物联网的先进技术,我们能够实现设备之间的互联互通和远程操控,从而为用户带来更为便利和智能化的服务体验。在智能家居系统中,通过各种传感器来获取家庭内各部分的状态和环境信息,从而使用户能够更好地了解自身的健康状况,并根据自己需要调整家居方案。比如说,用户有能力通过手机在任何时候查看家里的状况、操作家用电器等,从而提升生活的便捷性和舒适性。通过大数据分析,可以预测家庭中可能发生的各种事件以及对这些事件的影响,从而更好地管理家庭。通过对数据的收集和深入分析,我们能够更为精确地控制能源使用,从而达到节能和减少排放的目的。因此,在智能家居系统中引入物联网技术是非常必要的。比如说,利用智能技术来调整室内的温度和光照条件,有助于降低能源消耗;在一些家庭中使用太阳能光伏发电系统来供电,不但能有效节约电能,而且能够保护自然环境。此外,这也与可持续发展的核心思想相契合,并为环境的守护做出了积极贡献。在本课题中,笔者主要是以太阳能光伏系统作为研究对象,将其与智能家居结合起来,利用单片机等设备来实现对整个系统进行智能化控制。这个题目不仅有助于提升学生在技术应用方面的能力,同时也能促进他们在创新思维和跨学科知识融合方面的能力。本课题在教学中引入了太阳能热水器,并对其进行合理利用,从而达到节能减排目的。此外,这种设计在实际应用中具有深远的意义,能够为人们的日常生活和职业生涯带来许多的便捷与益处[3]。
从理论研究的角度出发,为工业物联网技术在传统制造业中的实际应用提供了明确的策略。在实践应用层面,通过对现有产品进行优化设计,实现智能制造。此研究课题的技术内容涵盖了嵌入式技术、自适应协议转换技术以及无线通信技术等多个方面。在感知层和传输层这两个不同的层次上,我们正在研究如何增强数据采集系统在扩展性、互通性和实时性等方面的表现[4]。本文结合工程应用型本科教育人才培养目标,提出了基于嵌入式平台的工业物联网解决方案。这一设计包括物联网的核心理念、技术和应用领域,例如传感器技术、无线通讯和云计算等。课程教学中结合该学科特点,以“传感网”为切入点进行课程设计。通过实际的设计实践,学生能够更加深入地掌握物联网的核心理论,并将这些知识应用到真实的场景中,这有助于他们对物联网技术有更深入的了解。本文从理论和工程两方面对这一课题进行了研究。在现代信息技术中,数据的收集和处理被视为关键步骤[5]。在该课程中设置相关实验项目,有利于培养学生掌握数据采集与处理的基本理论知识和基本技能。在这个设计中,我们不仅需要采用如信号处理和数据融合这样的数据采集技术,还必须深入思考数据处理和分析的各种手段,例如数据挖掘和统计分析等。本文以某高校校园监控系统为背景,介绍了该监控系统中数据采集模块、数据分析模块及显示模块的实现过程。这将有助于学生更深入地理解数据采集和处理的理论,并增强他们处理和分析数据的技能。在设计监控系统时,我们必须考虑到室内环境的独特性和实际的需求,同时也要权衡各种可能的元素,并进行有创意的思考与规划。本论文通过对该项目的研究开发,为高校实验室建设提供了一个新的思路。这样做有助于激发学生的创新思维和提高他们的实践技能[6]。本论文主要介绍了一种基于物联网技术的智能家居控制系统的设计方案,该方案具有成本低、可靠性高、功能全面等优点。这个设计主题包括了多个学科领域的知识,例如计算机科学、电子工程、信息管理等。在学习过程中,学生会接触到很多不同专业领域的相关知识,比如计算机组成原理、单片机技术等等。学生有责任将这些知识融合在一起,以构建一个全面的知识体系。通过对该系统进行分析,可以将各个相关学科中的内容相互渗透融合起来。这将有助于增强学生在跨学科领域内的知识融合和实际应用技能。本文以某高校计算机网络实验室为背景,介绍了基于系统工程的计算机网络拓扑结构优化设计与实现。这个设计构成了一个全面的系统工程,它需要在硬件、软件、网络以及人机互动等多个维度上进行综合考量。在此基础上开发出了相应的教学平台,并将其与课程相结合进行实践。在实际操作中,学生能够更加深入地掌握和运用系统工程的各种理论与技巧,从而增强他们处理实际问题的能力[7]。本课题主要研究如何通过构建以传感器为基础的感知节点实现对室内环境中温度、湿度以及光照强度的监测,并将所获取信息进行传输至计算机,从而完成了该项目的开发工作。题目“基于物联网的室内数据采集监控系统设计”不仅有助于提升学生在技术应用方面的能力,同时也有助于激发学生的创新思维和跨学科知识融合能力,这具有长远和深刻的理论价值。
1.2国内外相关发展现状与趋势
在数据管理系统中,数据采集被视为核心环节之一,它涉及使用传感器和其他测量工具,从系统外部收集信息并将其传递到系统的内部。通常的做法是把收集到的数据转化为电信号,然后传递给系统进行辨识。它是现代电子信息系统中不可或缺的重要组成部分。从20世纪90年代开始至今,数据采集技术在全球技术领先的国家已经在军事、航空电子设备、宇航技术以及工业等多个领域得到了广泛的应用[8]。随着计算机应用水平和微电子技术、计算机技术以及通信技术的飞速发展,数据采集器也得到迅速发展。随着集成电路生产技术的持续进步,我们看到了高效且高度可靠的单片数据采集系统(DAS)的出现。这种数字处理芯片不仅能对输入信号做高速、高精度地采样和分析处理,而且还具有很高的运算能力。当前,某些DAS产品的精确度已经达到了16位,而其数据采集的速度也超过了每秒数十万次。随着计算机技术、微电子技术以及网络技术的发展,数据采集技术也取得了长足的进步,已从早期单纯的模拟电路向数字电路转变,由单一功能走向多功能模块集成设计。数据收集方法已逐渐演变为一项专业技术,并在工业领域获得了广大的使用。早期的数据采集系统一般是基于模拟电路设计出来的,即所谓模拟信号采样。在这个阶段,数据采集系统使用了更为先进的模块化架构。根据各种不同的应用需求,只需简单地添加或修改模块,并与系统编程相结合,就能迅速地对系统进行扩展或修改,从而快速构建一个全新的系统[9]。
自上世纪物联网技术问世以来,信息技术经历了深刻的变革和飞速的进步,基于物联网和计算机技术的创新应用已经渗透到生产和生活的各个方面。在我国,随着科技水平的提高,大数据处理与分析能力越来越强,为社会经济提供了更多服务,推动了各行各业的发展。自数据采集技术在互联网和分布式技术领域得到广泛应用以来,数据采集已经步入了一个全新的发展时期。分布式智能数据采集系统受到了国内外众多的关注,数据采集终端和与总线兼容的采集插件也在不断地被研发和制造,使得智能数据采集系统得到了全方位的进步和优化[10]。
随着物联网和信息技术的深入研究,信息化建设已经成为社会进步的明显方向。畜牧业的信息化也取得了显著的进展,新的技术和方法在畜牧业中得到了广泛应用。但在畜牧业的信息化管理过程中,由于牧畜的流动性较大,这给信息管理带来了挑战,因此,畜牧业的信息化建设变得尤为迫切[11]。因此,建立一个高效便捷的牧牧业信息网络就成为当前急需解决的问题。在畜牧业的信息联网架构里,牲畜信息的收集构成了系统成功构建的基础和先决条件。为了保证牲畜养殖过程中信息准确可靠,就必须要有一个能够自动获取并传输各种家畜信息的智能化数据采集系统。作为智能信息系统不可或缺的一部分,智能型数据采集系统不仅负责基础信息的收集、储存和管理,还必须确保数据的准确性、完整性以及安全性。目前国内对于奶牛养殖方面的信息管理系统大多采用人工方式来完成,这种方式不仅效率低下而且成本较高。传统畜牧业的基础信息主要依赖于生产记录等文件进行收集和保存,并通过手工方式将这些数据存储到计算机中以创建电子档案。这种信息管理方式很难实现数据的实时收集和监控,并且在文档交换过程中容易产生错误,从而导致信息错误等问题[12]。因此有必要开发一种能够实时监测奶牛养殖情况以及生产信息的新型数据采集系统。李鸿强和他的团队对奶牛场的管理信息系统进行了研究和设计,但他们主要关注了信息数据库的构建和管理系统的实施,并没有对数据实时采集系统进行详细的说明[13]。本文针对奶牛业信息化管理中存在的问题提出一种新型的奶牛养殖信息管理系统,即利用移动通信技术、无线传感网络及智能信息处理技术来构建一个具有远程数据传输能力的牧场信息系统。李璇和她的团队成功地设计并构建了一个基于物联网技术的移动信息采集系统。在深入分析该系统所遇到的核心问题后,他们为信息采集系统制定了一个全面的框架,并为ZigBee和3G等多种通信接入网关提供了软件和硬件的设计方案,最终完成了整个系统的设计工作[14]。
1.3设计主要内容
通过实时采集室内温度、温度等环境参数,通过与科学指标进行对比,实现自 动开启或者关闭指定设备的功能。针对目前早期室内传感器的一般性能,系统整体水平不高,以及系统的可靠性和耐用性等问题,本文提出了一种基于物联网的室内数据采集方案,着力于设计一个成本低,功耗小,易于实现的室内监控系统。

2 系统整体方案与选型
2.1 系统总体设计
该设备是由STM32单片机、液晶1602显示屏、DHT11温湿度传感器、按键模块、报警模块以及蓝牙模块组合而成的。本设计通过对环境温度、相对湿度进行实时测量,将检测到的数据传送给单片机。单片机作为核心控制单元,其主要职责是处理由温湿度传感器提供的数据,并将这些处理后的数据传输到显示器模块。温湿度传感器的主要功能是收集周围环境的参数,并将这些数据传输给单片机。而按键电路的主要功能是执行单片机的复位操作以及设定温湿度的初始值。液晶显示电路主要是将显示屏上显示出来的数据传送给单片机进行处理。蜂鸣器的电路是通过三极管来构建的,其主要功能是检测周边的温度或湿度是否超过了预设的范围,而显示电路则是为了展示当前的温湿度状况。
详细的功能描述:
(1)采用DHT11温湿度传感器测温湿度并用LCD1602显示;
(2)按键为设置按键、加键和减键。可设置上下限温度报警值;
(3)当温度超过设定的上或下限时,相应的指示灯亮,蜂鸣器报警,
(4)温度测量范围0到99.9摄氏度,精度为0.1摄氏度。其原理如下图2-1所示:

图2-1 系统架构图
2.3主要模块及选型
2.3.1单片机的选型
虽然存在许多不同种类的微控制器,但每一种微控制器都拥有类似的内部构造,如控制器、计算单元、存储设备、输入接口和输出接口等。所有这些微控制器都必须与外部计算机连接,以便在不同设备之间进行数据交换和控制。各式各样的生产商都制造了不同型号的微型控制器。微控制器一般由一个或多个器件组成。不管微控制器的功能有多么强大,它都是通过其I/O端口进行照明的。每个微控制器均包含两个或三个引脚,分别与外部的寄存器相连接。根据用户的具体需求,他们有权选择微控制器的型号,而这些引脚的数量范围从最少8个扩展到近100个。这些不同类型的器件提供给微控制器以相应的性能要求。根据实际需求,我们选择了一个具有40个引脚的STM32微控制器,该控制器配备了64KB的闪存和1024字节的RAM。该芯片采用先进的技术使之能够支持各种不同类型的存储器以及在复杂的环境下使用。这一系列的微计算机内置了64位flash ISP(在线可编程系统)以及IAP(应用内编程)功能。
2.3.2显示方案的选择
方案一:使用LCD1602液晶显示模块。LCD1602是一种广泛用于微控制器的字符LCD显示模块,专门用于显示字母、数字、符号等信息。每行包含16个字符,显示两行。
方案二:使用SSD1306 OLED显示模块。SSD1306是一款单片CMOS OLED/PLED驱动器。内置显示RAM、晶体振荡器和比较控制器,可有效降低功耗。发送数据/命令有三个接口:6800/8000串行端口、SPI接口和I2C接口。
以上两种方案都可以实现温湿度数据的实时显示。方案一的成本较低,因此我们选择了方案二作为显示模块。
2.3.3键盘方案的选择
鉴于本设计所需的按键数量较少(如设定、确认、移动或添加一个键),因此我们可以考虑使用非编码的键盘来简化整个系统的设计过程。在输入方式上,采用了直接键入的方法。非编码型键盘:它主要提供键盘的级别和矩阵信息,并主要依赖软件来识别和读取按键,因此其硬件设计相对简洁,但却需要更多的CPU资源。
2.3.4传感器的选择
方案一:使用DS18B20温度传感器和HS1101湿度传感器。DS18B20是一种常用的数字温度传感器,具有独特的单线接口。温度测量范围为-55℃~125℃,允许误差为±1℃。支持多点网络测量,具有体积小、抗干扰能力强、精度高的特点。HS1101是电容式湿度传感器,电容的变化与相对湿度成比例。湿度测量范围从0到100%RH,标称电容为180pF,在55%RH下误差范围为-3pF到+3pF。它的响应速度快,灵敏度高,湿度滞后小。
方案二:使用DHT11数字温湿度传感器。DHT11是一款集成数字温度和湿度的集成传感器。它由一个8位微控制器、一个NTC温度测量元件和内部的电阻湿度传感元件组成。温度测量范围0-50℃,精度±2%,湿度测量范围20%-90%RH,精度±5%RH,可靠性高,抗干扰能力强,性价比极高[15]。
鉴于本设计的温湿度监测并不是为特定的室内环境而设,所以对其测量的准确性的要求相对较低。为了达到较高的测量精度,采用基于单片机的设计方案。虽然第一个方案具备高度的精确性,但由于将温度与湿度的监测进行了分离,这使得硬件的设计略显繁琐。方案一在成本上有优势,但是其传感器采用传统的热敏电阻进行感温时容易受到环境温度变化影响而导致误差较大。虽然方案二的精确度稍显不足,但它基本能够达到本次设计的标准,并成功地整合了温度和湿度的数据采集。在综合权衡后,我们选择了方案二作为温湿度的采集模块。
2.3.5通信方式的选择
方案一:采用CC2430作为无线通信设备,这是一种专为近距离射频通信而设计的窄带技术,其核心部分是Zigbee协议。为了实现不同的通信频率,我们可以调整设备的外部连接线,使其工作模式类似于Zigbee。此外,该设备可以提供超过200kbps的最大数据传输速度,并具有C51的核心功能,可以通过用C语言编写代码直接控制C51。
方案二:使用HC-05嵌入式蓝牙串行通信模块。HC-05是一款高性能主从式集成蓝牙串行通信模块,采用CSR主流蓝牙芯片,遵循蓝牙V2.0标准。支持通过AT命令修改设备名称、波特率等。它支持UART接口和SPP蓝牙串行协议,是一种功能强大的无线数据传输模块,功耗低,体积小,成本效益高,传输和接收灵敏度高。
方案三:使用BT06蓝牙串行通信模块。BTO6也是一个主从式集成蓝牙串行通信模块,遵循蓝牙V3.0规范。其他功能和特点与上述相同。
考虑到室内面积通常较小,不需要太长的传输距离。考虑到每个模块的成本效益和学习成本,选择本设计中的蓝牙模块作为方案二。

3 系统硬件设计
3.1核心最小系统设计
(1)复位电路
为了确保单片机系统中的电路能够稳定和可靠地运行,复位电路成为了一个不可或缺的组成部分,而复位电路设计的优劣将直接决定整个系统的可靠性水平。由于单片机本身的结构和功能比较复杂,因此,要保证其正常运行必须采用先进的复位技术,才能使之安全可靠地工作。众多用户在成功设计单片机系统并在实验室进行调试之后,却在实际操作中遭遇了如“死机”和“程序走飞”等问题,这主要归咎于单片机复位电路设计的不稳定性。
在单片机启动过程中,都必须进行复位操作,确保CPU和系统的各个部分都保持在预定的起始状态,并从这一状态开始运行。复位电路一般由外部中断源和内部逻辑组成。单片机的复位信号是通过RST引脚被输入到芯片内部的触发器里的。当该器件输出端与外部中断电路连接时,可通过触发脉冲来产生相应的控制信号。在系统正常运行并且振荡期稳定之后,如果RST引脚上存在一个高电平,并且维持了2个机器周期(即24个振荡周期)以上,那么CPU将能够响应并将系统复位。
现阶段,单片机主要采用两种复位方法:手动复位和上电复位,而在本设计中,这两种方法都得到了应用。复位电路如图3.2.1所示:

图3-1 复位电路图
在C3电容器的电压降至0之前,C3的正极电压是+5V。由于电压保持不变,RST端也维持在+5V的高电平状态,而在RST端,高电平的持续时间远超过两个机器的运行周期,因此微控制器需要进行复位,这一过程被称为功率复位。此时,微控制器将停止对电容器进行充电,然后再重新开始工作。过了一段时间,当按键S1的时候,RST的端电压大约是4.2V,这是一个高电平。由于按键的时间肯定会超过两个循环,因此微控制器需要复位,这是一个手动复位的过程。另外一个比较容易实现的方法就是使用电阻来进行电路中电流的控制。在这其中,电阻R1和R2扮演了部分电压的角色,而电阻R2的主要功能是确保RST端电压不会超出微控制器芯片的供电电压。
(2)晶振电路
晶体振荡器电路构成了微控制器的关键部分,它主导微控制器的操作节奏。频率源技术是晶体振荡电路设计中最重要的组成部分之一,而高频则是决定频率源能稳定运行与否的关键因素。高频时钟不仅有助于加速编程过程,还能达到更高的信号采样频率,进而带来更多的功能增益。因此,在很多应用中,都采用高频技术以满足需求。但是,高频操作需要对系统有严格的要求,同时也需要高能耗和苛刻的操作条件。因此,在设计过程中必须采用低功率器件来满足这些条件。鉴于微控制器的主要功能是控制而非高速信号的采集和处理,选择合适的频率便显得尤为关键。在实际应用中,通常使用较低或不常用的标准时钟来完成所需任务。STM32系列微控制器的标准时钟频率是8MHz。由于它有较低的功耗,所以可使用在更小尺寸和更长的时间间隔中。为了实现整数的波特率,我们在设计中选择了11.0592MHz的无源晶体振荡器。由于该器件在低频下工作,因此可以获得良好的性能。图3.3展示了时钟电路的内部构造,这意味着时钟电路实际上是一个倒相放大器。该振荡器通过电容耦合到晶振输出端。通过结合外部晶体振荡器(或称为陶瓷谐振器)和电容器,我们可以构建出一个振荡器。由于在振荡期间需要对电容进行充电,所以振荡器必须工作得非常高,以便获得所需频率。晶体振荡器的频率是决定振荡器产生时钟频率的主要因素。为了保证振荡器稳定地工作,必须对它施加电压以改变其频率。电容器C1和C2具有双重功能:其一是让振荡器产生振动,其二是微调振荡器的频率f(即C1和C2降低,f增加),其标准数值为15pF。振荡器工作时需要在电源电压下进行充电。当振荡器被通电后,大约在10ms的时间内开始进行振荡。振荡器输出信号通过模数转换器转换成数字信号并存储在存储器中。由振荡器生成的时钟脉冲被清洗到微控制器内部的多个部件中。

图3-2 晶振电路图
(3)最小系统

图3-3 STM32最小系统电路
STM32系列是基于ARM Cortex-M3核心构建的,专门为那些追求高性能、成本效益和低能耗的嵌入式应用程序而设计。它具有功能强大,结构简单等优点,广泛应用于各种嵌入式系统之中。根据其性能特点,产品可以被划分为两大系列:STM32F103增强型系列和STM32F101基本型系列。增强型芯片具有更高的功耗管理能力,能够在保证硬件可靠性的前提下有效降低系统能耗,从而提升整个处理器系统的整体性能。增强型串联时钟的频率高达72MHz,这使其成为同类产品中性能最为出色的一款;相对于16位产品的定价,36MHz的基础时钟频率显著地增强了其性能,这使得它成为了16位产品用户的首选。此外,它还提供一个内置存储器,可以用来存储数据。这两个系列均搭载了从32K至128K的闪存,但它们之间的主要区别在于SRAM的最大存储容量与外部接口的结合方式。由于采用双缓存结构,该芯片具有更高的读写效率。在72MHz的时钟频率条件下,STM32在执行闪存代码时的功耗为36mA,这使其成为32位市场上功耗最低的设备,其功耗约为0.5mA/MHz。
3.2 LCD液晶屏显示界面
显示模块是人机交互的关键,它使用了LCD1602液晶显示屏,而其内部控制单元是HD44780芯片。该液晶面板在显示模式下能够产生多种颜色、图形和图像。LM016L液晶显示模块使用了HD44780控制器,它拥有简洁而高效的指令集,能够支持字符的移动和闪烁等多种功能。该模块在系统中主要负责将输入信号转换为点状图形并进行相应处理。LM016L与MCU的通信可以采用两种并行的方式:8位或4位。通过在液晶屏上输入相应的控制信息就能够产生各种不同颜色和图形的字符图像,并能进行实时动态显示。HD44780控制器是由两个8位寄存器、一个命令寄存器(IR)、一个数据寄存器(DR)的繁忙标志(BF)、显示数字RAM(DDRAM)、字符生成器ROMA(CGOROM)、字符生成RAM(CGRAM)以及地址计数器RAM(AC)所组成的。每个字元都有其唯一的字节码,即它是用来表示该字元值的二进制数。IR的功能是保存指令代码,但这些代码只能被写入,无法被读取。如果有外部操作需要输入,则将它们存入到存储器中。DR的主要功能是保存数据,它可以通过内部机制自动地写入DDRAM和CGRAM,或者暂时保存那些从DDRAM和CGRAM中读取的信息。在正常工作状态下,每个字节都被分成若干个部分,其中包括指示字段,该指示字段是根据输入的数据信号确定是否执行任何操作。在BF为1的情况下,LCD模块保持在其内部模式,不会对外部的操作命令做出响应或接收数据。如果需要,则由用户进行设置。DDTAM的主要功能是保存显示的字符,它能够保存高达80个字符的代码。CGROM能够从8位字符代码和32种510点阵字符类型中生成57点阵字符160。这些字串在一个存储器中保存着。CGRAM是专为用户创建特定字符而设计的,其存储容量只有64字节。这种特殊字库提供了多种扩展功能,包括在不改变硬件结构的情况下实现对任意长度的数据进行读写,并且允许将一个字嵌入到其它字段中去。它有能力自定义8个57的点阵字符或者4个57的点阵字符。当需要对一个字串进行编辑时只需输入指定字段即可完成。*有10个点阵字符,AC能够保存DDRAM和CGRAM的地址信息。当需要在一个特定的寄存器中进行操作时,就把这些点插入其中。当地址代码与指令一同写入IR时,IR将会自动地把这些地址代码加载到AC中。
LM016L液晶显示器如图3-4所示:

图 3-4 LM016L电路图
3.3 传感器模块
该系统所采用的DHT11数字温湿度传感器搭载了一个8位的微控制器,能够对传感器收集到的初始数据进行精确校准,显示出较高的可靠性和稳定性。它通过与单片机的通讯来控制湿度测量模块的工作状态,并能实时记录采集到的温度、气压等参数,同时也可将这些信息存储在数据库中。图3-5展示了温湿度模块的接口电路设计,其中NC是一个可悬挂的空引脚。DATA是一个用于微控制器与传感器间通信和同步的系统,它采用的是单总线的数据格式。为了保证数据传输的完整性,采用双绞线作为传输介质,并且设计有多个节点。为了确保总线在空闲状态下保持高电平,通常会采用10K的上拉电阻器。

图3-5 DHT11传感器电路图
3.4 按键模块
按键模块如图 3-6 所示。本设计使用的按键模块为独立按键设计,第一个按键PB0:设置切换,第二个按键PB1:加;第三个按键PB2:减。当按键按下时,单片机的 P1.0 和 P3.0~P3.2 将检测到低电平从而实现对应功能。

图3-6 按键模块电路图
3.5 报警模块
这种设计的报警电路只是一个连接到微控制器的蜂鸣器。蜂鸣器仅起示范作用,其功能是在检测到需要报警的信号时报警。如果将这种设计应用于实际环境,则可以用相应的报警装置代替模块。报警模块电路图如图3-7所示。

图3-7 报警模块电路图
3.6 蓝牙模块
HC-05是一个集成了主从端功能的蓝牙接口模块。在实际应用中,可通过扩展蓝牙模块来增加蓝牙通信的数量或扩大其适用范围,从而使系统更加灵活和方便。当用户的设备与蓝牙设备进行匹配时,我们可以不考虑蓝牙模块内部的通讯协议,而是将蓝牙模块当作串口来使用。在进行系统设计时可根据需要选择不同类型的蓝牙芯片来构成相应的接口电路。图3-8展示了蓝牙模块的接口电路设计。鉴于单片机的PA2和PA3的引脚可以复用为TX和RX功能,因此,该模块的TX与单片机的PA3相连,而RX则与单片机的PA2相连。只有通过交叉连接,单片机才能与蓝牙模块实现有效的通信。

图3-8 蓝牙模块电路图

4 系统软件设计
4.1 Keil简介
Keil是一套专为嵌入式系统设计的开发工具,它在嵌入式软件开发行业中有着广泛的应用。它以其功能强大、操作简单、界面友好而成为目前最流行的嵌入式系统软件包之一。Keil为开发者提供了一套软件开发工具,让他们可以轻松地设计、编码、调整和测试嵌入式系统。Keil的核心特性及其功能涵盖了:
(1)集成开发环境(IDE):Keil为用户提供了一个综合性的开发平台,其中包含了代码编辑器、编译器、调试器以及仿真器等多种工具。开发者能够在一个统一的界面上完成各种开发任务,从而提升开发的效率。
(2)Keil提供了一个高效的C/C++编译器,该编译器能够将源代码转化为目标机器代码。此外,它还配备了高效的调试工具和仿真工具,为开发者提供了代码调试和验证的便利。
(3)Keil能够兼容多个嵌入式操作系统平台,这其中包括了诸如ARM、8051和Cortex-M等主流的微控制器和处理器架构。开发者可以依据项目的具体需求,挑选合适的平台来进行开发工作。
(4)Keil为用户提供了一系列丰富的相关工具和库,这其中包括了软件组件、驱动软件以及中间件等功能。这套工具和库能够协助开发者迅速搭建嵌入式系统,并为他们提供了实现一些常见功能的方法,例如通信协议、文件管理系统以及图形用户界面等。
(5)一个健康的生态环境:Keil拥有一个庞大的用户社群和丰富的资源库,这使得开发人员能够通过社区分享经验、获得技术支持和共享代码片段。除此之外,Keil还与其他先进的硬件和软件供应商建立了合作关系,为他们提供了一系列丰富的开发工具和解决策略。
4.2 主程序设计
这个设计主要是为了室内的温度和湿度监测系统。通过对温度传感器采集的信息进行处理分析得到相应的参数并显示出来。当系统与电源建立连接后,系统会自动激活程序中的初始设置。通过设置一个合适的初始值,可以保证在整个测试过程中不出现错误或遗漏现象。系统初始化的核心目标是保障测量数据的精确度。初始化流程涵盖了LCD显示屏、定时器、传感器、按钮以及报警电路的初始设置。该软件分为主程序、按键及传感器控制子程序、报警子程序接口三个部分。在完成了上面提到的初始化步骤之后,系统便开始运行其主要功能程序。同时根据设定好的参数,进行相关的运算处理。在启动主功能程序之后,微控制器开始对按钮和传感器模块进行扫描,通过这些按钮来确定特定的操作步骤,并利用传感器来获取当前环境的温度和湿度数据。接着,相关的数据会在LCD显示屏上实时呈现。设计软件的流程图如图4-1所示:

图4-1 主程序流程图
4.2 按键检测模块设计
按下电子按钮后,我们将有20纳秒的跳跃时间。如果我们在跳跃时间内再次按下按钮,可能会导致前一个按钮失败。因此,应该使用软件来消抖。按键去抖流程图如图4-2所示:

图4-2 按键去抖子程序

5.系统集成测试
5.1 硬件焊接
当系统的总体电路图设计完毕后,应当立即开始进行焊接操作。因为,焊接是整个电路设计过程中最后的一道工序,直接影响到最终的效果。利用焊接技术,我们可以把电路转化为实体,从而让理论电路充分展现其功能,满足设计标准,并能完整地模拟显示物理电路。如果没有焊接好的理论电路,则会影响到后续电路调试及性能测试等环节,最终导致整个电路系统无法正常使用。因此,在设计过程中,这也是一个不能被轻视的关键环节。焊接前首先要进行元件选型和布局布线,然后再进行焊点连接及工艺参数设定等一系列步骤,最后才能进入焊接阶段。这决定了理论电路图是否能够发挥其预期功能,以及在未来是否能够成功地进行调试。如果没有正确地使用这些元件就会产生许多故障。因此,这个方面显得尤为关键。在进行焊接和安装的过程中,有几个关键问题需要特别关注:
(1)请确保你已经准备了所有常用的工具和所需材料。在实际工作中,要根据不同情况选择合适的工具,才能保证良好的效果。在焊接电路的过程中,一组基础工具是绝对必要的,包括电烙铁、钳子、螺丝刀、镊子、电线以及焊料。如果能够妥善运用熟练掌握的工具,不仅可以显著提升工作效率,还能确保装配过程的高质量。
(2)在开始安装之前,所有的电子部件都必须接受全面的检验,以确保其质量达标。
(3)在安装极性电子元件的过程中,最理想的做法是确保有统一的标识,以方便后续的检查和替换。对于一些特殊用途的电路板必须用专用测试板进行测试。为了确保布线和检查的准确性,集成电路的方向应当保持一致。对于需要测试其特性曲线或其他参数的电子元器件来说,可选用与之相同的颜色来显示其特征电压值。当在试验板上进行电路组装时,为了更好地进行检查,我们可以基于布线的各种功能来选择合适颜色的导线。
(4)正确接线的基本准则是:元件引线的长度应当尽量缩短;在转弯的时候,线条应该是平滑的,不能有尖角;在导线连接处应有适当的间隙和保护接地体。为了防止电线与面包板之间的不良接触,电线的厚度应当是合适的。
(5)元件在电路板的末端布局与它们之间的布线方式有着直接的联系。通过对各元器件进行分析并计算出它们的位置关系后,根据其各自特点分别采用相应的布局方式。通过合理的布局设计,不仅可以减少元件间的布线需求,还能使整体看起来更加美观和大方,从而更容易避免焊接过程中可能出现的错误。为了使设计更符合实际情况,还必须对各元器件进行测试并记录其参数。整个电路板被划分为五个主要部分:STM32、DHT11、键盘接口、液晶显示屏以及蓝牙模块。如此一来,整个组织结构变得非常明了,连最终的电路检验也显得格外清楚。紧接着,我们将进行电路的焊接工作。
在整个设计过程中,电路焊接占据了关键的位置。在焊接前需要进行一系列的检查工作,包括焊点尺寸和位置等方面的检查和调整。通过执行此步骤,我们可以将分散的单一组件整合为一个统一的实体,并转化为类似于电路图的物理实体,这是设计过程中的关键环节。如果焊接不成功,则需要进行重新布线和组装。在焊接的整个流程中,一切都进行得相对流畅。因此,必须及时地发现和解决这些问题,以确保产品的质量。尽管焊接过程中可能会遇到假焊或短焊的情况,但这种情况是无法避免的。如果发现问题不及时处理,则会造成焊缝开裂和变形等缺陷。只要能够及时识别并进行修正,那就已经很满足了。焊接完成之后,进行调节
在焊接过程中,我们对接近并容易发生短路的区域进行了实验检测。发现在焊接时由于焊丝与工件之间产生电弧放电现象,导致焊缝熔深减小或未熔金属含量增加而造成局部过热甚至发生裂纹等缺陷。在进行焊接作业时,建议采用带有绝缘外层的连接线,以最大程度地减少不必要的短路现象。实物模块如图5-1:

图5-1 系统实物图
5.2 软件调试
该系统中的微控制器程序是在Keil开发环境中编写完成的。在此介绍了该微控制器程序实现的方法以及调试过程中出现的问题及解决办法。Keil软件被视为当前市场上最受欢迎的软件开发工具,它支持使用C语言对微控制器进行编程,并由美国的Keil软件公司负责生产。它有多种编程语言接口,可用于各种不同类型的程序设计。相较于汇编语言,C语言在功能性、结构合理性、可读性以及可维护性方面都展现出了明显的优势。同时由于采用了模块化结构,所以易于修改和扩充。基于这个前提,C语言与人类的语言更为相似,学习起来也更为简单。因此,它已经成为单片机开发中应用最为广泛的编程技术之一。微控制器主要依赖串行通信以及通用的输入/输出接口作为其核心资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值