第2章 系统总体方案设计
2.1 设计要求
(1)了解51单片机的开发基本环境,并且熟练的使用c语言编写系统程序;
(2)了解并使用单片机之中内部的结构以及功能以及掌握硬件软件调试的一般方法;
(3)搭建出基于单片机的最小控制系统,完成其硬件电路等电路设计;
(4)理解家居环境监控系统的原理和掌握实现方法。
2.2 方案选择
2.2.1 温湿度传感器的选择
方案一:系统使用DS18B20温度以及使用,HS1101湿度信息传感器。对于DS18B20来说是一种普遍使用在生活之中的数据温度传感器,即使用了单线类型的接口模式,测量的温度范围是负10摄氏度到85摄氏度,相对误差大小为±0.5%。而且识别温度的精度能够达到0.0625℃。而HS1101是一种电容类型的湿度传感器,其能够检测到的湿度范围大小是0~100%RH,相对误差为±2%RH。
方案二:挑选DHT11当成是温度以及湿度的检测传感模块。其实一种复合类型的数字输出类传感器,其中有一个电阻类型的干式单元以及NTC温度检测单元,能够检测到20~95%的湿度,其相对误差大小为,为±5%RH,温度检测范围为0—50℃,其相对误差大小为±2℃。
对比两种方案可以发现,虽然方案1及检测的范围比较广,而且拥有高精度,但是此实验设计主目的主要是为了检测居家环境的温湿度,因此挑选方案二之中的DHT11温湿度传感器就能够达到设计的目的,所以选择方案2的思维速度传感器,而且其价格花费比较低廉,所以此模块使用方案2。
2.2.2 PM2.5传感器的选择
方案一:使用夏普公司发明的第1代PM2.5数字监测传感器,“GP2Y1010AU0F”,此传感器在采集到环境里的信息之后,会对信息进行输出一个模拟类电压,然后利用ad转换芯片对信息进行处理,将模拟量转换成数据量,然后再提交给单片机进行计算显示。
方案二:使用夏普公司发明的新型PM2.5传感监测器“GP2Y1051AU0F”,使传感器对比一代有着一定的提升,是一个升级的监测器,其对信息进行收集之后,会利用串口直接的对信息进行输出,这时候单片机仅仅只要需要对串口数据进行读取。
经过上述分析,发现方案二之中的二代新型传感器只需要三根接线就能够满足信息收集功能比一代传感器来说相对较少,其连线电路图较为简便,而且整体的电路比较稳定,没有AD转换模块,能够让测量的实际结果更加的准确,所以Pm2.5监测模块使用方案2。
2.2.3 单片机的选择
方案一:将DSP当成系统的控制原件,其是一种性能强大的微型处理器,能够利用数字信号对信息进行处理。DSP其功能比较强,对原件值的绒线相对来说不会非常敏感,以及不会遭受到外部环境的影响,比较容易实现高级程度,可以进行分时复用操作,及信号可用于频率非常低的信号,能够和处理器系数相互配合适应,便于调试。但是因为电视机电路结构非常复杂,而且价格偏贵及数字系统需要由耗电有源电路进行支撑,没有无源设备能够提供支撑。
方案二:使用单片机当成是系统的控制器,因为单片机的功能性比较强,而且价格低廉,使用的电压低,能量损耗比较低,同时单片机计算能力比较强,而且在软件编程方面也十分的灵活自由,可以利用软件完成各种逻辑功能的编辑,同时单片机自身就拥有定时器以及技术性,其体积比较小,通过对两种方案的对比分析,选择方案2,将stc89c52单片机当成是控制原件。
第3章 系统硬件设计
3.1 整体方案设计
3.1.1 系统概述
整个环境监测模块的设计将STC89C52单片机刚才是控制原件,同时配合电阻电容金正等元器件构建出其单片机运行的最小工作系统。整个模块的运行主要围绕其最小系统进行展开。对于温湿度信息进行传感器使用DHT11传感器,能够对环境之中的温度以及湿度的收入信息进行收集,同时传递给单片机控制芯片;而对环境之中的PM2.5数值进行监测,使用了传感器,夏普公司的GP2Y1051AU0F,只需要利用串口将环境之中的数字信息传递给单片机,同时其案件部分使用的轻触类型的按键,当成整个系统的输入方式模块;显示功能使用了1602液晶进行显示;数值超标,用于报警的有蜂鸣器以及led灯;系统的电源使用USB进行供电,电压大小为5伏。
3.1.2 系统框图
3-1 系统框图
3.2 最小系统模块
STC89C52最小运行系统如图3-2所示,其系统主要有三个部分构成,包含有晶振电路以及,复位电路和电源这三个主要部分。
在晶振电路之中包含有30pF大小的,电容C2以及C3。还包含有频率为11.0592M的晶振X1。其电容的功能是帮助其进行震动,电容的数值大小为15-33pF。因为本系统的设计过程中需要利用到串口进行通信,所以只能够挑选频率为11.0592M的晶振,假如使用频率为12M的,就会导致数据传输出现错误,所以在而且在电路进行有关设计之时,其晶振位置需要靠近单片机。
单片机里的复位电路就类似于电脑的重启按键,假如单片机出现的死机情况,按一下复位键及程序重新开始运行。单片机的复位电路通过数值大小为10uF电容C1以及,10K数值大小的电阻R6所构成。因为电容电压不会发生突变,所以系统一如果得电,,RESET脚就会拥有一个高电平,同时提高电瓶,持续时间的长短是通过RC值所确定的。普通的,51单片机假如,RESET脚持续时间长短是两个机器周期就会执行复位操作,因此适当的对RC的取值就能确保复位功能的可靠。
对于电源方面使用了USB电压大小为5伏进行供电,可以使用手机的充电头以及一些移动电源对系统进行供电。
除了单片机最小的功能系统之外,还有一些外部性的电路。
因为,STC89C52的P0所在之处是漏极开路输出类型,所以,在P0口位置处连接了一个数值大小为10K的排阻R1,这能够让P0口当成是一般的,I/O口进行调用,等系统在设计过程中使用了磁口,当成是液晶显示的数据口。
在这之中需要重视的是,对于31脚(EA),属于高电瓶状态时,单片机在复位之后,其程序是从ROM所在位置的0000H开始运行;如果处于低电瓶条件下,在复位之后,ROM的0000H开始执行。因为系统的运行程序保存在单片机组成内部,因此,EA端口需要接高电平,确保其程序是从内部存储位置进行读取。
图3-2单片机最小系统
第4章 软件设计
4.1 程序语言及开发环境
C语言是一种使用广泛的设计语言,它有汇编语言和高级语言两种语言的特性。最开始贝尔实验室在1972年被推出,在1978年之后,3亿元已经被广泛地移植到各类型的危机系统之上,他能够给工作系统进行语言设计,编写一些系统的程序,也可以当成应用程序的基本设计语言,而且编写过程中不需要计算机硬件应用程序的支撑。因为它的应用非常的广泛,对数据信息的处理能力非常的强,所以不仅仅是软件开发,各类的科研项目都需要使用到c语言,其非常适合编写软件以及图形和动画,具体的应用在单片机以及嵌入式系统的开发研究之中。
Keil C51为美国开发公司Keil公司所发布的51系列基于c语言的软件开发系统,和汇编语言相对比,其实语言在功能与结构和维护性上具有明显的优势,所以比较容易学习和使用。Keil之中包含有C编译器、宏汇编、连接器等完整的系统开发功能,你有集成开发环境,把这些功能进行结合。使用Keil软件需要使用windows操作系统,。假如要用c语言对单片机进行编程,那么使用Keil几就是最佳选择,即使不用它进行c语言的编程,而其因为具有比较强的集成环境以及比较强的仿真调试工具,也能够让开发效率大大提升。
4.2 程序流程图设计
4.2.1 总体程序流程图设计
此系统之中的软件流程图具体步骤如图4-1所示,事先对液晶进行一定的初始化,包含功能初始化以及显示初始化这两部分,之后还包含有报警数值以及串口信息的初始化。然后就到软件的循环体里对温湿度的结果测量,并在屏幕上显示之后读取环境里PM2.5的数值进行显示。同时对收集到的信息进行判断,其是否超过了置的报警范围,如果超过了其蜂鸣器就开始发生以及灯闪烁,假如超过就进入了报警,之后再开始一定的延时,再进行循环。
图4-1 程序流程图
第5章 系统仿真与实物测试
5.1 系统仿真与结果分析
仿真调试是在Protues软件中建立仿真电路,将控制程序导入进行功能仿真的模拟和验证,根据结果进行调试优化。
如图5-1所示,是系统的仿真电路。在仿真软件上进行LCD显示仿真、按键设置仿真、PM2.5检测仿真、温湿度检测仿真、LED显示仿真。如图5-2至5-6所示,是上述仿真的测试。
图5-1系统仿真电路
5.2 实物测试与结果分析
准备好所有的材料和电烙铁,按照设计好的电路板原理图,开始单片机电路板的焊接。首先将插排焊接上去,之后焊接单片机最小系统的晶振和复位电路。确定好LCD1602液晶显示屏位置,将上拉电阻焊接在P0口,之后通过导线连接显示屏。后面分别焊接各个传感器模块,温湿度传感器,压力传感器,步进电机,按键,电源电路。最后用导线将各个模块按照电路图连接起来,确保没有出现短路现象。STC89C52单片机用烧录器将编译好的软件烧录进去,最后插入到插排上。用5V直流电源供电,按下开关,观察LCD1602液晶显示屏是否正常显示,正常显示后,说明显示电路正常,之后观察其他传感器是否正常工作,显示屏上是否有输出,如果正常显示,则一切都没问题,当出现问题时,就要找出具体出问题的部分,逐一解决。
如图5-7所示,是功能测试的实物图。在完成了仿真的基础上,在实物设计模型进行功能的调试,依次进行LCD显示功能测试、按键设置功能测试、PM2.5检测功能测试、温湿度检测功能测试、LED显示功能测试。如图5-8至5-12所示,是上述功能测试的实际效果。
图5-1系统实物图
图5-2显示功能测试
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。