收藏 分销(赏)

一种基于单片机的粉尘监测系统的设计定稿.doc

上传人:二*** 文档编号:4514260 上传时间:2024-09-26 格式:DOC 页数:47 大小:2.74MB
下载 相关 举报
一种基于单片机的粉尘监测系统的设计定稿.doc_第1页
第1页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 届 别 学 号 毕业设计 基于51单片机PM2.5检测系统设计和实现 姓 名 系 别、 专 业 电子信息和电气工程学院 电子信息科学和技术专业 导 师 姓 名、职 称 完 成 时 间 5月10日 目 录摘 要IAbstractII1 绪论11.1 课题背景11.2 中国外研究现实状况12 系统仿真软件及总体设计方案12.1 Keil4软件开发坏境12.2 软件烧录工具22.3程序结构分析42.4 整体设计方案42.5电源模块53 关键元器件介绍53.1 GP2Y1010AU0F传感器介绍53.2 ADC0832模数转换器介绍83.3 LCD1602液晶显示器103.4 STC89C52单片机

2、介绍134 系统单元电路模块设计164.1主控制模块164.2显示模块电路174.3相关报警模块设计174.4按键模块设计184.5粉尘模块电路设计184.6电源部分设计195 系统测试和实现205.1系统程序流图205.2 仿真电路215.3 软件跟硬件结合225.4 测试结果分析245.5 系统实现246、总结25致 谢26参考文件27附录1:系统整体电路原理图28附录2:系统设计部分源程序29摘 要 现在社会发展越来越快,伴随工业发展,即使给大家生活带来很多便利。不过,在生产过程产生很多对人体有害原因工业生产过程中会,比如煤炭灰开采、水泥生产等行业中粉尘污染。 我设计采取由LCD1602

3、液晶模块、STC89C52单片机最小系统、ADC0832模数转换器模块、GP2Y1010AU粉尘传感器、电源模块、蜂鸣器报警模块和按键模块模块组成。单片机是经过ADC0832转换芯片采集GP2Y1010AU粉尘传感器粉尘浓度,经过单片机数据转换处理后在液晶屏上显示空气中质量,测量空间中粉尘浓度假如大于当初设置粉尘浓度时,蜂鸣器就会产生报警声音和发光二极管发出声光报警。当然,粉尘浓度报警值我们能够经过按键来进行设置。关键字:GP2Y1010AU0F传感器;粉尘检测;空气质量 AbstractWith the development of society and industry,whichbri

4、ngs a lot of convenienceto peoples life.However, it will produce a lot of harmful factors in the process of industrial production, such as coal mining, cement production and other industries in the dust pollution.Ina variety of risk factorson human health effects ofthe most serious.The dust harm to

5、human body isthe most direct,the most serious is thecause of pneumoconiosis.When the dust concentration is too high,thehigh temperature drying timemay explode.The design used by STC89C52 MCU minimum system, gp2y1010au dust sensor, ADC0832 ADC module, LCD1602 LCD module, power supply module, buzzer a

6、larm module and a key module.Single-chip microcomputer real-time through the ADC0832 conversion chip acquisition gp2y1010au dust sensor dust concentration, through the single-chip microcomputer data conversion processing in the LCD screen display in the air quality, when the spatial measurement of d

7、ust concentration is higher than the set of dust concentration, buzzer and light-emitting diodes emit sound and light alarm.The dust concentrationalarm value can be setthrough the buttons. Key words: GP2Y1010AU0F detection sensors;Dust detection;dust and air quality1 绪论1.1 课题背景粉尘又称可吸入颗粒物,它是能被呼吸道粘连,直

