首页 一种基于51单片机的粉尘监测系统的设计

一种基于51单片机的粉尘监测系统的设计

举报
开通vip

一种基于51单片机的粉尘监测系统的设计届别学号毕业设计基于51单片机PM2.5检测系统设计与实现姓  名系别、专业电子信息与电气工程学院电子信息科学与技术专业导师姓名、职称完成时间5月10日目录TOC\o"1-3"\h\uHYPERLINK\l_Toc30315摘要PAGEREF_Toc30315IHYPERLINK\l_Toc1AbstractPAGEREF_Toc1IIHYPERLINK\l_Toc218541绪论PAGEREF_Toc218541HYPERLINK\l_Toc70321.1课题背景PA...

一种基于51单片机的粉尘监测系统的设计
届别学号毕业 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 基于51单片机PM2.5检测系统设计与实现姓  名系别、专业电子信息与电气工程学院电子信息科学与技术专业导师姓名、职称完成时间5月10日目录TOC\o"1-3"\h\uHYPERLINK\l_Toc30315摘要PAGEREF_Toc30315IHYPERLINK\l_Toc1AbstractPAGEREF_Toc1IIHYPERLINK\l_Toc218541绪论PAGEREF_Toc218541HYPERLINK\l_Toc70321.1课题背景PAGEREF_Toc70321HYPERLINK\l_Toc248071.2国内外研究现状PAGEREF_Toc248071HYPERLINK\l_Toc60342系统仿真软件及总体设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 PAGEREF_Toc60341HYPERLINK\l_Toc133422.1Keil4软件开发坏境PAGEREF_Toc133421HYPERLINK\l_Toc236842.2软件烧录工具PAGEREF_Toc236842HYPERLINK\l_Toc271692.3程序构造分析PAGEREF_Toc271694HYPERLINK\l_Toc271522.4整体设计方案PAGEREF_Toc271524HYPERLINK\l_Toc308132.5电源模块PAGEREF_Toc308135HYPERLINK\l_Toc189053重要元器件简介PAGEREF_Toc189055HYPERLINK\l_Toc113113.1GP2Y1010AU0F传感器简介PAGEREF_Toc113115HYPERLINK\l_Toc238083.2ADC0832模数转换器简介PAGEREF_Toc238088HYPERLINK\l_Toc282883.3LCD1602液晶显示屏PAGEREF_Toc2828810HYPERLINK\l_Toc30293.4STC89C52单片机简介PAGEREF_Toc302913HYPERLINK\l_Toc177364系统单元电路模块设计PAGEREF_Toc1773616HYPERLINK\l_Toc40444.1主控制模块PAGEREF_Toc404416HYPERLINK\l_Toc25854.2显示模块电路PAGEREF_Toc258517HYPERLINK\l_Toc46924.3关于报警模块设计PAGEREF_Toc469217HYPERLINK\l_Toc179604.4按键模块设计PAGEREF_Toc1796018HYPERLINK\l_Toc284944.5粉尘模块电路设计PAGEREF_Toc2849418HYPERLINK\l_Toc264734.6电源某些设计PAGEREF_Toc2647319HYPERLINK\l_Toc82295系统测试与实现PAGEREF_Toc822920HYPERLINK\l_Toc245025.1系统程序流图PAGEREF_Toc2450220HYPERLINK\l_Toc155885.2仿真电路PAGEREF_Toc1558821HYPERLINK\l_Toc15725.3软件跟硬件结合PAGEREF_Toc157222HYPERLINK\l_Toc109395.4测试成果分析PAGEREF_Toc1093924HYPERLINK\l_Toc50935.5系统实现PAGEREF_Toc509324HYPERLINK\l_Toc30156、总结PAGEREF_Toc301525HYPERLINK\l_Toc8563致谢PAGEREF_Toc856326HYPERLINK\l_Toc25125参照文献PAGEREF_Toc2512527HYPERLINK\l_Toc28120附录1:系统整体电路原理图PAGEREF_Toc2812028HYPERLINK\l_Toc10392附录2:系统设计某些源程序PAGEREF_Toc1039229摘要当前社会发展越来越快,随着工业发展,虽然给人们生活带来诸多便利。但是,在生产过程产生诸多对人体有害因素工业生产过程中会,例如煤炭灰开采、水泥生产等行业中粉尘污染。我设计采用由LCD1602液晶模块、STC89C52单片机最小系统、ADC0832模数转换器模块、GP2Y1010AU粉尘传感器、电源模块、蜂鸣器报警模块和按键模块模块构成。单片机是通过ADC0832转换芯片采集GP2Y1010AU粉尘传感器粉尘浓度,通过单片机数据转换解决后在液晶屏上显示空气中质量,测量空间中粉尘浓度如果不不大于当时设立粉尘浓度时,蜂鸣器就会产生报警声音和发光二极管发出声光报警。固然,粉尘浓度报警值咱们可以通过按键来进行设立。核心字:GP2Y1010AU0F传感器;粉尘检测;空气质量AbstractWiththedevelopmentofsocietyandindustry, which bringsalotofconvenience topeople'slife. However,itwillproducealotofharmfulfactorsintheprocessofindustrialproduction,suchascoalmining,cementproductionandotherindustriesinthedustpollution. In avarietyofriskfactors onhumanhealtheffectsof themostserious. Thedustharmtohumanbodyis themostdirect, themostseriousisthe causeofpneumoconiosis.Whenthedustconcentrationistoohigh, the hightemperaturedryingtime mayexplode.ThedesignusedbySTC89C52MCUminimumsystem,gp2y1010audustsensor,ADC0832ADCmodule,LCD1602LCDmodule,powersupplymodule,buzzeralarmmoduleandakeymodule. Single-chipmicrocomputerreal-timethroughtheADC0832conversionchipacquisitiongp2y1010audustsensordustconcentration,throughthesingle-chipmicrocomputerdataconversionprocessingintheLCDscreendisplayintheairquality,whenthespatialmeasurementofdustconcentrationishigherthanthesetofdustconcentration,buzzerandlight-emittingdiodesemitsoundandlightalarm. Thedustconcentration alarmvaluecanbeset throughthebuttons.Keywords:GP2Y1010AU0Fdetectionsensors;Dustdetection;dustandairquality1绪论1.1课题背景粉尘又称可吸入颗粒物,它是能被呼吸道粘连,直径有10um颗粒物状,对人眼睛、上呼吸道、鼻腔都非常有害。粉尘和烟雾它是做为病菌载体,如果一旦分散到空气中,就会很容易传播各种疾病。人们长期呼吸或长期散落皮肤上会容易导致癌症。由此可以看出粉尘对人体健康和生产会产生巨大危害性,煤矿井下管道作业、煤炭生产都要产生大量粉尘,加上煤炭井下没有通风条件,煤尘浓度可高达1000mg/m³以上。在这环境中工作中,工人会吸入大量粉尘,如果粉尘长时间进入人呼吸系统,大量粉尘会在肺泡中沉积,会引起慢性职业病,严重危机人身体健康。因而,咱们必要对煤矿井下粉尘进行实时检测和采用应急办法,及时理解煤矿井下工人劳动环境和安全,并且掌握井下煤尘浓度及变化状况,以及采用应急办法来变化粉尘浓度,为安全,防尘,降尘等办法提供必要现场数据和采用办法减少浓度。1.2国内外研究现状在国内内大多采用先进测试粉尘技术,有是β射线原理,其吸取量只与吸取物质重量有关,而与吸取物质物化性质无关,可直接读粉尘浓度。2系统仿真软件及总体设计方案2.1Keil4软件开发坏境Keil4C51是美国KeilSoftware公司出品51系列兼容HYPERLINK""\t""单片机C语言软件开发系统,与汇编相比,C语言在功能上、构造性、可读性、可维护性上有明显优势,因而易学易用。Keil4软件开发环境如图1所示:图1Keil4软件开发环境我用是keil4软件开发坏境,该软件可以开发和调试软件,我用是C语言作为开发语言,该语言是咱们大学上一门专业课语言,因此我开发语言是C语言。2.2软件烧录工具在keil4软件开发完毕并且编译没有错误状况下,为了要实现软件与硬件同步工作,软件来控制硬件来达到PM2.5检测系统与实现,这样就能达到毕业设计目,软件烧录我用是STC_ISP软件,运用这个软件就能把我自己设计工程软件烧录到STC51单片机里,在把单片机芯片放到我自己焊硬件中,就能达到测试效果,STC_ISP软件如图2所示,尚有烧录单片机如图3所示:图2STC_ISP烧录软件图3烧录工具2.3程序构造分析  主程序对所用到外设资源进行初始化,还调用了LCD显示程序、键值设定程序、对ADC0832以及粉尘传感器数据解决程序3个子程序,LCD显示程序都需要更新数值,键值动作变化或者粉尘浓度数据有变化时。在本章重要简介主程序流程,和对ADC0832以及粉尘传感器数据解决子程序流程。2.4整体设计方案毕业设计采用ADC0832模数转换器模块、LCD1602液晶模块、STC89C52单片机最小系统、GP2Y1010AU粉尘传感器、电源模块、蜂鸣器报警模块和按键模块模块等模块构成。单片机实时通过ADC0832转换芯片采集GP2Y1010AU粉尘传感器粉尘浓度,通过单片机数据转换解决后在液晶屏上显示空气中质量,当测量空间中粉尘浓度不不大于设立粉尘浓度时,蜂鸣器和发光二极管发出声光报警。粉尘浓度报警值可以通过按键进行设立。系统总体框图如图4所示:电源模块按键模块ADC0832单片机STC89C52最小系统LCD显示粉尘传感器蜂鸣器报警图4总体构造框图该系统重要由粉尘检测模块GP2Y1010AU、按键设立模块、报警模块和液晶显示模块态显电路构成,下面我分别简介实现这个系统功能方案。2.5电源模块采用5V蓄电池为系统提供电源。蓄电池是具备稳定电压输出性能以及较强电流驱动能力。可以运用电脑和充电宝,用起来也比较以便也很实惠。3重要元器件简介3.1GP2Y1010AU0F传感器简介一、GP2Y1010AU0F物理特性GP2Y1010AU0F是一种采用光学传感系统灰尘传感器。该设备由一种光电管成对角和红外线发光二极管(IRED)布置而成。它通过检测空气中灰尘反射光。特别是,它可以敏捷有效地检测到像香烟烟雾等非常细小粒子。出此之外,它也还可以通过脉冲冲模仿输出来分别区别屋子内烟雾和灰尘。其内部原理图如图5所示:图5GP2Y1010AU0F内部原理图其中IRED代表红外发光二极管,Dustthroughhole代表通孔粉尘,DustorSmokeparticle代表粉尘或烟雾粒子,amplifiercircuit代表放大电路,Forsensitiveadjustment代表对于敏感调节;其重要参数如表1所示:表1GP2Y1010AU0F重要参数重要参数技术条件备注敏捷度0.5V/(0.1mg/m3)输出电压0.9(TYP)无灰尘供电电流11mA体积规格46.0*30.0*17.6单位mm兼容性兼容无铅ROHS指令供应电压Vcc-0.3~+0.7单位V输入终端电压-0.3~VccVled单位V适应温度-10~65单位℃其电光特性如表2所示:表2GP2Y1010AU0F光电特性参数符号工作条件最小典型值最大单位敏捷度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其中敏捷度是由输出电压变化量规定期粉尘浓度有0.1毫克/立方米指定。LED输入端子输入条件如表3所示:表3LED输入端子输入条件参数符号数值单位脉冲周期T101ms脉冲宽度Pw0.320.02ms工作电源电压VCC50.5V其引脚定义和实物图如图6所示:图6GP2Y1010AU引脚定义和实物图二、GP2Y1010AU0F检出办法GP2Y1010AU0F插上电源或者接上干电池后,1秒内就会稳定、正常工作,可以进行检出。咱们用法是:从输出电压来进行分析和鉴定。一方面测出无尘无烟时电压值并且保存下来。灰尘和烟检出时输出区别:普通,烟是细小颗粒,密度很高,狂撒速度非常快。灰尘粉尘是一种一种大颗粒,密度非常低,陆陆续续式进入灰尘传感器检出区域并且进行检测。就如图7所示,图7GP2Y1010AU0F检测灰尘和烟雾输出电压波形比较3.2ADC0832模数转换器简介ADC0832功能与引脚简介ADC0832是双通道A/D转换芯片,也一种8位辨别率。由于它体积非常小,兼容性也比较强,性价比高。ADC0832具备如下特点:·8位辨别率;·双通道A/D转换·输入输出电平与TTL/CMOS相兼容·5V电源供电时输入电压在0-5V之间·工作频率为250KHZ,转换时间为32μS·普通功耗仅为15mW·8P、14P—DIP(双列直插)、PICC各种封装·商用级芯片温宽为0°C~+70°C,工业级芯片温宽为-40°C~+85°CADC0832实物引脚图如图8所示:图8ADC0832实物引脚图芯片引脚接口阐明:·CS_片选使能,低电平芯片使能。·CH0模仿输入通道0,或作为IN+/-使用。·CH1模仿输入通道1,或作为IN+/-使用。·GND芯片参照0电位(地)。·DI数据信号输入,选取通道控制。·DO数据信号输出,转换数据输出。·Vcc/REF电源输入及参照电压输入(复用)。ADC0832与单片机接口电路如图9所示:图9ADC0832与单片机接口电路图ADC0832是八位辨别率A/D转换芯片,可以适应普通模仿量转换规定。芯片模仿电压输入在0~5V之间。单片机对ADC0832控制原理普通状况,DO端与DI端在通信时并不会同步有效与单片机接口是双向,因此电路设计可以把DO和DI并联在一起,在同一根数据线上使用输入输出数据,可以以便传播数据。在进行A/D转换时,应当先将CS使能端拉到低电平,并且要保持低电平直到转换最后完全结束。一方面在第一种时钟脉冲下沉之前,DI端必要从低电平拉到高电平,这个是启始信号。在第二、三个脉冲下沉之前,DI端应当输入二位数据,目用于选取通道功能。ADC0832时序图如图10所示:图10ADC0832时序图3.3LCD1602液晶显示屏LCD1602可以同步显示16x02即32个字符,是一种字符型液晶显示屏。在寻常生活中,液晶显示屏在咱们生活中经常可以使用到。液晶显示模块也已经作为诸多诸多电子产品必要设备。液晶显示屏每一种点在接受信号后就会始终保持着那个状态和颜色。普通1602字符型液晶显示屏实物如图11,图12所示:图11液晶屏正面图12液晶屏背面LCD1602引脚:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL是液晶显示屏对比度调节端,当接地时,对比度就是最高了,当接正电源时,对比度就是最弱,咱们使用时就可以通过一种10K电位器调节对比度,避免产生“鬼影”。第4脚:RS是寄存器选取,当处在高电平时,是选取数据寄存器,当处在低电平时,就是选取指令寄存器。第5脚:R/W是读写信号线,当处在高电平时,是进行读操作,当处在低电平时,是进行写操作。第6脚:E端为使能端,当E端由高电平跳变到低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。LCD1602RAM地址映射以及原则字库表内部字符发生存储器就有一百六十个不同字符,每一种字符都是由一种特定固定代码构成。指令1:清显示。指令2:光标复位,光标返回到地址00H。指令3:S:低电平则表达无效,高电平表达为有效。指令4:显示开关控制。A:控制光标与否闪烁,高电平表达闪烁,低电平表达不闪烁。B:控制整体显示开与关,高电平表达开显示,低电平表达关显示。指令5:光标或显示移位S/C:低电平时移动光标,高电平时移动显示文字。指令6:字符发生器RAM地址设立。指令7:DDRAM地址设立。指令8:读出光标地址和忙信号。指令10:写数据。指令11:读数据。1602内部显示地址如图13所示:图131602内部显示地址3.4STC89C52单片机简介STC89C52模块模块在整个系统中起着非常重要作用,咱们需要检测键盘,温度传感器等各种参数,同步也要驱动液晶显示数据及有关参数,因此我闲着了在这里咱们选用了STC89C52单片机作为系统芯片。Intel公司是最早对51系列单片机进行开发设计,Intel公司日后将51核设计方案提供应Philip、Atmel、SST等这些电子设计生产商,这些公司依照Intel公司提供有关设计方案基本之上,生产了各种以51为内核单片机。这些重要电子产品制造商已经简介了微控制器兼容51指令,并在51基于扩展某些功能和内部构造是一致51。STC89C52一共有40个引脚,1个全双工异步串行口,4个8位并行I/O口,2个16位定期/计数器同步内含5个中断源,2个优先级。STC89C52存储器系统由4K程序存储器(掩膜ROM),和128B数据存储器(RAM)构成。STC89C52单片机基本构成框图见图14。图14STC89C52单片机构造图单片机STC89C52重要特性如下:1.一种8位微解决器(CPU)。2.片内数据存储器RAM(128B),用以存储可以读/写数据。3.单片机发展趋势重要是将RAM和ROM都集成在其单片机当中,这样不但让顾客进行设计时以便及快捷同步又提高对其系统抗干扰性。4.四个8位并行I/O接口P0~P3,每个口不但用作输入,仍可以用作输出。5.两个定期器/计数器,每个定期器/计数器都可以设立成计数方式,对外部事件进行计数,同样也可以设立成定期方式,为了实现计算机控制可以依照计数或定期成果。为以便设计串行通信,提供3个16位定期器/计数器当前就是52系列单片机。6.当前新推出单片机都不只5个中断源,例如SST89E58RD就有9个中断源。五个中断源中断控制系统。7.为了提高其指令执行速度,最高容许振荡频率为12MHz。最高容许振荡频率达40MHz,图3-2STC89C52单片机管脚图STC89C52单片机某些引脚阐明1.时钟电路引脚XTAL1和XTAL2:XTAL2(18脚):接外部晶体和微调电容一端;该引脚输入外部时钟脉冲才干采用外部时钟电路。可用示波器查看XTAL2端与否有脉冲信号输出才干检查振荡电路与否正常工作。XTAL1(19脚):接外部晶体和微调电容另一端;在片内它是振荡电路反相放大器输入端。在采用外部时钟时,该引脚必要接地。2.控制信号引脚RST,ALE,PSEN和EA:RST/VPD(9脚):RST是复位信号,输入端高电平作为有效。RST引脚第二功能是VPD,就可以接入RST端,可觉得RAM提供备用电源,为了不让存储在RAM中信息丢失和删除,然而合复位后方可继续正常运营。ALE/PROG(30脚):地址锁存容许信号端。当8051上电正常工作后,ALE引脚就不断地向外输出正脉冲信号。PSEN(29脚):程序存储容许输出信号端。EA/Vpp(31脚):当EA引脚处在高电平时候,CPU访问片内EPROM/ROM且执行其内部程序存储器中指令代码。P0口(P0.0~P0.7,39~32脚):P0口是一种位准双向I/O口。P1口(P1.0~P1.7,1~8脚):P1口是一种带内部上拉电阻,8位准双向I/O口。P2口(P2.0~P2.7,21~28脚):P2口是一种带内部上拉电阻8位准双向I/O口。P3口(P3.0~P3.7,10~17脚):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主控制模块主控制最小系统电路如图15所示。单片机最小系统由复位电路、单片机、时钟电路构成。单片机工作电压范畴:给单片机外界5V直流电源,其范畴在4V-5.5V,单片机中连接方式普通是20脚VSS接电源地端,而40脚VCC接正极5V。拟定单片机工作起始状态就是复位电路,从而顺利完毕单片机启动过程。完毕单片机启动拟定单片机起始工作状态就是单片机接通电源时产生复位信号。图15单片主控制电路4.2显示模块电路液晶命令操作脚是RS、RW、EN接在单片机P3^5、P3^6、P3^7脚,数据脚D0~D7分别接单片机P1口。详细电路图如图16所示:图16显示模块电路4.3关于报警模块设计本设计中声光报警电路采用NPN型S8550三极管驱动,当单片机P1^3口输出低电平时,三极管VE>VB>VC>0。三极管集电结反偏,发射结正偏,此时发光二极管和蜂鸣器发出声光报警,当单片机P1^3口输出高电平时,三极管截止,声光报警停止工作。详细电路图如图17所示:图17报警模块电路图4.4按键模块设计可以通过按键进行设立空气质量检测系统灰尘参数。其中一种参数加键,另一种则是参数减键。通过这两个按键(参数加键、参数减键)进行设立。详细电路图如图18所示:图18按键模块电路图4.5粉尘模块电路设计灰尘传感器是作为经惯用空气净化器系统,能偶检测非常细小颗粒,例如香烟烟雾,是非常有效果。传感器第一脚接了一种220uF电解电容和150欧姆电阻。第二脚接到单片机P32外部中断0口,第五脚是粉尘浓度模仿量输出脚,接在模数转换器ADC0832通道1上。详细电路图如图19所示:图19粉尘模块电路4.6电源某些设计采用3节1.5V干电池共4.5V做温湿度测量控制系统电源,通过实验验证系统工作时,可以满足系统规定就是单片机、传感器工作电压稳定,并且电池更换以便。电源接口电路如图20,其中DC5V为电池接口,SW1为电源开关,R6为二极管限流电阻,POWER为电源批示灯,C5和C6为电源滤波电容。图20电源接口电路5系统测试与实现5.1系统程序流图主程序重要功能是对定期器,LCD1602,ADC0832,GP2Y1010AU0F,I/O口资源等所用到资源进行初始化、对传感器及ADC0832、对按键动作解决实时电压值进行换算解决并显示。主程序流程见图21所示。图21主程序流程图对ADC0832以及粉尘传感器数据解决程序该某些子程序重要过程:GP2Y1010AU0F通过对当前环境中粉尘浓度检测会有相应电压值变化(模仿信号),从而通过ADC0832转化可以得到有关数字信号,对已得到数字电压值以及GP2Y1010AU0F检出办法,通过数值计算可以得到当前环境粉尘浓度,误差比较小。其程序流程图如图22所示:图22传感器数值解决程序流程图5.2仿真电路为了测试软件,咱们普通软件开发要进行仿真电路,这样有以便又可以检测电路与否可以达到效果,避免在硬件上错误,该仿真电路就是通过所有用单元电路设计组合到一起,再通过仿真软件ISIS来进行仿真,看能否软件上能达到效果,一种毕业设计一方面是要软件上没有错误,才干在硬件上面跑,这样做出来产品就不会有什么错误,在仿真软件找到自己要元器件,依照电路图在进行仿真从而达到检测效果,我仿真电路如图23所示:图23仿真软件5.3软件跟硬件结合软件是一种产品控制指挥系统,这个是非常重要,你要做什么动作都要通过软件设计从而可以达到你想要效果,通过运动C语言在Keil4软件开发坏境中,设计出了检测PM2.5检测系统并且编译没有错误,再通过仿真软件也能实现同样功能,软件已经做好,接下来就要跟硬件结合到一起。通过单片机把程序烧录到单片机芯片,再把芯片安装到硬件上面,该硬件是自己动手焊接,如图24焊接图所示,并且能产生对的效果,如图25实物效果图所示:如图24焊接图如图25实物效果图5.4测试成果分析依照实物测试成果分析,如图实物效果图所示,该图就是测试室内环境PM值,当前是38ug/m3,测试成果是best,没有超过刚开始设立范畴200ug/m3,因此当前空气质量是健康无害,该成果是通过ADC0832硬件测试成果再通过模数转换再通过软件分析从而可以在液晶显示屏上看到咱们测试数据成果,该成果精确无误。5.5系统实现系统最后实现功能就是基于51单片机PM2.5检测系统设计与实现,系统通过软件和硬件最后能实现检测,该系统重要由粉尘传感器,按键,电源,STC89C52,LED显示灯,蜂鸣器报警等构成,软件是通过单片机烧录到STC89C52中,最后通过组装,重复验证,最后可以达到总个系统实现与功能实现。6、总结空气质量检测仪系统控制核心采用了单片机STC89C52,最大限度将其具备资源应用到设计中,不但体现了单片机最小系统应用过程中灵活性,同样也实现功能多样智能化。采用了单片机对空气质量检测尘埃、香烟、油烟等,可以检测出空气中灰尘限度,在液晶上进行显示具备非常重要市场应用价值。虽然存在着系统功能单一等缺陷,相信在后来实践中能一步一步完善。自己在图 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 馆和上网查资料到写出详细实行方案、画出电路图都要认真考虑,最后做出了自己想做出来产品,并且可以实现抱负功能,从而顺利完毕毕业设计。致谢一方面感谢学校给我提了良好学习环境和实践环境,在即将毕业之际,心中不舍之情难以言表,同步我相信在学校学习和生活四年光阴是我毕生中最难忘经历!在此 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 撰写过程中,感谢金桂教师在我做毕业设计过程中所予以协助。让我深切体会到探求知识过程虽然困难重重,但同步也是充实高兴。同步,在本次设计过程中,在咱们院实验创新基地有丰富实践经验同窗予以了极大指引和协助,有许多技术上难题都是通过请教她们或者课本从而得以解决,在此非常感谢她们。在这四年大学生活中,教师教会咱们诸多,也得到了教师必定,谢谢教师们,你们辛苦啦。参照文献[1]李文忠,段朝玉.短距离无线数据通信[M].北京:北京航空航天大学出版社,.[2]HYPERLINK""\t"_blank"李艳红,HYPERLINK""\t"_blank"李海华.传感器原理及其应用[M].北京:HYPERLINK""\t"_blank"北京理工大学出版社,.[3]傅扬烈.单片机原理与应用 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 [M].北京:电子工业出版社,.[4]谭浩强.C程序设计[M].北京:清华大学出版社,1999.[5]何希才,薛永毅.传感器及其应用实例[M].北京:机械工业出版社,.[6]SimonHaykin,MachaelMoher,郑宝玉.当代无线通信[M].北京:HYPERLINK":81/cgi-win/tcgif.exe?s1146g210210r50"电子工业出版社,.[7]武庆生,仇梅.单片机原理与应用[M].成都:电子科技大学出版社,1998.[8]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1991.[9]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,.36-92[10]王新贤.通用集成电路速查手册第二版.[M]山东科学技术出版社,22-57附录1:系统整体电路原理图附录2:系统设计某些源程序#include"LCD1602.h"//添加LCD1602头文献#include"adc0832.h"//添加ADC0832头文献//#include"time0.h"sbitBUZZER=P1^3;//蜂鸣器驱动端口==P1^2sbitReduc=P1^7;//按键键输入端口==P1^7sbitAdd=P3^0;//按键加输入端口==P3^1sbitvled=P3^2;voidDelay1us(uintt)//@12MHz{while(t--)_nop_();}uintread_data(ucharN){uintval=0;vled=0;Delay1us(20);val=adc0832(N);vled=1;Delay1us(400);returnval;}/**************************************************函数名称:voidmain(void)**函数功能:主函数**输入:无**输出:无**说明:************************************************/voidmain(void){doublePM,pm1,pm2;intPMVAL=0,HPM=200,PM_count=0,pm1_count=0;ucharbueezr_flag=0,bueezr_count=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=9999;if(PMVAL<=0)PMVAL=0;WriteCOMDATA(0x83,0);WriteCOMDATA(PMVAL/1000+0x30,1);WriteCOMDATA(PMVAL/100%10+0x30,1);WriteCOMDATA(PMVAL/10%10+0x30,1);WriteCOMDATA(PMVAL%10+0x30,1);PM=pm1=pm2=0;}}//PM值与报警值比较if(PMVAL>HPM){bueezr_flag=1;}else{bueezr_flag=0;BUZZER=1;}if(PMVAL>=100)WriteChar(1,12,4,"weak");elseif((PMVAL<100)&&(PMVAL>=50))WriteChar(1,12,4,"good");elseif(PMVAL<50)WriteChar(1,12,4,"best");/*******蜂鸣器报警********/bueezr_count++;if(bueezr_count>buzzer_time*10)bueezr_count=buzzer_time+1;if(bueezr_count%buzzer_time==0&&bueezr_flag){BUZZER=~BUZZER;//蜂鸣器取反发出声音提示}if(!Reduc){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);}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__#include"delay.h"//添加延时函数头文献#defineLCD_PINDATAP0//数据端口定义P2sbitRS=P1^4;//RSP0^7sbitRW=P1^5;//RWP0^6sbitE=P1^6;//EP0^5/**************************************************函数名称:WriteCOMDATA(ucharLCD_DATA,ucharN)**函数功能:LCD1602写指令、数据函数**输入:LCD_DATA:指令或者数据N:指令方式还是数据方式N=0时,LCD_DATA为指令,N=1时,LCD_DATA为数据**输出:无**说明:************************************************/voidWriteCOMDATA(ucharLCD_DATA,ucharN){Delay(1);E=1;RW=0;RS=N;LCD_PINDATA=LCD_DATA;E=0;}/**************************************************函数名称:voidLCD_init(void)**函数功能:LCD1602初始化操作**输入:无**输出:无**说明:************************************************/voidLCD_Init(void){WriteCOMDATA(0x01,0);Delay(500);WriteCOMDATA(0x38,0);Delay(10);WriteCOMDATA(0x06,0);Delay(10);WriteCOMDATA(0x0c,0);Delay(10);}/**************************************************函数名称:voidWriteChar(ucharRow,ucharCol,ucharNum,uchar*pBuffer)**函数功能:在任意位置写指定个字符**输入:Row:要写字符所在行,只能为1或2;Col:要写字符所在列,只能为0---15Num:要写字符个数pbuffer:要写字符首地址**输出:无**说明:************************************************/voidWriteChar(ucharRow,ucharCol,ucharNum,uchar*pBuffer){uchari;if(Row==1)Row=0x80+Col;elseRow=0xC0+Col;WriteCOMDATA(Row,0);for(i=Num;i!=0;i--){WriteCOMDATA(*pBuffer,1);pBuffer++;}}#endif#include"delay.h"//添加延时函数头文献#includesbitCS=P1^2;sbitClk=P1^1;sbitDATI=P1^0;sbitDATO=P1^0;/****************************************************************************函数功能:AD转换子程序入口参数:CH出口参数:dat****************************************************************************/unsignedcharadc0832(unsignedcharCH){unsignedchardat=0x00;//AD值unsignedchari,test,adval;adval=0x00;test=0x00;Clk=0;//初始化DATI=1;_nop_();CS=0;_nop_();Clk=1;_nop_();if(CH==0x00)//通道选取{Clk=0;DATI=1;//通道0第一位_nop_();Clk=1;_nop_();Clk=0;DATI=0;//通道0第二位_nop_();Clk=1;_nop_();}else{Clk=0;DATI=1;//通道1第一位_nop_();Clk=1;_nop_();Clk=0;DATI=1;//通道1第二位_nop_();Clk=1;_nop_();}Clk=0;DATI=1;for(i=0;i<8;i++)//读取前8位值{_nop_();adval<<=1;Clk=1;_nop_();Clk=0;if(DATO)adval|=0x01;elseadval|=0x00;}for(i=0;i<8;i++)//读取后8位值{test>>=1;if(DATO)test|=0x80;elsetest|=0x00;_nop_();Clk=1;_nop_();Clk=0;}if(adval==test)//比较前8位与后8位值,如果不相似舍去。若始终浮现显示为零,请将该行去掉dat=test;_nop_();CS=1;//释放ADC0832DATO=1;Clk=1;returndat;}#include"delay.h"sbitv_led=P3^2;uintcount_100us;/**************************************************函数名称:Init_Timer0(void)**函数功能:定期器0初始化子程序**输入:无**输出:无**说明:对定期器0进行初始化模式116位定期器0~65536************************************************/voidInit_Timer0(void)//定期器初始化子程序{TMOD|=0x01;//使用模式1,16位定期器,使用"|"符号可以在使用各种定期器时不受影响TH0=0xFF;//定期器赋初值TL0=0xA4;ET0=1;//使能定期器中断TR0=1;//打开定期器EA=1;//打开总中断}/**************************************************函数名称:Timer0_isr(void)interrupt1using1**函数功能:定期器中断程序**输入:无**输出:无**说明:定期器计数到65536溢出执行中断函数定期器重新赋值及状态批示灯取反************************************************///voidTimer0_isr(void)interrupt1using1//{//TH0=0xFF;//重新赋值//TL0=0xA4;//count_100us++;//if(count_100us<30)TEST=0;//elseif(count_100us<90)TEST=1;//elsecount_100us=0;////TEST=~TEST;//状态批示灯取反//}/*************************************************文献功能:延时函数头文献*使用阐明:在需要使用延时函数时添加此头文献“delay.h”************************************************/#ifndef__DELAY_H__#define__DELAY_H__#include//#include#defineucharunsignedchar#defineuintunsignedint/**************************************************函数名称:Delay(uintT)**函数功能:延时函数**输入:T--延时倍数大小--0~65535**输出:无**说明:************************************************/voidDelay(uintT){uchari;for(T;T>0;T--)for(i=200;i>0;i--);}#endif
本文档为【一种基于51单片机的粉尘监测系统的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_704284
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:0
分类:建筑/施工
上传时间:2019-11-18
浏览量:48