1、 毕业设计用纸共 28 页 第 I 页摘要随着电子信息的快速发展,越来越多的电子设备应用在我们生活中。本次设以 STC89C52 单片机为控制核心,通过使用 PM2.5 检测传感器模块、LCD 液晶显示模块、按键控制模块、报警模板,实现基于单片机的空气质量检测系统。本次设计主要针对的是解决检测空气中 PM2.5 的值,设计分为硬件设计和软件设计两个部分,软件设计主要是根据硬件需要实现的功能,按照软件流程图进行编码设计,硬件设计主要是按照不同的模块进行,把整体的硬件分成模块电路设计。软件设计中使用 C 语言作为单片机的开发语言,由于 C 语言是偏向于底层硬件语言,其比汇编更加通俗易懂,比高级语言
2、更加适合对硬件的直接控制,而且具有很好的移植性。通过硬件和软件的设计系统可以实现对空气质量 PM2.5 的检测和显示,当系统检测空气中 PM2.5 的的浓度值高于正常标准时,报警模块将发出报警,当空气 PM2.5 浓度值低于报警阈值时,报警停止。本次设计空气检测仪操作简单、成本低、性能稳定、是只能家居的首选。关键字:单片机;PM2.5 传感器;报警器;LCD 显示器; 毕业设计用纸共 28 页 第 II 页ABSTRACTWith the development of high and new technology, SCM has been used more and more in dai
3、ly electronic products. With the STC89C52 microcontroller as control core, through the use of PM2.5 sensor module, LCD LCD module, key control module, alarm template, implementation of air quality detecting system based on mcu. The design of the air quality detection instrument based on MCU is mainl
4、y divided into the design of hardware circuit and software program of the preparation of the two part, the hardware design according to the overall plan of system diagram design, the overall design of the hardware circuit is divided into modules. In the software design uses the monolithic integrated
5、 circuit C language realization system that that the entire procedure writes, uses the C language to carry on the programming to be possible to make the program readability good, and the procedure is easy to transplant. Through the design of hardware and software can achieve the measurement of air q
6、uality in PM2.5 and showed that when the concentration of the detection system of PM2.5 in the air was higher than the normal standard, the alarm module will give an alarm when the air PM2.5 concentration below the alarm threshold, the alarm stops. The design of the air detector is simple, low cost,
7、 stable performance, is the only choice for home.KEYWORDS: MCU; PM2.5 sensor; Alarm; LCD display; 毕业设计用纸共 28 页 第 III 页目 录摘要 IABSTRACTII目 录 .III第一章 绪论 .51.1 课题背景 .51.2 设计任务和基本要求 .5第二章 整体方案设计 .62.1 设计内容介绍 62.2 控制器选择 62.3 显示模块选择 .62.4 系统整体方案设计 .7第三章 系统硬件设计 .83.1 单片机电路设计 .83.1.1 单片机的最小系统组成 .83.1.2 单片机的时
8、钟电路设计 .93.1.3 单片机时钟复位电路设计 .93.2 显示电路设计 .103.3 PM2.5 传感器电路设计 .123.4 报警电路设计 133.5 按键电路设计 13第四章 系统流程设计 .154.1 系统主流程设计 154.2 按键流程设计 16第五章 仿真与调试 .175.1 硬件调试 175.2 软件调试 195.3 仿真 .20毕业设计用纸共 28 页 第 IV 页5.3.1 仿真软件介绍 205.3.2 仿真结果 20第六章 总结 .22参考文献 .23附录 A 电路原理图 24附录 B 程序 25附录 C 原件清单 .27致谢 .28毕业设计用纸共 28 页 第 5 页
9、第一章 绪论1.1 课题背景现在,关于单片机的使用非常普遍。很多系统控制过程都把单片机当成主计算机,或者把它当成分布式的控制系统里的前端计算机。这样,可以达到模拟量收集、统计和计算、数据输出等任务,之后还可输出系统的控制信息。很多仪器仪表都使用单片机,它们被连接在不一样的传感器上,达到一些测量目的,比如频率、速度、压力等等一些测量。另外,单片机还可以用在家庭设备上并且很普遍,比如说,现在的物联网、智能家居中的一些设备,包括现在很多的儿玩家,很多都有单片机的应用。在一些重要领域,单片机也有应用,比如,在航空航天领域内应用,或者商业界应用。技术发展日新月异,关于空气质量检测技术也越来越微型化、可视
10、化而且智能化了。该研究的主要想法为:下位机使用单片机,上位机使用 PC 机,同时把单片机与 PC 机连接到一起,然后测量空气质量情况。这个研究需要更加智能、可操作并且稳定性强。我们国家的工业日新月异,空气的质量逐渐受到污染,能够快速的检测到周围的环境质量显得尤为重要,能够快速准确的检测到周围环境中的空气质量也是最有效的方式。空气的变化、室内装修残留的甲醛气体、粉尘的污染等,这将无时不刻的威胁这人们的呼吸道疾病的发生,因此,一款可以实时检测 PM2.5 的测试仪越来越受到人们的重视。1.2 设计任务和基本要求设计任务:掌握单片机的基本应用,软件设计的编程设计、硬件的设计、系统的调试和需求分析等。
11、基本要求:设计出一款能够实时检测空气中 PM2.5 情况的测试仪,同时当检测的 PM2.5 值大于阈值则启动报警,可以通过手动按键设置报警阈值大小,在设计过程中按照分模块的方法进行,在每次焊接一个模块,则测试一个模块,最后进行系统测试。毕业设计用纸共 28 页 第 6 页第二章 整体方案设计2.1 设计内容介绍具体功能,即到实时检测空气中的 PM2.5 值,达到阈值报警,设计内容主要包含以下几个方面:(1)选择适合本次设计的单片机;(2)系统软件设计;(3)系统软件硬件的连接调试。(4)系统仿真分析2.2 控制器选择控制器是本次设计的 PM2.5 检测控制系统的主要的核心部分。用户通过在控制器
12、中编写单机控制程序,使控制器具有类似人体大脑一样的逻辑功。在进行控制器的选择时,我们设计了如下的二种方案。方案一:采用可编程逻辑阵列(FPGA)作为系统的主控制器。FPGA 是最近几年逐渐兴起并在相关领域广泛使用的器件,能够很好的进行接口扩展的功能,同时也可以进行程序算法的控制 3,除此之外 FPGA 还具有优良的高速性。可以说 FPGA 的功能是非常强大的。但是对于初学者来说,使用 FPGA 需要掌握的知识内容繁多而复杂,最大的难关便是编程环境的学习以及对于 FPGA 编程语言 Verilog 语言的学习。对于初学者来说不但困难,而且在有限的毕业设计期间内还难以保证效率。方案二:使用 STC
13、89C52 单片机设计。单片机采用 CMOS 工艺进行制作而成,同时选用了来自宏晶公司所设计,具有很好的存储性能。在引脚的兼容性上也做的十分好,编程难度适中,并可以良好地完成设计中的各项要求。综合上面的分析讨论,在两种设计方案中,本次设计采用方案二作为方法。2.3 显示模块选择顾名思义,显示电路将信息以可视化的形式展现给使用者的。在本次设计中,我们需要显示当前检测到的 PM2.5 值,也需要显示设定的报警阈值。根据此需求得到了如下两种设计方案:方案一:使用 LED 数码管实现对 PM2.5 值信息的显示。数码管按照原理可以分为共阴和共阳毕业设计用纸共 28 页 第 7 页数码管。数码管的主要的
14、特点是显示亮度高,工作稳定性好,而且数码管的工作所需电流很小并可显示 0-F 等字符字样的数据。方案二:使用液晶显示器显示 PM2.5 值的相关的信息。显示器型号为 LCD1602,该型号的液晶显示器可以分成两行来显示数据信息,支持对于数字和字母的显示,但是不支持对中文的显示,每行可以显示 16 个字符。但是液晶显示有一个缺点就是显示的亮度不够好。经过对方案一和方案二的对比,本次设计中我们选用方案二进行对显示模块的设计。2.4 系统整体方案设计对空气中的 PM2.5 进行检测是本次设计的主要任务,我们所选用的单片机型号为STC89C52,PM2.5 经过检测电路模块检测以后,将信息传给单片机进
15、行处理,进而在 LCD 液晶显示器上进行显示出来,显示器对检测出来的 PM2.5 的值进行显示,然后再去判断该值是否大于报警设置的阈值,如大于阈值,则会启动报警电路。下图 2-1 即是空气质量检测系统:单片机晶 振 电 路复 位 电 路阈 值 按 键 电 路报 警 电 路LCD显 示 电 路PM2.5检 测 电路图 2-1 系统整体框图设计毕业设计用纸共 28 页 第 8 页第三章 系统硬件设计3.1 单片机电路设计该 单 片 机 是 主 要 是 有 STC 公 司 进 行 研 发 生 产 的 一 款 基 于 51 内 核 的 8 位 单 片 机 , 在 优 点 方面 该 单 片 机 具 有
16、功 耗 低 和 性 能 稳 定 的 特 点 , 在 处 理 数 据 运 行 方 面 比 较 快 , 是 其 他 普 通 单 片 机 的数 倍 。 在 51 单 片 机 上 能 够 运 行 的 程 序 , 在 该 单 片 机 一 样 可 以 运 行 , 对 于 程 序 的 开 发 和 移 植 具有 很 好 的 帮 助 。 STC89C52 单 片 机 具 有 40 个 引 脚 , 其 中 可 以 供 用 户 开 发 使 用 的 有 32 个 IO 引脚 , 在 内 存 方 面 具 有 8K 字 节 的 Flash 和 512 字 节 的 RAM, 同 时 具 有 4 个 外 部 中 断 和 2
17、个 内 部定 时 器 中 断 。 单 片 机 的 最 高 的 运 行 的 频 率 为 35MhZ, 可 以 通 过 串 口 进 行 程 序 的 下 载 使 用 。 如下 图 3-1 所 示 , 为 STC89C52 单 片 机 的 引 脚 示 意 图 。图 3-1 单片机的引脚图3.1.1 单片机的最小系统组成本 次 设 计 中 采 用 的 单 片 机 为 STC89C52 单 片 机 , 单 片 机 最 小 的 电 路 设 计 中 最 少 需 要 包 含 晶振 电 路 、 复 位 电 路 、 电 源 电 路 。 其 整 体 电 路 图 如 下 图 3-2 所 示 。毕业设计用纸共 28 页
18、第 9 页DQkhighklowt-flagP20P21P2P23AFBEDDPCGP14P15XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1P3.2/INT012P3./INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A9
19、2P2./A1023P2.3/A1 24P2.4/A1225P2.5/A1326P2.6/A1427U1STC89C52DBG_FETCH=0SRCFILE=温 度 控 制 系 统 .hexX112MC12pFC22pFC310ufR110K图 3-2 单片机的最小系统构成原理图3.1.2 单片机的时钟电路设计STC89C52 单 片 机 内 部 有 高 增 益 反 向 放 大 器 构 成 的 振 荡 器 , 输 入 /输 出 端 为XTAL1/XTAL2, 对 应 单 片 机 的 Pin19/Pin18 引 脚 , 在 这 两 个 引 脚 两 端 跨 接 石 英 晶 体 和 微 调 电 容
20、,构 成 稳 定 的 自 激 振 荡 器 , 图 3-3 是 STC89C52 工 作 在 内 部 时 钟 方 式 的 电 路 。 所 设 计 的 电 路 中 晶振 频 率 值 为 12MHz, 微 调 电 容 器 值 为 20pF。图 3-3 时钟电路3.1.3 单片机时钟复位电路设计复 位 电 路 是 单 片 机 不 可 缺 少 的 重 要 部 分 之 一 , 其 主 要 功 能 是 为 单 片 机 系 统 在 运 行 中 出 现 问题 以 后 , 能 够 及 时 提 供 复 位 功 能 , 让 单 片 机 进 入 初 始 化 的 过 程 。 STC89C52 单 片 机 主 要 使 用
21、的是 高 电 平 复 位 , 当 用 户 按 复 位 电 路 中 的 按 钮 以 后 , 电 路 中 会 给 引 脚 一 个 高 电 平 , 单 片 机 收 到 电平 信 号 后 , 就 重 新 启 动 。 在 设 计 复 位 电 路 时 应 该 注 意 如 下 问 题 : 1.电 源 脉 冲 宽 度 足 够 宽 ; 2.电源 脉 动 形 成 误 复 位 。 本 设 计 的 STC89C52 单 片 机 复 位 电 路 如 图 3-4 所 示 , 具 有 上 电 复 位 和 手 动毕业设计用纸共 28 页 第 10 页复 位 功 能 , 选 取 的 晶 振 、 复 位 电 容 、 复 位 电
22、阻 取 值 分 别 为 12MHz、 10uF、 10K。图 3-4 复位电路3.2 显示电路设计显示器的主要的作用是用来显示系统的相关的信息,本次设计中显示器主要是显示 PM2.5 等信息。单片机中常用的显示器有液晶显示和数码管显示两种,为了能够具有清晰的显示效果,本次设计的基于单片机系统主要使用 LCD 液晶显示器进行显示。本次先用的 LCD 显示器是有长沙太阳人公司研发生产的产品,使用的是 1602 型号,在显示上可以分两行进行显示,每行最多可以显示 16 个字符,但是不支持对中文的显示,在设置可以可以对显示器的背景设置不同色调,同时对于显示的字体可以进行一定的设置。具体电路图如下图 3
23、-5所示。图 3-5 LCD1602 引脚图每个引脚的说明如下图 3-5 所示:毕业设计用纸共 28 页 第 11 页编号 符号 引脚说明 编号 符号 引脚说明1 VSS 电源地 9 D2 IO 接口2 VDD 电源正极 10 D3 IO 接口3 VL 显示偏压信号 11 D4 IO 接口4 RS 数据选择 12 D5 IO 接口5 R/W 读写端 13 D6 IO 接口6 E 使能信号 14 D7 IO 接口7 D0 IO 接口 15 BLA 背光源正极8 D1 IO 接口 16 BLA 背光源负极图 3-6 1602LCD 显示器引脚说明图LCD1602 读操作时序图,如下图 3-7 所示
24、。图 3-7 LCD1602 读时序图写时序操作图,如下图 3-8 所示为:图 3-8 LCD1602 写时序图毕业设计用纸共 28 页 第 12 页3.3 PM2.5 传感器电路设计本次传感器选用的是 ZPH01 粉尘传感器,本传感器对于 PM2.5 进行检测采用的是先进的光电技术,可以检测灵敏直径在 1m 以上的灰尘颗粒物,具有很好的灵敏度、而且在使用中也比较稳定、内置加热器可以加快进入传感器检测体重的空气分子的运动,便于检测的准确。产品在外观上采用集成的原理,体积小,重量轻,便于使用者镶嵌于其他的产品中。主要用于通风设备、环境监控设备、烟雾报警器、空调等。如下图 3-9 所示,为 PM2
25、.5 传感器的电路图。图 3-9 PM2.5 传感器电路图PM2.5 传感器对于空气中的粉尘检测的工作原理,主要使用是粉尘对于光照的影响,进而影响电路所产生的电压的大小。如下图 3-10 所示为 ZPH01 粉尘传感器的工作原理示意图。当空气中的粉尘开始进入传感器的检测口时,检测口上所放置的加热装置会对粉尘进行加热,这时粉尘会加快活动,从而发射光源受到粉尘活动的影响,会影响到光学接受的效果,最后改变电路中的电流和电压,进过信号处理器处理以后,将电信号转变为数字信号,这样可以供单片机进行处理以后供其他木块使用。图 3-10 ZPH01 粉尘传感器工作原理示意图毕业设计用纸共 28 页 第 13
26、页3.4 报警电路设计在 PM2.5 传感器会对空气中的粉尘进行实时的检查,当检测到空气中的 PM2.5 的值以后,就会把电信号转换为可以供单片机出来的数字信号,单片机在接收到传感器传输过来的数字信号以后,就会把数字显示在 LCD 屏幕上,以此同时,单片机会对检测到的 PM2.5 的浓度值与之前设定的报警阈值进行比较,如果检测到的值是大于报警阈值,这时单片机就会启动报警模块,LED 灯就会来说闪烁,蜂鸣器发出嗡响,当检测到的值小于阈值以后,报警电路停止。如图 3-11 所示光电报警电路图,主要采用的蜂鸣器啸叫和 LED 闪烁报警,它约需要 10mA 电流作为驱动,只需要在两个引脚接上 3-10
27、v 的电源,就可以产生 3KHz 左右的蜂鸣声音。图 3-11 电报警电路图3.5 按键电路设计我们在本设计中需要对报警阈值进行设定,采用两个键盘按钮,一个是对于阈值的增大,一个是对于阈值的减小。键盘的按动会改变电平的高低,使用单片机的 PA 接口作为按钮的输入引脚,键盘的列线接在 PA 口的低 2 位,它的行线经过二极管然后连接到 PA 口的高 2 位。因为上面的接法,我们选择 P1.2、P1.3 来作为键扫描的输出线线。我们采用中断扫描方式,把它的输入端分别和各列线连接在一起,将外部中断输入 INT0 接到输出端。在使用过程中,我们输入一次命令结束时,必须进行初始化时,即使键盘行输出口全部
28、置零。当有命令被输入时即有键按下,INT0 端就会编程低电平,然后向处理器发出中断请求。如果处理器开放外部中断,对中断请求做出回应,调用中断服务程序,执行扫描式键盘输入子程序。毕业设计用纸共 28 页 第 14 页图 3-12 按键电路图毕业设计用纸共 28 页 第 15 页第四章 系统流程设计4.1 系统主流程设计系统的主程序主要完成的是系统中最主要的部分,当系统一上电以后,系统主程序开始其中,其中包括对于系统的初始化过程,然后开始对于系统中阈值等的设定,然后对键盘进行扫描,判断用户是否有对键盘的操作,然后开始对传感器的启动,数据的处理,数据的显示等等。主程序流程图如图 4-1 所示。毕业设
29、计用纸共 28 页 第 16 页开始CPU 初始化参数设定是否有按键采样子程序显示实时浓度数据处理子程序报警子程序按键处理是否图 4-1 主程序流程图4.2 按键流程设计由于使用的按键较少,所以本文采用了独立式键盘,即每个按键单独占用一根口线。在程序查询方式下,通过 I/O 端口读入按键状态,当有按键按下时,相应的端口变为低电平,这样通过读入 I/O 口状态判断是否有按键按下。查询式键盘的程序流程图如下 4-2 所示:毕业设计用纸共 28 页 第 17 页图 4-2 键盘程序流程图键盘管理程序入口Key_value=P3 /数字对应显示码表 char code tab1=0x40,0x79,0
30、x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/小数点 char code index=0xef,0xdf,0xbf,0x7f; /每位数字对应数码管显示位置 unsigned char num4;int sec_fei=0;sbit key1=P30; /开始sbit key2=P31; /停止sbit key3=P32; /清零void delay(unsigned int z)unsigned int i,j;for(i=0;i=10000)sec_fei=0;毕业设计用纸共 28 页 第 28 页附录 C 原件清单元件清单元件标号 元件名称 数量C1 1
31、0uf 电解电容 1C2, C3 30pf 瓷片电容 2C10 470uf 电解电容 1J1 电源接口 1J2 PM2.5 传感器+5 根杜邦线+5 针排针 1K1, K2, K3轻触按键 3L1 3mm 绿色 led 灯 1L2 3mm 红色 led 灯 1LS1 5V 有源蜂鸣器 1P1 LCD1602 液晶显示屏+16P 插座 1P2 4 针排针 1PR1 103 排阻 1Q1 8550 三极管 1R1 3K 电阻 1R2 10K 电阻 1R3, R4 1K 电阻 2SW1 自锁开关 1U1 STC89C52 单片机+DIP40 插座 1Y1 11.0592M 晶振 1毕业设计用纸共 2
32、8 页 第 29 页致谢在这几年的大学生活之中,我学到了很多以前从来没有接触过的知识。同时,也成长了许多。这些都要感谢我的同学们以及教过我的老师们。写完这篇论文,又要离毕业更进一步了。虽然很不舍,但人生总要往前看嘛。以前听专业课时,觉得很多东西之间都是没有联系的。现在写这篇论文,经过一次次查阅资料,我才知道了以前老师教的知识,都是有联系的。如果不是写这篇论文,我想以前学过的很多东西,都不会再拿过来看了。所以,挺感谢的,能够写这个毕业论文。第一,我感觉应该要感谢的是我的指导老师。在写论文期间遇见了很多的问题。每一次,老师都耐心的回答了我的问题。而且,他还给了我一些建议,对我写论文确实有着很大的帮
33、助。比如,论文章节应该怎么分,设计部分应该分模块写,最好不要整体设计。这样比较直观,而且,查故障时,也比较简单。在此,我衷心的感谢老师,谢谢您,既要给学弟学妹们上课,还要指导我们写论文。老师,您辛苦了,祝您身体健康,一帆风顺!第二,我该要感谢的是这几年一直陪伴在我身边的舍友们,因为有你们在,我的大学生活才没有孤单,才充满了快乐。同时,也要感谢的是我们学校的一个学姐,在写论文的时候,她也给我提出了很多建议,让我对写论文有了一个明确的方向。在此,我真的想跟你们说声谢谢!第三,我还要感谢的是我的爸爸妈妈,因为你们每一次在电话里不断的鼓励这我,我才没有荒废了这段大学生活,我很幸运,有你们在。希望爸爸妈妈身体健康,平平安安的!