8、径有10um颗粒物状,对人眼睛、上呼吸道、鼻腔全部很有害。粉尘和烟雾它是做为病菌载体,假如一旦分散到空气中,就会很轻易传输多种疾病。大家长久呼吸或长久散落皮肤上会轻易造成癌症。由此能够看出粉尘对人体健康和生产会产生巨大危害性,煤矿井下管道作业、煤炭生产全部要产生大量粉尘,加上煤炭井下没有通风条件,煤尘浓度可高达1000mg/m以上。在这环境中工作中,工人会吸入大量粉尘,假如粉尘长时间进入人呼吸系统,大量粉尘会在肺泡中沉积,会引发慢性职业病,严重危机人身体健康。所以,我们必需对煤矿井下粉尘进行实时检测和采取应急方法,立即了解煤矿井下工人劳动环境和安全,而且掌握井下煤尘浓度及改变情况,和采取应急方

9、法来改变粉尘浓度,为安全,防尘,降尘等方法提供必需现场数据和采取方法降低浓度。1.2 中国外研究现实状况在我中国大多采取优异测试粉尘技术,有是射线原理,其吸收量只和吸收物质重量相关,而和吸收物质物化性质无关,可直接读粉尘浓度。2 系统仿真软件及总体设计方案2.1 Keil4软件开发坏境 Keil4 C51是美国Keil Software企业出品51系列兼容单片机C语言软件开发系统,和汇编相比,C语言在功效上、结构性、可读性、可维护性上有显著优势,所以易学易用。Keil4 软件开发环境图1所表示:图1 Keil4软件开发环境 我用是keil4软件开发坏境,该软件能够开发和调试软件,我用是C语言作

10、为开发语言,该语言是我们大学上一门专业课语言,所以我开发语言是C语言。2.2 软件烧录工具在keil4软件开发完成而且编译没有错误情况下,为了要实现软件和硬件同时工作,软件来控制硬件来达成PM2.5检测系统和实现,这么就能达成毕业设计目标,软件烧录我用是STC_ISP软件,利用这个软件就能把我自己设计工程软件烧录到STC51单片机里,在把单片机芯片放到我自己焊硬件中,就能达成测试效果,STC_ISP软件图2所表示,还有烧录单片机图3所表示: 图2 STC_ISP烧录软件 图3 烧录工具2.3程序结构分析主程序对所用到外设资源进行初始化,还调用了LCD显示程序、键值设定程序、对ADC0832和粉

11、尘传感器数据处理程序3个子程序,LCD显示程序全部需要更新数值,键值动作改变或粉尘浓度数据有改变时。在本章关键介绍主程序步骤,和对ADC0832和粉尘传感器数据处理子程序步骤。2.4 整体设计方案毕业设计采取ADC0832模数转换器模块、LCD1602液晶模块、STC89C52单片机最小系统、GP2Y1010AU粉尘传感器、电源模块、蜂鸣器报警模块和按键模块模块等模块组成。单片机实时经过ADC0832转换芯片采集GP2Y1010AU粉尘传感器粉尘浓度,经过单片机数据转换处理后在液晶屏上显示空气中质量,当测量空间中粉尘浓度大于设置粉尘浓度时,蜂鸣器和发光二极管发出声光报警。粉尘浓度报警值能够经过

12、按键进行设置。系统总体框图图4所表示:电源模块按键模块ADC0832单片机STC89C52最小系统LCD显示粉尘传感器蜂鸣器报警 图4 总体结构框图 该系统关键由粉尘检测模块GP2Y1010AU、按键设置模块、报警模块和液晶显示模块态显电路组成,下面我分别介绍实现这个系统功效方案。2.5电源模块采取5V蓄电池为系统提供电源。蓄电池是含有稳定电压输出性能和较强电流驱动能力。能够利用电脑和充电宝,用起来也比较方便也很实惠。3 关键元器件介绍3.1 GP2Y1010AU0F传感器介绍一、GP2Y1010AU0F物理特征GP2Y1010AU0F是一个采取光学传感系统灰尘传感器。该设备由一个光电管成对角

