基于51单片机的空气质量检测仪改稿Word格式文档下载.docx
《基于51单片机的空气质量检测仪改稿Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的空气质量检测仪改稿Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
很多仪器仪表都使用单片机,它们被连接在不一样的传感器上,达到一些测量目的,比如频率、速度、压力等等一些测量。
另外,单片机还可以用在家庭设备上并且很普遍,比如说,现在的物联网、智能家居中的一些设备,包括现在很多的儿玩家,很多都有单片机的应用。
在一些重要领域,单片机也有应用,比如,在航空航天领域内应用,或者商业界应用。
技术发展日新月异,关于空气质量检测技术也越来越微型化、可视化而且智能化了。
该研究的主要想法为:
下位机使用单片机,上位机使用PC机,同时把单片机与PC机连接到一起,然后测量空气质量情况。
这个研究需要更加智能、可操作并且稳定性强。
我们国家的工业日新月异,空气的质量逐渐受到污染,能够快速的检测到周围的环境质量显得尤为重要,能够快速准确的检测到周围环境中的空气质量也是最有效的方式。
空气的变化、室内装修残留的甲醛气体、粉尘的污染等,这将无时不刻的威胁这人们的呼吸道疾病的发生,因此,一款可以实时检测PM2.5的测试仪越来越受到人们的重视。
1.2设计任务和基本要求
设计任务:
掌握单片机的基本应用,软件设计的编程设计、硬件的设计、系统的调试和需求分析等。
基本要求:
设计出一款能够实时检测空气中PM2.5情况的测试仪,同时当检测的PM2.5值大于阈值则启动报警,可以通过手动按键设置报警阈值大小,在设计过程中按照分模块的方法进行,在每次焊接一个模块,则测试一个模块,最后进行系统测试。
第二章整体方案设计
2.1设计内容介绍
具体功能,即到实时检测空气中的PM2.5值,达到阈值报警,设计内容主要包含以下几个方面:
(1)选择适合本次设计的单片机;
(2)系统软件设计;
(3)系统软件硬件的连接调试。
(4)系统仿真分析
2.2控制器选择
控制器是本次设计的PM2.5检测控制系统的主要的核心部分。
用户通过在控制器中编写单机控制程序,使控制器具有类似人体大脑一样的逻辑功。
在进行控制器的选择时,我们设计了如下的二种方案。
方案一:
采用可编程逻辑阵列(FPGA)作为系统的主控制器。
FPGA是最近几年逐渐兴起并在相关领域广泛使用的器件,能够很好的进行接口扩展的功能,同时也可以进行程序算法的控制[3],除此之外FPGA还具有优良的高速性。
可以说FPGA的功能是非常强大的。
但是对于初学者来说,使用FPGA需要掌握的知识内容繁多而复杂,最大的难关便是编程环境的学习以及对于FPGA编程语言Verilog语言的学习。
对于初学者来说不但困难,而且在有限的毕业设计期间内还难以保证效率。
方案二:
使用STC89C52单片机设计。
单片机采用CMOS工艺进行制作而成,同时选用了来自宏晶公司所设计,具有很好的存储性能。
在引脚的兼容性上也做的十分好,编程难度适中,并可以良好地完成设计中的各项要求。
综合上面的分析讨论,在两种设计方案中,本次设计采用方案二作为方法。
2.3显示模块选择
顾名思义,显示电路将信息以可视化的形式展现给使用者的。
在本次设计中,我们需要显示当前检测到的PM2.5值,也需要显示设定的报警阈值。
根据此需求得到了如下两种设计方案:
使用LED数码管实现对PM2.5值信息的显示。
数码管按照原理可以分为共阴和共阳数码管。
数码管的主要的特点是显示亮度高,工作稳定性好,而且数码管的工作所需电流很小并可显示0-F等字符字样的数据。
使用液晶显示器显示PM2.5值的相关的信息。
显示器型号为LCD1602,该型号的液晶显示器可以分成两行来显示数据信息,支持对于数字和字母的显示,但是不支持对中文的显示,每行可以显示16个字符。
但是液晶显示有一个缺点就是显示的亮度不够好。
经过对方案一和方案二的对比,本次设计中我们选用方案二进行对显示模块的设计。
2.4系统整体方案设计
对空气中的PM2.5进行检测是本次设计的主要任务,我们所选用的单片机型号为STC89C52,PM2.5经过检测电路模块检测以后,将信息传给单片机进行处理,进而在LCD液晶显示器上进行显示出来,显示器对检测出来的PM2.5的值进行显示,然后再去判断该值是否大于报警设置的阈值,如大于阈值,则会启动报警电路。
下图2-1即是空气质量检测系统:
图2-1系统整体框图设计
第三章系统硬件设计
3.1单片机电路设计
该单片机是主要是有STC公司进行研发生产的一款基于51内核的8位单片机,在优点方面该单片机具有功耗低和性能稳定的特点,在处理数据运行方面比较快,是其他普通单片机的数倍。
在51单片机上能够运行的程序,在该单片机一样可以运行,对于程序的开发和移植具有很好的帮助。
STC89C52单片机具有40个引脚,其中可以供用户开发使用的有32个IO引脚,在内存方面具有8K字节的Flash和512字节的RAM,同时具有4个外部中断和2个内部定时器中断。
单片机的最高的运行的频率为35MhZ,可以通过串口进行程序的下载使用。
如下图3-1所示,为STC89C52单片机的引脚示意图。
图3-1单片机的引脚图
3.1.1单片机的最小系统组成
本次设计中采用的单片机为STC89C52单片机,单片机最小的电路设计中最少需要包含晶振电路、复位电路、电源电路。
其整体电路图如下图3-2所示。
图3-2单片机的最小系统构成原理图
3.1.2单片机的时钟电路设计
STC89C52单片机内部有高增益反向放大器构成的振荡器,输入/输出端为XTAL1/XTAL2,对应单片机的Pin19/Pin18引脚,在这两个引脚两端跨接石英晶体和微调电容,构成稳定的自激振荡器,图3-3是STC89C52工作在内部时钟方式的电路。
所设计的电路中晶振频率值为12MHz,微调电容器值为20pF。
图3-3时钟电路
3.1.3单片机时钟复位电路设计
复位电路是单片机不可缺少的重要部分之一,其主要功能是为单片机系统在运行中出现问题以后,能够及时提供复位功能,让单片机进入初始化的过程。
STC89C52单片机主要使用的是高电平复位,当用户按复位电路中的按钮以后,电路中会给引脚一个高电平,单片机收到电平信号后,就重新启动。
在设计复位电路时应该注意如下问题:
1.电源脉冲宽度足够宽;
2.电源脉动形成误复位。
本设计的STC89C52单片机复位电路如图3-4所示,具有上电复位和手动复位功能,选取的晶振、复位电容、复位电阻取值分别为12MHz、10uF、10KΩ。
图3-4复位电路
3.2显示电路设计
显示器的主要的作用是用来显示系统的相关的信息,本次设计中显示器主要是显示PM2.5等信息。
单片机中常用的显示器有液晶显示和数码管显示两种,为了能够具有清晰的显示效果,本次设计的基于单片机系统主要使用LCD液晶显示器进行显示。
本次先用的LCD显示器是有长沙太阳人公司研发生产的产品,使用的是1602型号,在显示上可以分两行进行显示,每行最多可以显示16个字符,但是不支持对中文的显示,在设置可以可以对显示器的背景设置不同色调,同时对于显示的字体可以进行一定的设置。
具体电路图如下图3-5所示。
图3-5LCD1602引脚图
每个引脚的说明如下图3-5所示:
编号
符号
引脚说明
1
VSS
电源地
9
D2
IO接口
2
VDD
电源正极
10
D3
3
VL
显示偏压信号
11
D4
4
RS
数据选择
12
D5
5
R/W
读写端
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
背光源负极
图3-61602LCD显示器引脚说明图
LCD1602读操作时序图,如下图3-7所示。
图3-7LCD1602读时序图
写时序操作图,如下图3-8所示为:
图3-8LCD1602写时序图
3.3PM2.5传感器电路设计
本次传感器选用的是ZPH01粉尘传感器,本传感器对于PM2.5进行检测采用的是先进的光电技术,可以检测灵敏直径在1μm以上的灰尘颗粒物,具有很好的灵敏度、而且在使用中也比较稳定、内置加热器可以加快进入传感器检测体重的空气分子的运动,便于检测的准确。
产品在外观上采用集成的原理,体积小,重量轻,便于使用者镶嵌于其他的产品中。
主要用于通风设备、环境监控设备、烟雾报警器、空调等。
如下图3-9所示,为PM2.5传感器的电路图。
图3-9PM2.5传感器电路图
PM2.5传感器对于空气中的粉尘检测的工作原理,主要使用是粉尘对于光照的影响,进而影响电路所产生的电压的大小。
如下图3-10所示为ZPH01粉尘传感器的工作原理示意图。
当空气中的粉尘开始进入传感器的检测口时,检测口上所放置的加热装置会对粉尘进行加热,这时粉尘会加快活动,从而发射光源受到粉尘活动的影响,会影响到光学接受的效果,最后改变电路中的电流和电压,进过信号处理器处理以后,将电信号转变为数字信号,这样可以供单片机进行处理以后供其他木块使用。
图3-10ZPH01粉尘传感器工作原理示意图
3.4报警电路设计
在PM2.5传感器会对空气中的粉尘进行实时的检查,当检测到空气中的PM2.5的值以后,就会把电信号转换为可以供单片机出来的数字信号,单片机在接收到传感器传输过来的数字信号以后,就会把数字显示在LCD屏幕上,以此同时,单片机会对检测到的PM2.5的浓度值与之前设定的报警阈值进行比较,如果检测到的值是大于报警阈值,这时单片机就会启动报警模块,LED灯就会来说闪烁,蜂鸣器发出嗡响,当检测到的值小于阈值以后,报警电路停止。
如图3-11所示光电报警电路图,主要采用的蜂鸣器啸叫和LED闪烁报警,它约需要10mA电流作为驱动,只需要在两个引脚接上3-10v的电源,就可以产生3KHz左右的蜂鸣声音。
图3-11电报警电路图
3.5按键电路设计
我们在本设计中需要对报警阈值进行设定,采用两个键盘按钮,一个是对于阈值的增大,一个是对于阈值的减小。
键盘的按动会改变电平的高低,使用单片机的PA接口作为按钮的输入引脚,键盘的列线接在PA口的低2位,它的行线经过二极管然后连接到PA口的高2位。
因为上面的接法,我们选择P1.2、P1.3来作为键扫描的输出线线。
我们采用中断扫描方式,把它的输入端分别和各列线连接在一起,将外部中断输入INT0接到输出端。
在使用过程中,我们输入一次命令结束时,必须进行初始化时,即使键盘行输出口全部置零。
当有命令被输入时即有键按下,INT0端就会编程低电平,然后向处理器发出中断请求。
如果处理器开放外部中断,对中断请求做出回应,调用中断服务程序,执行扫描式键盘输入子程序。
图3-12按键电路图
第四章系统流程设计
4.1系统主流程设计
系统的主程序主要完成的是系统中最主要的部分,当系统一上电以后,系统主程序开始其中,其中包括对于系统的初始化过程,然后开始对于系统中阈值等的设定,然后对键盘进行扫描,判断用户是否有对键盘的操作,然后开始对传感器的启动,数据的处理,数据的显示等等。
主程序流程图如图4-1所示。
图4-1主程序流程图
4.2按键流程设计
由于使用的按键较少,所以本文采用了独立式键盘,即每个按键单独占用一根口线。
在程序查询方式下,通过I/O端口读入按键状态,当有按键按下时,相应的端口变为低电平,这样通过读入I/O口状态判断是否有按键按下。
查询式键盘的程序流程图如下4-2所示:
图4-2键盘程序流程图
第五章仿真与调试
5.1硬件调试
在完成整体的原理设计以后,就需要开始动手焊接电路板,在焊接的过程中总会遗留很多问题,这些问题在焊接的过程中很难被发现,这些问题只要在使用的过程中才会暴露出来。
通常的做法是按照一个模块焊接,焊接好了一个测试一个。
同时为了模块电路元件安全起见,必须在不通电的情况下焊接,以免在通电过程中发生短路、断路现象导致电路板整体损坏。
当所有的引脚接口等位置检查完成之后,需要通电看看单片机是否能上电,然后将编写好的程序烧录到单片机中运行。
图5-1焊接过程
图5-2焊接过程
图5-3焊接过程
5.2软件调试
本次在程序设计上使用了Keil4软件进行单片机程序的编写,Keil软件是美国KeilSoftware公司设计和研发的一款软件,在51系列单片机中使用的非常的广泛,软件在设计上兼容汇编语言和标准C语言。
内部集成了很多型号单片机的头文件,对于单片机的开发者来说使用这款软件可以节省很多的时间。
在进行系统软件程序的编写,先要新建一个工程项目,然后在工程中选择本次设计中的单片机型号,然后在该型号下编写程序。
对于本次编写程序主要使用的是C语言进行,C语言因为其通俗易懂,而有可以很好的对硬件进行操作,在单片机中使用十分广泛,对于软件程序的编写严格按照第四章中设计好的流程图,对编写好的程序进行一下步的调试和编译。
再次。
当调试没有错误以后,使用编译软件对调试后的程序进行编译,编译好的程序会生成一个hex的文件,hex文件终究是可以供单片机运行的程序。
最后把生成的hex文件加载到单片机中就可以看到程序执行的效果。
最后编译结果如图5-4所示。
这就表示程序没有问题,接下来就要将程序写入单片机了。
图5-4程序编译结果
程序下载
当程序编译好之后,就可以通过软件对编译好的程序进行烧录到单片机中运行使用,软件是STC-ISP作为本次系统设计的烧录的软件,该软件快捷方便,能够很好与单片机进行烧录。
程序下载到单片机后的结果如图5.2所示。
这表示程序已经下载进单片机,本次设计的系统已经可以运行了。
图5-5程序下载
5.3仿真
5.3.1仿真软件介绍
Protues软件是专门为电子方面进行软件和硬件联合仿真的软件平台,该软件是由美国的LabCenterElectronics公司设计和研发的一款软件,在单片机或者ARM,DSP领域使用的非常的广泛,也可以是一款智能的EDA开发软件,使用这款软件可以方便的对单片机的硬件和软件进行仿真调试。
对于单片机的初学者或者爱好者来说,使用这款软件进行单片机的开发和学习非常的有帮助,学习者可以不用花钱买硬件电路板,只要在Protues中按照设计的原理图绘制我们需要的电路,绘制好电路后在把在Keil软件中生成的hex文件下载到Protues中就可以在Protues软件上验证我们设计的电路的功能。
而且使用Protues软件还可以快速的绘制印制板PCB电路图。
在2010年以后Protues软件中有添加了很多当前流行的处理器,比如ARM7和DSP系列,同时在软件上夜增加了Keil、MATLAB、IAR等众多的编译器。
使用起来已经非常的方便。
5.3.2仿真结果
在编写完实际的开发程序之后,我们就可以使用protues软件中对系统进行仿真,仿真也是对于系统硬件和软件进行测试和模拟的方法。
我们把在keil中生成的hex文件记载到protues中的单片机中后,点击运行软件,可以看到通用Protues软件仿真的原理图和运行效果。
图5-6仿真效果
第六章总结
通过这次课题设计,理论加上实践。
使我对51单片机又进一步的深入了解和学习。
这是一个关于研究设计的课题,我在此研究中做了很多资料调查,最后选定设计方案和材料设备。
介绍了他们的引脚和在系统中的电路图。
这个研究设计,做成了以单片机STC89C52为基础的空气质量检测仪。
这个研究功能有:
自动的实时PM2.5监测,可以手动的设置报警阈值,自动处理与显示等功能。
这个研究有着广泛的使用范围,应用非常大它有点很多,比如,它的效率非常高,较少时间,让水位自己检测等等一些方面。
它的广泛使用,还提高的各种优秀单片机的使用范围,增强了利用率。
综上所述,我知道,实际应用大于理论知识,不能纸上谈兵。
我要把我们所学的理论知识应用到实际当中。
以后,我要更多的把学到的理论知识与实际应用相结合,争取更好的应用我们课堂上所学到的理论知识。
一路走来,体会十分深刻,从最开始对于论文设计和毕业设计的制作一无所知,到慢慢的开始从互联网和图书馆查找资料学习,到动手对单片机的焊接制作和调试,最后到论文的编写,这是一件由简到繁的过程,也是一个学习深入到提高的过程,总得来说,可以归纳为以下几点:
1、学习善于对图书馆资料的查阅和网络资源的利用。
在学校的课程学习中,对于知识的学习还是处于比较浅显的阶段,对于电子方面的设计与制作的能力还有很大的欠缺,由于一些客观因素的影响,对于软件编程的知识更加了缺少。
在学习的过程中,需要不断的完善自己的知识体系,以点带面的扩充必要的知识修养,增加自己的动手能力。
2、对于以前所学的专业知识有了更好的巩固。
此次设计需要设计大量的电路,这对于模电知识有了很好的实际应用和复习,在电路的设计过程中元器件参数的选择,就考验了我的模电知识,很好的掌握了各个元器件的工作原理和使用方法,在电路中哪个位置使用,为什么在这些位置使用等为题,不同的元器件之间的关系和性能的差别等,通过对程序的编写,对于C语言的使用有了进一步的理解。
3、毕业设计培养了自己对于科学的认真严谨的态度,同时也培养了自己吃亏耐劳的精神,深刻的理解了团队中的合作意识。
参考文献
[1]张毅刚,彭喜元,董继成.单片机原理及应用[M].北京:
高等教育出版社,2003.
[2]李书旗,沈金荣.液位测量传感器系统的设计与实现[J].计算机测量与控制,2009,17(11):
2131-2133.
[3]郑伟建,夏扬,夏晴.自抗扰控制器在液位控制中的研究[J].计算机仿真,2009,26(10):
190-193.
[4]钟晓强.基于单片机实现的液位控制器设计[J].现代电子技术,2009,32
(2):
51-53.
[5]蔡黎.一种基于单片机的水位控制系统设计[J].仪器仪表用户,2007,14(4):
44-45.
[6]陈霞,白小军.基于单片机的液位监控系统[J].武汉理工大学学报,2007,29(3):
3-5.
[7]陈新昌,王万章,李祥付.单片机在水位控制中的应用[J].中国科技信息,2006,(24):
89-90,94.
[8]苏晓龙,王香婷.基于RS-485总线的数据采集系统[J].仪表技术与传感器,2007,(12).
[9]张宝伟.基于LabVIEW的液位监控系统[D].哈尔滨:
哈尔滨工业大学,2007.
[10]张凤兰.液位测量与监控系统设计[D].北京:
北方工业大学,2010.
[11]任开春,涂亚庆.20余种液位测量方法分析[J].工业仪表与自动化装置,2003,(5):
12-16.
[12]柳军,等.基于AVR单片机的液面测量监控系统的设计[J].中国医疗设备,2009,24(12):
27-30.
[13]丁希顺.单片微型计算机液位测量系统设计[J].安阳师范学院学报,2005
(2):
71-73.
[14]老虎工作室编著.电路设计与制版:
Protel99SE入门