13、和红外线发光二极管(IRED)部署而成。它经过检测空气中灰尘反射光。尤其是,它能够灵敏有效地检测到像香烟烟雾等很细小粒子。出此之外,它也还能够经过脉冲冲模拟输出来分别区分屋子内烟雾和灰尘。其内部原理图图5所表示:图5 GP2Y1010AU0F内部原理图其中IRED代表红外发光二极管,Dust through hole代表通孔粉尘,Dust or Smoke particle代表粉尘或烟雾粒子,amplifier circuit代表放大电路,For sensitive adjustment代表对于敏感调整;其关键参数如表1所表示:表1 GP2Y1010AU0F关键参数关键参数技术条件备注灵敏度0

14、.5V/(0.1mg/m3)输出电压0.9(TYP)无灰尘供电电流11mA体积规格46.0*30.0*17.6单位 mm兼容性兼容无铅ROHS指令供给电压Vcc-0.3+0.7单位 V输入终端电压-0.3VccVled单位 V适应温度-1065单位 其电光特征如表2所表示:表2 GP2Y1010AU0F 光电特征参数符号工作条件最小经典值最大单位灵敏度K1*2*30.350.50.65V/(0.1mg/m3)输出电压Voc1*2*300.91.5V输出电压范围VohRl=4.7K3.4-VLED端子电流I (led)LED端子=0V-1020mA消耗电流IccRL=无穷大-1120mA其中灵敏

15、度是由输出电压改变量要求时粉尘浓度有0.1毫克/立方米指定。LED输入端子输入条件如表3所表示:表3 LED输入端子输入条件参数符号数值单位脉冲周期T101ms脉冲宽度Pw0.320.02ms工作电源电压VCC50.5V其引脚定义和实物图图6所表示:图6 GP2Y1010AU引脚定义和实物图二、GP2Y1010AU0F检出方法GP2Y1010AU0F插上电源或接上干电池后,1秒内就会稳定、正常工作,能够进行检出。我们使用方法是:从输出电压来进行分析和判定。首先测出无尘无烟时电压值而且保留下来。灰尘和烟检出时输出区分:通常,烟是细小颗粒,密度很高,狂撒速度很快。灰尘粉尘是一个一个大颗粒,密度很低

16、,陆陆续续式进入灰尘传感器检出区域而且进行检测。就图7所表示,图7 GP2Y1010AU0F检测灰尘和烟雾输出电压波形比较3.2 ADC0832模数转换器介绍ADC0832功效和引脚介绍ADC0832 是双通道A/D转换芯片,也一个8 位分辨率。因为它体积很小,兼容性也比较强,性价比高。ADC0832 含有以下特点: 8位分辨率; 双通道A/D转换 输入输出电平和TTL/CMOS相兼容 5V电源供电时输入电压在0-5V之间 工作频率为250KHZ,转换时间为32S 通常功耗仅为15mW 8P、14PDIP(双列直插)、PICC 多个封装 商用级芯片温宽为0C +70C,工业级芯片温宽为-40C

17、 +85C ADC0832实物引脚图图8所表示:图8 ADC0832实物引脚图芯片引脚接口说明: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 Vcc/REF 电源输入及参考电压输入(复用)。ADC0832 和单片机接口电路图9所表示:图9 ADC0832 和单片机接口电路图ADC0832 是八位分辨率A/D转换芯片,能够适应通常模拟量转换要求。芯片模拟电压输入在05V之间。单片机对ADC0832 控制原

18、理通常情况,DO端和DI端在通信时并不会同时有效和单片机接口是双向,所以电路设计能够把DO和DI 并联在一起,在同一根数据线上使用输入输出数据,能够方便传输数据。在进行A/D转换时,应该先将CS使能端拉到低电平,而且要保持低电平直到转换最终完全结束。首先在第一个时钟脉冲下沉之前,DI端必需从低电平拉到高电平,这个是启始信号。在第二、三个脉冲下沉之前,DI端应该输入二位数据,目标用于选择通道功效。ADC0832时序图图10所表示:图10 ADC0832时序图3.3 LCD1602液晶显示器LCD1602 能够同时显示16x02 即32个字符,是一个字符型液晶显示器。在日常生活中,液晶显示器在我们

19、生活中常常能够使用到。液晶显示模块也已经作为很多很多电子产品必需设备。液晶显示器每一个点在接收信号后就会一直保持着那个状态和颜色。通常1602字符型液晶显示器实物图11,图12所表示:图11 液晶屏正面 图12 液晶屏后面LCD1602引脚:第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL是液晶显示器对比度调整端,当接地时,对比度就是最高了,当接正电源时,对比度就是最弱,我们使用时就能够经过一个10K电位器调整对比度,避免产生“鬼影”。 第4脚:RS是寄存器选择,当处于高电平时,是选择数据寄存器,当处于低电平时,就是选择指令寄存器。 第5脚:R/W是读写信号线,当处于高电平

20、时,是进行读操作,当处于低电平时,是进行写操作。第6脚:E端为使能端,当E端由高电平跳变到低电平时,液晶模块实施命令。 第714脚:D0D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 LCD1602RAM地址映射和标准字库表内部字符发生存放器就有一百六十个不一样字符,每一个字符全部是由一个特定固定代码组成。指令1:清显示。指令2:光标复位,光标返回到地址00H 。指令3:S:低电平则表示无效,高电平表示为有效。指令4:显示开关控制。A:控制光标是否闪烁,高电平表示闪烁,低电平表示不闪烁 。B:控制整体显示开和关,高电平表示开显示,低电平表示关显示。 指令5:光标或显示移

21、位 S/C:低电平时移动光标,高电平时移动显示文字。指令6:字符发生器RAM地址设置 。指令7:DDRAM地址设置 。指令8:读出光标地址和忙信号。 指令10:写数据 。指令11:读数据 。1602内部显示地址图13所表示: 图13 1602内部显示地址3.4 STC89C52单片机介绍STC89C52模块模块在整个系统中起着很关键作用,我们需要检测键盘,温度传感器等多种参数,同时也要驱动液晶显示数据及相关参数,所以我闲着了在这里我们选择了STC89C52单片机作为系统芯片。Intel 企业是最早对51系列单片机进行开发设计,Intel 企业以后将51核设计方案提供给Philip、Atmel、

22、SST等这些电子设计生产商,这些企业依据Intel 企业提供相关设计方案基础之上,生产了多个以51为内核单片机。这些关键电子产品制造商已经介绍了微控制器兼容51指令,并在51基于扩展部分功效和内部结构是一致51。 STC89C52一共有40个引脚,1个全双工异步串行口,4个8位并行I/O口,2个16位定时/计数器同时内含5个中止源,2个优先级。STC89C52存放器系统由4K程序存放器(掩膜ROM),和128B数据存放器(RAM)组成。STC89C52单片机基础组成框图见图14。图14 STC89C52单片机结构图 单片机STC89C52关键特征以下:1. 一个8 位微处理器(CPU)。2.

23、片内数据存放器RAM(128B),用以存放能够读写数据。3. 单片机发展趋势关键是将RAM 和ROM 全部集成在其单片机当中,这么不仅让用户进行设计时方便及快捷同时又提升对其系统抗干扰性。4. 四个8 位并行IO 接口P0P3,每个口不仅用作输入,仍能够用作输出。5. 两个定时器计数器,每个定时器计数器全部能够设置成计数方法,对外部事件进行计数,一样也能够设置成定时方法,为了实现计算机控制能够依据计数或定时结果。为方便设计串行通信,提供3 个16 位定时器/计数器现在就是52 系列单片机。6. 现在新推出单片机全部不只5 个中止源,比如SST89E58RD 就有9 个中止源。五个中止源中止控制

24、系统。7. 为了提升其指令实施速度,最高许可振荡频率为12MHz。最高许可振荡频率达40MHz,图3-2 STC89C52单片机管脚图STC89C52单片机部分引脚说明1.时钟电路引脚XTAL1 和XTAL2:XTAL2(18 脚):接外部晶体和微调电容一端;该引脚输入外部时钟脉冲才能采取外部时钟电路。可用示波器查看XTAL2 端是否有脉冲信号输出才能检验振荡电路是否正常工作。XTAL1(19 脚):接外部晶体和微调电容另一端;在片内它是振荡电路反相放大器输入端。在采取外部时钟时,该引脚必需接地。2.控制信号引脚RST,ALE,PSEN 和EA:RST/VPD(9 脚):RST 是复位信号,输

25、入端高电平作为有效。RST 引脚第二功效是VPD,就能够接入RST 端,能够为RAM 提供备用电源,为了不让存放在RAM 中信息丢失和删除,然而合复位后方可继续正常运行。ALE/PROG(30 脚):地址锁存许可信号端。当8051 上电正常工作后,ALE 引脚就不停地向外输出正脉冲信号。PSEN(29 脚):程序存放许可输出信号端。EA/Vpp(31 脚):当EA 引脚处于高电平时候,CPU访问片内EPROM/ROM且实施其内部程序存放器中指令代码。P0口(P0.0P0.7,3932 脚):P0口是一个 位准双向I/O口。P1口(P1.0P1.7,18 脚):P1口是一个带内部上拉电阻,8 位

26、准双向I/O口。P2口(P2.0P2.7,2128 脚):P2口是一个带内部上拉电阻8 位准双向I/O口。P3口(P3.0P3.7,1017 脚):P3口是一个带内部上拉电阻8 位准双向I/O口。P3口每个引脚全部有第二功效,以下:P3.0:(RXD)串行数据接收。P3.1:(RXD)串行数据发送。P3.2:(INT0#)外部中止0输入。P3.3:(INT1#)外部中止1输入。P3.4:(T0)定时/计数器0外部计数输入。P3.5:(T1)定时/计数器1外部计数输入。P3.6:(WR#)外部数据存放器写选通。P3.7:(RD#)外部数据存放器读选通。4 系统单元电路模块设计4.1主控制模块主控

27、制最小系统电路图15所表示。单片机最小系统由复位电路、单片机、时钟电路组成。单片机工作电压范围:给单片机外界5V直流电源,其范围在4V-5.5V,单片机中连接方法通常是20脚VSS接电源地端,而40脚VCC接正极5V。确定单片机工作起始状态就是复位电路,从而顺利完成单片机开启过程。完成单片机开启确定单片机起始工作状态就是单片机接通电源时产生复位信号。 图15 单片主控制电路4.2显示模块电路 液晶命令操作脚是RS、RW、EN接在单片机P35、P36、P37脚,数据脚D0D7分别接单片机P1口。具体电路图图16所表示:图16 显示模块电路4.3相关报警模块设计本设计中声光报警电路采取NPN型S8

28、550三极管驱动,当单片机P13口输出低电平时,三极管VEVBVC0。三极管集电结反偏,发射结正偏,此时发光二极管和蜂鸣器发出声光报警,当单片机P13口输出高电平时,三极管截止,声光报警停止工作。具体电路图图17所表示:图17 报警模块电路图4.4按键模块设计能够经过按键进行设置空气质量检测系统灰尘参数。其中一个参数加键,另一个则是参数减键。经过这两个按键(参数加键、参数减键)进行设置。具体电路图图18所表示:图18 按键模块电路图4.5粉尘模块电路设计灰尘传感器是作为常常见空气净化器系统,能偶检测很细小颗粒,比如香烟烟雾,是很有效果。传感器第一脚接了一个220uF电解电容和150欧姆电阻。第

29、二脚接到单片机P32外部中止0口,第五脚是粉尘浓度模拟量输出脚,接在模数转换器ADC0832通道1上。具体电路图图19所表示:图19粉尘模块电路4.6电源部分设计采取3节1.5 V干电池共4.5V做温湿度测量控制系统电源,经过试验验证系统工作时,能够满足系统要求就是单片机、传感器工作电压稳定,而且电池更换方便。电源接口电路图20,其中DC5V为电池接口,SW1为电源开关,R6为二极管限流电阻,POWER为电源指示灯,C5和C6为电源滤波电容。图20 电源接口电路5 系统测试和实现5.1系统程序流图主程序关键功效是对定时器,LCD1602,ADC0832,GP2Y1010AU0F,I/O口资源等

30、所用到资源进行初始化、对传感器及ADC0832、对按键动作处理实时电压值进行换算处理并显示。主程序步骤见图21所表示。 图21 主程序步骤图 对ADC0832和粉尘传感器数据处理程序 该部分子程序关键过程:GP2Y1010AU0F经过对目前环境中粉尘浓度检测会有对应电压值改变(模拟信号),从而经过ADC0832转化能够得到相关数字信号,对已得到数字电压值和GP2Y1010AU0F检出方法,经过数值计算能够得到目前环境粉尘浓度,误差比较小。其程序步骤图图22所表示: 图22 传感器数值处理程序步骤图5.2 仿真电路为了测试软件,我们通常软件开发要进行仿真电路,这么有方便又能够检测电路是否能够达成

31、效果,避免在硬件上错误,该仿真电路就是经过全部用单元电路设计组合到一起,再经过仿真软件ISIS来进行仿真,看能否软件上能达成效果,一个毕业设计首先是要软件上没有错误,才能在硬件上面跑,这么做出来产品就不会有什么错误,在仿真软件找到自己要元器件,依据电路图在进行仿真从而达成检测效果,我仿真电路图23所表示: 图23 仿真软件5.3 软件跟硬件结合 软件是一个产品控制指挥系统,这个是很关键,你要做什么动作全部要经过软件设计从而能够达成你想要效果,经过运动C语言在Keil4软件开发坏境中,设计出了检测PM2.5检测系统而且编译没有错误,再经过仿真软件也能实现一样功效,软件已经做好,接下来就要跟硬件结

32、合到一起。经过单片机把程序烧录到单片机芯片,再把芯片安装到硬件上面,该硬件是自己动手焊接,图24 焊接图所表示,而且能产生正确效果,图25 实物效果图所表示: 图24 焊接图 图25 实物效果图5.4 测试结果分析依据实物测试结果分析,图 实物效果图所表示,该图就是测试室内环境PM值,现在是38ug/m3,测试结果是best,没有超出刚开始设置范围200ug/m3,所以现在空气质量是健康无害,该结果是经过ADC0832硬件测试结果再经过模数转换再经过软件分析从而能够在液晶显示器上看到我们测试数据结果,该结果正确无误。5.5 系统实现系统最终实现功效就是基于51单片机PM2.5检测系统设计和实现

33、,系统经过软件和硬件最终能实现检测,该系统关键由粉尘传感器,按键,电源,STC89C52,LED显示灯,蜂鸣器报警等组成,软件是经过单片机烧录到STC89C52中,最终经过组装,反复验证,最终能够达成总个系统实现和功效实现。6、总结空气质量检测仪系统控制关键采取了单片机STC89C52,最大程度将其含有资源应用到设计中,不仅表现了单片机最小系统应用过程中灵活性,一样也实现功效多样智能化。采取了单片机对空气质量检测尘埃、香烟、油烟等,能够检测出空气中灰尘程度,在液晶上进行显示含有很关键市场应用价值。即使存在着系统功效单一等缺点,相信在以后实践中能一步一步完善。自己在图书馆和上网查资料到写出具体实

34、施方案、画出电路图全部要认真考虑,最终做出了自己想做出来产品,而且能够实现理想功效,从而顺利完成毕业设计。致 谢首先感谢学校给我提了良好学习环境和实践环境,在立即毕业之际,心中不舍之情难以言表,同时我相信在学校学习和生活四年光阴是我一生中最难忘经历! 在此论文撰写过程中,感谢金桂老师在我做毕业设计过程中所给帮助。让我深切体会到探求知识过程即使困难重重,但同时也是充实愉快。同时,在此次设计过程中,在我们院试验创新基地有丰富实践经验同学给了极大指导和帮助,有很多技术上难题全部是经过请教她们或书本从而得以处理,在此很感谢她们。在这四年大学生活中,老师教会我们很多,也得到了老师肯定,谢谢老师们,你们辛

35、劳啦。参考文件1 李文忠,段朝玉 .短距离无线数据通信M.北京:北京航空航天大学出版社,.2 李艳红,李海华.传感器原理及其应用M.北京:北京理工大学出版社,.3 傅扬烈. 单片机原理和应用教程M.北京:电子工业出版社,.4 谭浩强.C程序设计M.北京:清华大学出版社,1999 .5 何希才, 薛永毅.传感器及其应用实例M北京:机械工业出版社,6 Simon Haykin,Machael Moher,郑宝玉.现代无线通信M.北京:电子工业出版社, .7 武庆生,仇梅.单片机原理和应用M.成全部:电子科技大学出版社,1998.8 周航慈.单片机应用程序设计技术M.北京:北京航空航天大学出版社,1

36、991.9 郭天祥.51单片机C语言教程M.北京:电子工业出版社,.36-9210 王新贤.通用集成电路速查手册第二版.M 山东科学技术出版社,22-57附录1:系统整体电路原理图附录2:系统设计部分源程序#includeLCD1602.h /添加LCD1602头文件#includeadc0832.h/添加ADC0832头文件/#includetime0.h sbit BUZZER = P13; /蜂鸣器驱动端口=P12sbit Reduc = P17; /按键键输入端口=P17sbit Add = P30; /按键加输入端口=P31sbit vled = P32;void Delay1us(

37、uint t)/12MHzwhile(t-)_nop_();uint read_data(uchar N)uint val=0;vled=0;Delay1us(20);val=adc0832(N);vled=1;Delay1us(400);return val;/* 函数名称 : void main(void)* 函数功效 : 主函数* 输 入 : 无* 输 出 : 无* 说 明 :*/void main(void)double PM,pm1,pm2;int PMVAL=0,HPM=200,PM_count=0,pm1_count=0;uchar bueezr_flag=0,bueezr_co

38、unt=0,buzzer_time=25;/蜂鸣器报警变量 LCD_Init(); WriteChar(1,0,16,PM:0020ug/m3); WriteChar(2,0,16,HPM2.5:0200ug/m3);while(1) Delay(120); pm1+=read_data(1);if(+PM_count=40) PM_count=0; pm1=pm1/40;pm2+=pm1;if(+pm1_count=3)PM=pm2/3;PM=PM*50/255;PM-=4; PM/=5;PM*=1000;PMVAL=PM;PMVAL+=235;if(PMVAL=9999)PMVAL=999

39、9;if(PMVALHPM)bueezr_flag=1;elsebueezr_flag=0;BUZZER=1; if(PMVAL=100)WriteChar(1,12,4,weak);else if(PMVAL=50)WriteChar(1,12,4,good);else if(PMVALbuzzer_time*10)bueezr_count=buzzer_time+1;if(bueezr_count%buzzer_time=0 & bueezr_flag)BUZZER=BUZZER;/蜂鸣器取反 发出声音提醒if(!Reduc)Delay(100);HPM-;WriteCOMDATA(0xC

40、7,0);WriteCOMDATA(HPM/1000+0x30,1);WriteCOMDATA(HPM/100%10+0x30,1);WriteCOMDATA(HPM/10%10+0x30,1);WriteCOMDATA(HPM%10+0x30,1);if(!Add)Delay(100);HPM+;WriteCOMDATA(0xC7,0);WriteCOMDATA(HPM/1000+0x30,1);WriteCOMDATA(HPM/100%10+0x30,1);WriteCOMDATA(HPM/10%10+0x30,1);WriteCOMDATA(HPM%10+0x30,1);/* 编写时间: .05.09* 作 者: liuweiliang* 程序功效: LCD1602头文件 * 使用说明: 在需要使用LCD1602显示时添加此头文件“LCD1602.h”*/#ifndef _LCD1602_H_#define _LCD1602_H_#includedelay.h /添加延时函数头文件#define LCD_PINDATA P0 /数据端口定义 P2sbit RS = P14; /RS P07

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服