首页 室内有毒气体的检测本科毕业设计(论文)

室内有毒气体的检测本科毕业设计(论文)

举报
开通vip

室内有毒气体的检测本科毕业设计(论文) 本科毕业设计(论文) 题 目:室内有毒气体的检测装置设计 10 毕业论文(设计)原创性声明 本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期:...

室内有毒气体的检测本科毕业设计(论文)
本科毕业设计( 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 ) 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目:室内有毒气体的检测装置设计 10 毕业论文(设计)原创性声明 本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明 本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。   作者签名: 指导教师签名: 日期: 日期: 注 意 事 项 1.设计(论文)的内容包括: 1)封面(按教务处制定的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 封面格式制作) 2)原创性声明 3)中文摘要(300字左右)、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论)、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画 3)毕业论文须用A4单面打印,论文50页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订 3)其它 摘 要 随着人类的科技进步,人们的生活质量也不断提高,但是随之而来的也有不利的一面。家庭中,煤气、天然气的泄漏将在短时间内产生大量一氧化碳和甲烷,危及人生安全。对一氧化碳等有毒气体检测仪表的研究和开发也一直是人们关注的问题。 本系统利用STC12C5A60S2单片机做核心控制模块,利用MQ-7一氧化碳传感器、MQ-4天然气传感器和MQ-2烟雾传感器,实时监控一氧化碳、甲烷和烟雾的浓度变化,如果某处的有毒气体浓度过高,系统将发出声音报警,提醒人们及时抢险。本系统可用于家庭环境,也适用于工业环境。 由于单片机成本低廉,自动控制功能比较强大,运行稳定,环境适应性好,所以本系统采用单片机做控制的核心元件。 MQ-7、MQ-4、MQ-2一氧化碳传感器、天然气传感器、烟雾传感器的灵敏度高;长寿命,低成本;简单的驱动电路即可。因此,很适用于家庭的检测。 数码管能清晰的显示该环境下各个气体的浓度,即使在光线较暗时,所以选用液晶屏做显示模块。 本文主要叙述了基于单片机的有毒气体检测系统设计的全过程,包括硬件电路设计、软件设计和实物制作。 关键词 一氧化碳;甲烷;单片机;检测;报警 THE TOXIC GAS DETECTION IN CHAMBER Student :Li Dong-jie Teacher :Chen xiao-qin Abstract:With the progress of human technology, the quality of life of the people, but the attendant downside. In family, gas, natural gas leak will produce large amounts of carbon monoxide and methane in a short period of time, life-threatening situation. The research and development of carbon monoxide and other toxic gas detection instruments has also been an issue of concern. The system uses STC12C5A60S2 MCU core control module MQ-7 carbon monoxide sensor to detect carbon monoxide, MQ-4 gas sensor MQ-2 smoke sensors. Real-time monitoring of changes in the concentration of carbon monoxide, methane and smoke, if somewhere toxic gas concentration is too high, the system will sound alarm to remind people to timely rescue. The system can be used in the home environment, but also for industrial environments. Low-cost single-chip automatic control function is more powerful, stable, good environmental adaptability, the system uses the core components of the microcontroller control. MQ-7, MQ-4, MQ-2 carbon monoxide sensor, gas sensor, smoke sensor sensitivity; long-life, low-cost; simple drive circuit can be. Therefore, it is suitable for the detection of the family. The clear digital tube display gas concentrations in the environment, even in low light, so the selection is done on the LCD display module. This paper describes the toxic gas detection system based on single chip design, including hardware design, software design and physical production. Keywords Carbon monoxide; methane; MCU; detection; alarm 目次 摘 要 1 Abstract 第1章 绪论 2 1.1 课题研究背景及意义 2 1.2 国内外研究现状 2 1.3 本文主要内容及章节安排 2 1.4 本章小结 2 第2章 硬件系统设计 2 2.1 气体检测的原理 2 2.2 硬件总体设计 2 2.3 单片机的最小系统 2 2.3.1 单片机介绍 2 2.4 传感器介绍 2 2.4.1 气敏传感器的重要性 2 2.4.2 MQ-7一氧化碳传感器介绍 2 2.4.3 线性化、放大输出电路 2 2.4.4 MQ-7一氧化碳传感器模块 2 2.4.5 MQ-2烟雾传感器模块 2 2.4.6 MQ-4 天然气传感器介绍 2 2.5 显示电路 2 2.6 声音报警电路 2 2.7 整体硬件原理图及PCB图 2 2.8 本章小结 2 第3章 软件系统设计 2 3.1 软件应用开发平台介绍 2 3.2 软件总体设计思想 2 3.3 比较判断函数 2 3.4 显示报警函数 2 3.5 声音报警函数 2 3.6 本章小结 2 第4章 硬件和软件的调试 2 4.1 软件的调试 2 4.2 室内有毒气体的检测装置功能测试 2 第5章 总结 2 致谢 2 参考文献 2 附 录 2 第1章 绪论 1.1 课题研究背景及意义 随着石油化学工业的发展,易燃、易爆、有毒气体的种类和应用范围都得到了增加。这些气体在生产、运输、使用过程中一旦发生泄漏,将会引发中毒、火灾甚至爆炸事故,严重危害人民的生命和财产安全。由于气体本身存在的扩散性,发生泄漏之后,在外部风力和内部浓度梯度的作用下,气体会沿地表面扩散,在事故现场形成燃烧爆炸或毒害危险区,扩大危害区域。例如,1995 年 7 月,四川省成都市化工总厂液氯车间发生氯气泄漏,当场造成 3 人死亡, 6 人受伤,仅约一小时左右,市区范围数十平方公里范围内都能闻到刺激性的氯气味。因此,这类事故具有突发性强、扩散迅速、救援难度大、危害范围广等特点。一旦发生气体泄漏事故,必须尽快采取相应措施进行处置,才能将事故损失降低到最低水平。及时可靠地探测空气中某些气体的含量,及时采取有效措施进行补救,采取正确的处置方法,减少泄漏引发的事故,是避免造成重大财产和人员伤亡的必要条件。这就对气体的检测和监测设备提出了较高的要求。作为一种重要的气体探测器,气体传感器近年来得到了很大的发展。气体传感器的发展。 危险化学品要加强安全管理,完善安全措施、控制事故隐患。但是,不可能达到绝对安全,仍然会出现万有一失的情况。因此,事故隐患的检测报警,在危险化学品场所有害气体或液体(蒸汽)检测报警,是非常必要的。对避免和控制事故具有重要意义。 有害气体检测报警仪是专用的安全卫生检测仪,用来检测化学品作业场所或设备内部空气中的可燃或有毒气体的含量并超限报警。危险化学品场所有害气体检测,主要有以下几种情况: (1)泄漏检测:设备管道有害气体或液体(蒸汽)现场所泄漏检测报警,设备管道运行检漏。 (2)检修检测:设备检修置换后检测残留有害气体或液体(蒸汽),特别是动火前检测更为重要。 (3)应急检测:生产现场出现异常情况或者处理事故时,为了安全和卫生要对有害气体或液体(蒸汽)进行检测。 (4)进入检测:工作人员进入有害物质隔离操作间,进入危险场所的下水沟、电缆沟或设备内操作时,要检测有害气体或液体蒸汽。 (5)巡回检测:安全卫生检查时,要检测有害气体或液体蒸汽。 随着人类社会的进步、生产的发展,人们的生活水平不断提高,随之带来了环境空气污染问题。工厂排放的废气、烟道氧、汽车排放废气、内燃机等排放气体对空气环境造成的污染日益严重。一氧化碳虽然不会使酸雨现象严重,但是对人们的身体健康有影响。一氧化碳是一种无色、无味的气体,它与血液中的血红素结合的能力是氧的 240 倍,它与血红素形成稳定的络合物,使血红蛋白丧失了输送氧气的能力,从而导致组织低氧症,甚至死亡。一氧化碳浓度的高低是 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 空气质量好坏的重要指标之一,也是工厂、煤矿井下是否发生自燃火灾的重要标志之一。为了保证人们身体健康和环境洁净,世界各国都纷纷致力于防止空气污染的产生。国家工业卫生标准规定,生产现场一氧化碳浓度不允许超过 50ppm 。我国环境保护大气污染监测和工厂矿井中都要求有连续、自动化的现场检测仪[1]。 1.2 国内外研究现状 在应用方面,目前最广泛的是可燃性气体气敏元件传感器,已普及应用于气体泄漏检测和监控,从工厂企业到居民家庭,应用十分广泛。气体检测技术与计算机技术相结合,实现了智能化、多功能化。美国工业科学公司(ISC)一台携带式气体监控仪可实现4种气体监测,采用了统一的软件,只需要换气体传感器,即可实现对特定气体监测。美国国际传感器技术(IST)公司应用一种“MegaCas"传感器和微程序控制单元,可检测100种以上毒性气体和可燃性气体,通过其“气体检索”功能扫描,能很快确定是哪一种气体。 (1)气体传感器向低功耗、多功能、集成化方向发展 国外气体传感器发展很快,一方面是由于人们安全意识增强,对环境安全性和生活舒适性要求提高;另一方面是由于传感器市场增长受到政府安全法规的推动。因此,国外气体传感器技术得到了较快发展,据有关统计预测,美国1996年—2002年气体传感器年均增长率为(27~30)%。 目前,气体传感器的发展趋势集中表现为:一是提高灵敏度和工作性能,降低功耗和成本,缩小尺寸,简化电路,与应用整机相结合,这也是气体传感器一直追求的目标。如日本费加罗公司推出了检测(0.1~10)×10-6硫化氢低功耗气体传感器,美国IST提供了寿命达10年以上的气体传感器,美国FirstAlert公司推出了生物模拟型(光化反应型)低功耗CO气体传感器等。二是增强可靠性,实现元件和应用电路集成化,多功能化,发展MEMS技术,发展现场适用的变送器和智能型传感器。如美国GeneralMonitors公司在传感器中嵌入微处理器,使气体传感器具有控制校准和监视故障状况功能,实现了智能化;还有前已涉及的美国IST公司的具有微处理器的“MegaGas”传感器实现了智能化、多功能化。 (2)国内现状与差距 气敏元件传感器作为新型敏感元件传感器在国家列为重点支持发展的情况下,国内已有一定的基础。其现状是:烧结型气敏元件仍是生产的主流,占总量90%以上;接触燃绕式气敏元件已具备了生产基础和能力;电化学气体传感器有了试制产品;在工艺方面引入了表面掺杂、表面覆膜以及制作表面催化反应层和修隔离层等工艺,使烧结型元件由广谱性气敏发展成选择性气敏;在结构方面研制了补偿复合结构、组合差动结构以及集成化阵列结构;新研究开发的32OAl气敏材料、石英晶体和有机半导体等也开始用于气敏材料;低功耗气敏元件(如一氧化碳,甲烷等气敏元件)已从产品研究进入中试;国内气敏元件传感器产量已超过“九五”初期的400万支。产量超过20万支的主要厂家有5家,黑龙江敏感集团、太原电子厂、云南春光器材厂、天津费加罗公司(合资)、北京电子管厂(特种电器厂),其中前四家都超过100万支,据行业协会统计,1998年全国气敏元件总产量已超过600万支。 总的看来,我国气敏元件传感器及其应用技术有了较快进展,但与国外先进水平仍有较大的差距,主要是产品制造技术、产业化及应用等方面的差距,与日本比较仍要落后10年[2]。 1.3 本文主要内容及章节安排 本文主要讲述基于单片机的毒气检测系统的设计全过程,包括硬件电路设计、软件设计、电脑仿真和实物制作。 论文具体章节安排如下: 第1章介绍了本次课题的课题背景、国内外研究现状、课题的研究意义。 第2章主要讲述了系统的硬件设计,包括最小系统、显示模块、声音报警模块和传感器模块。 第3章主要介绍了此次设计的软件部分,包括主程序、时钟产生程序; 1.4 本章小结 本章主要叙述了该课题的意义、国内外的研究现状以及对本设计的任务安排。 第2章 硬件系统设计 2.1 气体检测的原理 气体浓度检测系统的原理框图如图2-1所示。检测气体的浓度依赖于气体检测变送器,传感器是其核心部分,按照检测原理的不同,主要分为金属氧化物半导体式传感器、催化燃烧式传感器、定电位电解式气体传感器、迦伐尼电池式氧气传感器、红外式传感器、PID光离子化传感器、等以下简单概述各种传感器的原理及特点。 数 字 显 示 电 路 模 数 转 换 电 路 开 关 控 制 电 路 信 号 调 理 电 路 传 感 器 报 警 电 路 图 2-1 原理框图 金属氧化物半导体式传感器 金属氧化物半导体式传感器利用被测气体的吸附作用,改变半导体的电导率,通过电流变化的比较,激发报警电路。由于半导体式传感器测量时受环境影响较大,输出线形不稳定。金属氧化物半导体式传感器,因其反应十分灵敏,故目前广泛使用的领域为测量气体的微漏现象。下图为,金属氧化物半导体式传感器的外形图。 图2-2 金属氧化物半导体式传感器  催化燃烧式传感器 催化燃烧式传感器原理是目前最广泛使用的检测可燃气体的原理之一,具有输出信号线形好、指数可靠、价格便宜、无与其他非可燃气体的交叉干扰等特点。催化燃烧式传感器采用惠斯通电桥原理,感应电阻与环境中的可燃气体发生无焰燃烧,使温度使感应电阻的阻值发生变化,打破电桥平衡,使之输出稳定的电流信号,再经过后期电路的放大、稳定和处理最终显示可靠的数值。下图为,催化燃烧型传感器的外形图: 图2-3  催化燃烧式传感器  定电位电解式气体传感器 定电位电解式传感器是目前测毒类现场最广泛使用的一种技术,在此方面国外技术领先,因此此类传感器大都依赖进口。定电位电解式气体传感器的结构:在一个塑料制成的筒状池体内,安装工作电极、对电极和参比电极,在电极之间充满电解液,由多孔四氟乙烯做成的隔膜,在顶部封装。前置放大器与传感器电极的连接,在电极之间施加了一定的电位,使传感器处于工作状态。气体与的电解质内的工作电极发生氧化或还原反应,在对电极发生还原或氧化反应,电极的平衡电位发生变化,变化值与气体浓度成正比。下图为,定位电解式气体传感器的外形图: 图2-4  定电位电解式气体传感器  迦伐尼电池式氧气传感器 隔膜迦伐尼电池式氧气传感器的结构:在塑料容器的一面装有对氧气透过性良好的、厚10~30μm的聚四氟乙烯透气膜,在其容器内侧紧粘着贵金属(铂、黄金、银等)阴电极,在容器的另一面内侧或容器的空余部分形成阳极(用铅、镉等离子化倾向大的金属)。用氢氧化钾。氧气在通过电解质时在阴阳极发生氧化还原反应,使阳极金属离子化,释放出电子,电流的大小与氧气的多少成正比,由于整个反应中阳极金属有消耗,所以传感器需要定期更换。目前国内技术已日趋成熟,完全可以国产化此类传感器。下图为,迦伐尼电池式氧气传感器的外形理图: 图2-5迦伐尼电池式氧气传感器 红外式传感器 红外式传感器利用各种元素对某个特定波长的吸收原理,具有抗中毒性好,反应灵敏,对大多数碳氢化合物都有反应。但结构复杂,成本高。下图为,红外式温度传感器的外形图。 图2-6 红外式温度传感器  PID光离子化气体传感器 PID由紫外灯光源和离子室等主要部分构成,在离子室有正负电极,形成电场,待测气体在紫外灯的照射下,离子化,生成正负离子,在电极间形成电流,经放大输出信号。PID具有灵敏度高,无中毒问题,安全可靠等优点。下图为,PID光离子化气体传感器的外形图: 图2-7 PID光离子化气体传感器 2.2 硬件总体设计 有毒气体的检测装置具有单片机应用系统的三个层次。其中以STC12C5A60S2单片机为核心构成单片机系统。在此系统中,检测信号进入单片机进行运算处理。为了更好的理清设计思路,将整个系统细分为三部分加以设计说明。整个报警器由三个部分组成,分为三大模块:浓度检测模块、主控模块和报警模块。在本次设计中,使用的核心器件是单片机和各种气体的传感器。为了保证整个系统可靠的运行,设计中必须明确三大部分的实际联系:以单片机为中心,其他各大模块一一展开。其中,浓度检测及显示模块所实现的功能是将气体的浓度值转换成为单片机能够处理的数字信号,并且浓度值显示出来:主控模块以单片机为主,对其他模块的运行进行控制;报警模块是此系统的外部电路,它的功能是实现报警。系统框图如图2-8所示。 MQ-7 传感器 单片机 内部 AD 转换 显示报警 MQ-2 传感器 MQ-4 传感器 声音报警 图2-8 硬件总体设计 下面就对各个模块的功能和实现形式做简单介绍 (1)气体浓度检测模块 有毒气体报警器主要采用高稳定气体传感器MQ-7、MQ-4、MQ-2检测房间气体浓度,检测结果送STC12C5A60S2中进行转换后,将得到的数字信号进行分析处理。 (2)主控模块 主控模块即单片机最小系统。STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱监测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。针对电机控制,强干扰场合。其单片机内部自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。 (3)报警模块 此模块主要有蜂鸣器、液晶显示频组成,在气体浓度过大,超过安全值时,蜂鸣器工作,提供声音报警服务;同时,数码管显示报警的传感器号。 到此为止,本系统的三大模块功能和设计思路已经确立,下文将介绍整个硬件系统的详细设计过程。并且给出设计电路。 2.3 单片机的最小系统 单片机最小系统原理图如下: 图2-9 单片机最小系统原理图 单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。 2.3.1 单片机介绍 STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。  主要特性有: 1. 增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051; 2.  2.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);  3.工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz;  4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节;  5.片上集成1280字节RAM;  6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;  7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器  可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;  8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM); 9. 看门狗;  10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地) 11.外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;  12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;  13.共4个16位定时器   两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器   做串行通讯的波特率发生器   再加上2路PCA模块可再实现2个16位定时器;  14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;  15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器设置到P4.3);  16. PWM(2路)/PCA(可编程计数器阵列,2路): ——也可用来当2路D/A使用 ——也可用来再实现2个定时器  ——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);  17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次) 18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;  19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);  20.工作温度范围:-40 - +85℃(工业级) / 0 - 75℃(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48  I/O口不够时,可用2到3根普通I/O口线外接  74HC164/165/595(均可级联)来扩展I/O口,  还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口[3]。 2.4 传感器介绍 本设计的主要用到的传感器有MQ-7一氧化碳传感器、MQ-2烟雾传感器、MQ-4天然气传感器。下面,分别介绍这三个传感器的性能特性。由于CO的危险性最强,也是最容易产生的危险气体,所以详细的介绍一氧化碳传感器。 2.4.1 气敏传感器的重要性 1)气敏传感器是一种将检测到的气体成分和浓度转换为电信号的传感 器。在检测和自动控制系统中,传感器处于研究对象与测控系统的接口位 置,是感知、获取与检测信息的窗口,对系统的功能起了决定性的作用。 因此,只有根据系统要求,选择合适的传感器,才能得到精确可靠的信号 处理和控制电路。 2)气敏传感器的工作原理 半导体气敏传感器是利用半导体气敏元件同气体接触,造成半导体性 质变化来检测特定气体浓度的。设计中选用 N 型半导体气敏传感器 MQ- N7 对一氧化碳浓度进行检测。平时,气敏元件的 A、B 两极间电阻很大, 当有气体泄漏时,其两极间的电阻值随接触的气体浓度的不同而发生变化, 气敏传感器的特性曲线如图2-7所示。气体浓度越高极间电阻值越小,而 气敏元件负载两端的电压则会增大。如此,气敏元件就将气体的浓度转化 成了电压信号。为了加快气敏管的反应速度,需通过热丝对敏感元件进行 加热。 图2-10 气敏传感器的特性曲线 3)气敏元件主要性能参数 ⑴ 电阻R0和Rs 固有电阻R0表示气敏元件在正常空气条件下的阻值;而工作电阻Rs代 表气敏元件在一定浓度的检测气体中的阻值。实验发现,工作电阻与各种 检测气体浓度C都具有如下关系: ( 2-1 ) 式中,m、n是由传感器元件、测量气体种类等因素决定的常数,且m=1 。 ⑵ 灵敏度:气敏元件的灵敏度 k 通常用气敏元件在一定浓度的检测气体中的电阻与正常空气中的电阻值之比来表示: ( 2-2 ) ⑶ 响应时间tres:把从元件接触一定浓度的被测气体开始到其阻值达到 该浓度下稳定阻值的时间定义为响应时间。 ⑷ 恢复时间trsc:把气敏元件从脱离检测气体开始,到其阻值恢复到正 常空气中阻值的时间定义为恢复时间[4]。 2.4.2 MQ-7一氧化碳传感器介绍 选择一氧化碳传感器主要考虑以下的性能指标: (1)输入和输出之间成比例,直线性好、灵敏度高、分辨力强、测量范围宽。 (2)滞后、漂移误差小 (3)动态特性好 (4)功耗小 (5)时间老化特性优良 (6)与被测体匹配良好,既不因接入传感器而使得被测对象受到影响,受被测量之外的影响小。 (7)体积小、重量轻、价格低廉。 (8)故障率低,易于校准和维护。 (9)由于传感元件的输出信号一边比较小,为了便于能够驱动控制电路,在传感器电路中还应该包括放大器。[2] 鉴于以上选择要点,本文中用到的传感器必须具备良好的测量效果、功耗小、动态特性良好和体积小、重量轻、价格低廉等几个主要特性。为此我们选择了MQ-7系列传感器。 半导体一氧化碳传感器MQ-7所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器。 主要特点及应用: · 对一氧化碳的高灵敏度。 · 长寿命,低成本。 · 简单的驱动电路即可 · 家用气体泄漏报警器 · 工业用一氧化碳报警器 · 便携式气体检测器 MQ-7气敏元件的结构和外形如图2-7所示,由微型Al2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,为了改善传感器的选择性,传感器气室用活性炭过滤层与外界隔开。加热器为气敏元件提供了必要的工作条件。封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。 图2-11 MQ-7 实物图 MQ-7型气敏元件的主要性能参数见表2-1 表2-1 灵 敏 度 分 辨 率 响 应 时 间(s) 恢 复 时 间(s) 测 试 条 件 极 间 电 压 UAB 热 丝 电 压 负 载 电 阻 k≥3 S≥5 ≤10 ≤60 0~10V 5V 2KΩ 图2-12 气敏传感器的测量电路 MQ-7型气敏元件在应用中大多采用单电源供电,其电路如图,2-8。 其中,Vd是热丝加热电压,Vd是工作电压,Rs是气敏元件的电阻,R1是负载电阻,V1是传感器的输出电压。 2.4.3 线性化、放大输出电路 1 . 线性化及放大输出电路的作用 气敏元件MQ-7的输出电压与浓度呈非线性关系,而且输出电压信号非常小,不利于检测。因此,要采用线性补偿电路及放大电路对电压信号进行线性化补偿和放大处理。 2 . 线性化电路 设线性化电路的输出电压为V2,整机灵敏度为S,则根据线性化要求,气 体浓度C与输出电压V2的关系为: (2-3) 式(2-1)也可以转化为下式: (2-4) 设 RL<< Rs R , 则测量电路的输出电压为: (2-5) 联立式(3-3)和(3-5)可以得到线性化电路的输出-输入关系应为: (2-6) 上式为乘方运算关系,也就是说,若线性化电路具有上式的传递函数即可获得浓度与电压的线性关系。 2.4.4 MQ-7一氧化碳传感器模块 MQ-7气体传感器的气敏材料,是用在清洁空气中电导率低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0 V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。当其浓度超过30ppm会开始对人体产生较大的危害,故其门限值设定为30ppm。 MQ-7传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体, 是一款适合多种应用的低成本传感器。 其结构和外形如图: 2-13 MQ-7一氧化碳传感器外形图 图 2-14 MQ-7一氧化碳传感器结构 下图为 MQ-7一氧化碳传感器模块实物图: 图2-15 MQ-7一氧化碳传感器模块实物图 简要说明: 尺寸:长32mm *宽22mm *高27mm 主要芯片:LM393、MQ-7气体传感器 工作电压:直流5伏 特点: (1)具有信号输出指示。 (2)双路信号输出(模拟量输出及TTL电平输出) (3)TTL输出有效(信号为低电平。(当输出低电平时信号灯亮,可直接接单片机) (4)模拟量输出0~5V电压,浓度越高电压越高。 (5)对一氧化碳具有很高的灵敏度和良好的选择性。 (6)具有长期的使用寿命和可靠的稳定性 其原理图如下: 图2-16 MQ-7一氧化碳传感器模块电路图 2.4.5 MQ-2烟雾传感器模块 MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。该传感器对丙烷的灵敏度较高,当人体吸入高于10%的丙烷的时候,便会出现不适感,在较高浓度的丙烷、丁烷混合气体中毒时,有头痛、头晕、兴奋或嗜睡、恶心、呕吐、流涎、血压轻度降低、脉缓、神经反射减弱、无病理反射;严重者出现麻醉状态、意识丧失;有的发生继发性肺炎。故其门限值设定为10ppm。 MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。其结构和外形如图: 图2-17 MQ-2烟雾传感器外形图 图2-18 MQ-2气体传感器结构图 下图为 MQ-2气体传感器实物图。 图2-19 MQ-2气体传感器模块实物图 简要说明: 尺寸:长32mm *宽22mm *高27mm 长X宽X高 主要芯片:LM393、ZYMQ-2气体传感器 工作电压:直流5伏 特点: (1)具有信号输出指示。 (2)双路信号输出(模拟量输出及TTL电平输出) (3)TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机) (4)模拟量输出0~5V电压,浓度越高电压越高。 (5)对液化气,天然气,城市煤气有较好的灵敏度。 (6)具有长期的使用寿命和可靠的稳定性 (7)快速的响应恢复特性 其原理图如下: 图2-20 MQ-2气体传感器模块电路图 2.4.6 MQ-4 天然气传感器介绍 MQ-4气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 天然气的主要成分是甲烷,当空气中甲烷达25%-30%时,可引起头痛、头晕、乏力、注意力不集中、呼吸和心跳加速、共济失调。若不及时远离,可致窒息死亡。故其门限值设定为20ppm。 MQ-4气体传感器对甲烷的灵敏度高,对丙烷、丁烷也有较好的灵敏度。这种传感器可检测多种可燃性气体,特别是天然气,是一款适合多种应用的低成本传感器。其结构和外形如图: 图2-21 MQ-4烟雾传感器外形图 图2-22 MQ-4气体传感器结构图 下图为 MQ-4气体传感器实物图。 图2-23 MQ-4气体传感器模块实物图 简要说明 一、尺寸:32mm X22mm X27mm   长X宽X高 二、主要芯片:LM393、ZYMQ-4气体传感器 三、工作电压:直流5伏 四、特点: 1、具有信号输出指示。 2、双路信号输出(模拟量输出及TTL电平输出)。 3、TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机)。              4、模拟量输出0~5V电压,浓度越高电压越高。 5、对甲烷,天然气有很高的灵敏度。 6、具有长期的使用寿命和可靠的稳定性。 7、快速的响应恢复特性。 其原理图如下: 图2-24 MQ-4气体传感器模块电路图 2.5 显示电路 本设计使用的显示部分为LCD1206液晶显示屏,其显示原理为:线段的显示,点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。 LCD1602主要技术参数: 显示容量:16×2个字符  芯片工作电压:4.5—5.5V  工作电流:2.0mA(5.0V)  模块最佳工作电压:5.0V  字符尺寸:2.95×4.35(W×H)mm 1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图 图2-25 两种不同的1602LCD外形图 表2-2 1602LCD资料 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 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 BLK 背光源负极 下图为本设计所用液晶屏的电路原理图: 图2-26 1206液晶显示屏原理图 2.6 声音报警电路 声音报警电路原理图如下: 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。故通过一个三极管来放大驱动蜂鸣器。当某路或多路传感器报警时,蜂鸣器发出声音报警信号。 图 2-27 声音报警电路原理图 2.7 整体硬件原理图及PCB图 下图为整体原理图: 图2-28 整体原理图 图2-29 整体PCB板图 2.8 本章小结 本章详细介绍了本设计所用到的气体传感器模块,以及基于单片机的毒气检测系统的硬件电路设计,包括各个模块的工作原理,各个模块与单片机的链接。然后,将基于已有的硬件电路编写软件程序,完成系统的整体设计。 第3章 软件系统设计 3.1 软件应用开发平台介绍 本课题将用到两款软件: Keil和STC-ISP,下面简单介绍这两款软件。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,通过一个集成开发环境(uVision)将这些部分组合在一起。下图为,Keil 的操作界面: 图3-1 Keil软件的操作界面 STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。下图为该程序的操作界面: 图3-2 下载软件的操作界面 3.2 软件总体设计思想 基于已有的电路,将采用C语言编写程序。 总体思路是首先定义相关的硬件接口,然后进行初始化,包括AD控制端和定时器的初始化。初始化后开始无限循环,以保证24小时全天候的检测一氧化碳的浓度,及时发现险情并报警。无限循环中将依次调用AD转换函数、比较判断函数、声音报警函数和显示报警函数。其中AD转换部分是单片机的A/D转换器来实现[6]。 主程序流程图如下: 开始 AD 初始化 定时器初始化 CO-ref=30 CH-ref=20 M-ref=10 检测相应的气体 调用 AD 函数 调用比较判断函数 调用声音报警函数 调用显示报警函数 显示结果 图 3-3 主函数流程图 3.3 比较判断函数 比较判断函数是将AD转换得到的数据与门限值做比较,然后将比较的结果,在显示电路上显示出来。 开始 是否超限 液晶屏显示正常 液晶屏显示报警 Y N 结束 图3-4 比较判断流程图 3.4 显示报警函数 显示报警电路根据判断所收数据显示相应的气体浓度,并且警示浓度。 流程图如下: 开始 将气体的浓度显示出来并警示浓度超标 结束 图3-5显示报警流程图 3.5 声音报警函数 声音报警函数,如果气体的浓度超过了对人体的危害的浓度就报警,否则就停止报警。 流程图如下 开始 Flag=1 Y N 蜂鸣器报警 蜂鸣器关闭 结束 图3-6 声音报警函数 3.6 本章小结 本章主要介绍了软件系统的整体设计,以及各个功能模块的子程序的设计思路。软件就像整个系统的灵魂,担当这控制整个系统稳定、正常的工作的任务。而且,由于程序采用C语言编写,所以可移植性好,仅需更改软件中硬件接口部分。 第4章 硬件和软件的调试 4.1 软件的调试 打开keil软件,打开程序,检查后单击编译按键,如果未发现错误和警告则说明程序能够正常运行。 编译结果如图所示: 图4-1 软件的调试结果 程序没有出现错误,故运行正常。接下来将程序下载到单片机中,看是否可以实现功能。 4.2 室内有毒气体的检测装置功能测试 将开关打开以后,本装置会测出所在空间的一氧化碳、天然气和烟雾的浓度。人体在这些气体高于30ppm的时候,待上4-6个小时以上,便会出现中毒的反应,所以,当有毒气体的浓度高于30ppm的时候,系统会显示出有毒气体的浓度,并自动报警。警示人们抢救。 下图为本装置的测试结果: 1)正常情况下所显示的结果: 图 4-2 系统正常运行时的实物图 在正常情况下,液晶屏上显示空气中含有所测气体的浓度。一切浓度正常。 2)当一氧化碳浓度超过30ppm以后的显示结果。 图4-3 有毒气体检测超标情况下实物显示图 香烟中含有尼古丁、一氧化碳等有毒物质,在点燃一根烟的情况下,将传感器放到点燃的香烟上面,会发现一氧化碳的浓度已经高于30ppm,液晶屏上,会显示出气体的浓度,并且警示该气体已经超标。与此同时,蜂鸣器也会报警,警示人们,某种气体的浓度已超标。 第5章 总结 本次设计的任务是实时监测室内有毒害气体、易燃易爆气体浓度,如果实测浓度超限,则及时进行报警。本次设计使用了低电压、高性能STC12C5A60S2 单片机作为控制核心,总体电路具有运行速度快,稳定,结构简单,散热迅速等特点,采用模块化设计,这样不仅有利于系统硬件的设计和调试,同时也方便对系统进行更改和系统硬件的升级。 通过对单片机及各种传感器模块的了解与学习,我对其工作原理以及工作方法有了更深层次的认识和理解。为了监测室内有害气体的浓度,有害气体传感器有着不可取代的作用,通过对有害气体传感器MQ-2,MQ-7,MQ-4监测有害气体的工作方式的深入研究,设计出了以单片机为系统核心的室内有害气体监测系统,并完成了硬件设计和软件设计,通过测试表明系统工作良好,能够及时的告知使用者是否应该采取开窗通气等措施。同时,通过对51单片机的硬件安装和软件编写等操作,使我更加熟悉单片机的结构及工作方式,并且更加熟悉硬件的安装流程及软件的编写规范和语法,对我以后参加工作有很大的帮助。 本次设计涉及到的知识面较多,由于本人理论水平和实践经验有限,加上时间的限制,本次设计还存在一些有待改进和优化的地方: 由于时间问题,在详细测量有害气体浓度并显示出来这一方面还有待研究。 由于软件编程方面经验尚浅,程序的规范性和简练性也有待改进。 可以考虑将浓度监测系统与室内换气系统连接,这样就不仅做到了气体监测和警报,还做到了对有害气体及时处理,使整个室内监控系统更加完善。 致谢 本论文的研究与撰写工作是在陈小琴导师的关心和悉心指导下完成的。感谢各位老师同学朋友在我大学的最后学习阶段——毕业设计阶段给我的指导与帮助。从最初的选题、定题,到资料收集,程序的撰写,最终论文的写作与修改,到最后的论文定稿,各位老师给了我耐心的指导和无私的帮助,在此论文撰写过程中,要特别感谢我的导师陈小琴老师的指导与督促,同时感谢她的谅解与包容,在此表示衷心的谢意。 从开始接触课题到深入课题研究的过程中,我的朋友和老师在本次课题的研究方面都给予了我很大的帮助,同时感谢他们在电脑技术上的耐心指导与帮助,在我遇到困难的时候帮助我,在他们的支持与鼓励下,我才能得以顺利完成该论文。在此,向他们表示衷心的感谢! 最后,感谢各位老师为我提出的宝贵意见!感谢院校领导的亲切关怀! 参考文献 [1] 中华人民共和国国家技术监督局.GB/T 16127-1996 . 居室空气中甲醛的卫生标准.北京:中国标准出版社,1994-07-01 [2] 刘永华.建筑装修导致室内空气污染的研究[硕士学位论文],重庆:重庆大学,2004,1-1 [3] 郑郁正.单片机原理及运用.四川:四川大学出版社.2005.30-38 [4] 李萍.基于ARM的室内空气质量监测系统的设计[硕士学位论文],四川:西南交通大学,2010,2-2 [5] 电子基础教学实验中心.电子技术基础实验.四川:四川大学出版社.2005.148-149 [6] 谭浩强.C程序设计.北京:清华大学出版社.2005.7-7 [7] 刘润华 . 刘立山 . 模拟电子技术 . 山东:石油大学出版社 , 2001.297 ~ 312 [8] 董传岱 , 于云华 . 数字电子技术 . 山东:石油大学出版社 , 2001.278 ~ 282 [9] CMOS 数字集成电路特性及应用 . 北京:航天工业部六九一厂 , 1985 [10] 谢自美 . 电子线路设计 · 实验 · 测试 . 武汉:华中科技大学出版社 , 2000 [11] 周亦武 , 孙威娜 . 放大电路指南 . 福州:福建科学技术出版社 , 2004 [12] 王乃成 , 仲元昌 . 电子爱好者进阶读本 . 福州:福建科学技术出版社 , 2004 [13] 何希才 . 新型电子电路应用实例 . 北京:科学出版社 , 2005 [14] 姚福安,电子电路设计与实践济南:山东科学技术出版社 , 2001.168~170 [15] 陈卿,侯薇家电控制与检测用集成电路北京:中国计量出版社 . 2005.117~130 附 录 主程序: #include "stc.h" #include "func.h" #include "lcd1602.h" //sbit led=P1^7; //sbit B_up=P3^2; //sbit B_down=P3^3; unsigned char dis_buf[5]; unsigned char CO_dis_buf[5];//一氧化碳 unsigned char MO_dis_buf[5];//烟雾传感器 unsigned char CH_dis_buf[5];//甲烷 xdata double Vin1; xdata double Vin2; xdata double Vin3; xdata double CO; xdata double MO; xdata double CHH; xdata double CO_Ref; xdata double MO_Ref; xdata double CH_Ref; unsigned int G_N; unsigned int G_M; unsigned int led_M; void main () { //初始化 CO_dis_buf[4]='\0'; MO_dis_buf[4]='\0'; CH_dis_buf[4]='\0'; Vin1=0; Vin2=0; Vin3=0; CO_Ref=30.0; MO_Ref=30.0; CH_Ref=30.0; G_N=0; G_M=0; led_M=50; LCD1602_init(); InitADC(); //Init ADC sfr LCD_clear(); // LCD_write_str(2,0,"init ok!"); while(1) { AD1_value=GetADCResult(0); AD2_value=GetADCResult(1); AD3_value=GetADCResult(2); Vin1=AD1_value*5.0/1023; Vin2=AD2_value*5.0/1023; Vin3=AD3_value*5.0/1023; if(G_N%20==0) { G_N=0; CO=Vin2*100/5; LCD_write_str(0,0,"CO: %"); CO_dis_buf[0]=(int)CO*10/100+'0'; CO_dis_buf[1]=(int)CO*10%100/10+'0'; CO_dis_buf[2]='.'; CO_dis_buf[3]=(int)CO*10%10+'0'; LCD_write_str(3,0,CO_dis_buf); MO=Vin3*100/5; LCD_write_str(9,0,"M: %"); MO_dis_buf[0]=(int)MO*10/100+'0'; MO_dis_buf[1]=(int)MO*10%100/10+'0'; MO_dis_buf[2]='.'; MO_dis_buf[3]=(int)MO*10%10+'0'; LCD_write_str(11,0,MO_dis_buf); CHH=Vin1*100/5; LCD_write_str(0,1,"CH: %"); CH_dis_buf[0]=(int)CHH*10/100+'0'; CH_dis_buf[1]=(int)CHH*10%100/10+'0'; CH_dis_buf[2]='.'; CH_dis_buf[3]=(int)CHH*10%10+'0'; LCD_write_str(3,1,CH_dis_buf); } //----------------------------------------- if(CO>CO_Ref) { LCD_write_str(8,1,"CO!"); led_M=10; } else { LCD_write_str(8,1," "); led_M=50; } //-------------------------------------- if(MO>MO_Ref) { LCD_write_str(11,1,"M!"); led_M=10; } else { LCD_write_str(11,1," "); led_M=50; } //--------------------------------------- if(CHH>CH_Ref) { LCD_write_str(13,1,"CO!"); led_M=10; } else { LCD_write_str(13,1," "); led_M=50; } G_N++ ; G_M++; if(G_M%led_M==0) { G_M=0; } } } AD转换函数(fun.h): #include "stc.h" #include "intrins.h" #include "func.h" unsigned int AD1_value ; unsigned int AD2_value ; unsigned int AD3_value ; /*Declare SFR associated with the ADC */ //sfr ADC_CONTR = 0xBC; //ADC control register //sfr ADC_RES = 0xBD; //ADC high 8-bit result register sfr ADC_LOW2 = 0xBE; //ADC low 2-bit result register //sfr P1ASF = 0x9D; //P1 secondary function control register /*Define ADC operation const for ADC_CONTR*/ #define ADC_POWER 0x80 //ADC power control bit #define ADC_FLAG 0x10 //ADC complete flag #define ADC_START 0x08 //ADC start control bit #define ADC_SPEEDLL 0x00 //420 clocks #define ADC_SPEEDL 0x20 //280 clocks #define ADC_SPEEDH 0x40 //140 clocks #define ADC_SPEEDHH 0x60 //70 clocks void InitADC(); unsigned int GetADCResult(BYTE ch); void AD_Delay(WORD n); /*---------------------------- Get ADC result ----------------------------*/ unsigned int GetADCResult(BYTE ch) { unsigned int adc_data; ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START; _nop_(); //Must wait before inquiry _nop_(); _nop_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG));//Wait complete flag ADC_CONTR &= ~ADC_FLAG; //Close ADC //adc_data=ADC_RES; adc_data=(ADC_RES<<2)+ADC_LOW2; return adc_data; //Return ADC result } /*---------------------------- Initial ADC sfr ----------------------------*/ void InitADC() { AD1_value=0; AD2_value=0; AD3_value=0; P1ASF = 0x07; ADC_RES = 0; //Clear previous result ADC_CONTR = ADC_POWER | ADC_SPEEDLL; AD_Delay(2); //ADC power-on and delay } /*---------------------------- Software delay function ----------------------------*/ void AD_Delay(WORD n) { WORD x; while (n--) { x = 5000; while (x--); } } 液晶屏函数(lcd1602.h): #include "stc.h" #include "lcd1602.h" //typedef unsigned int uint //typedef unsigned char uchar //====延时子程序 void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } //====LCD忙检测 void lcd_busy(void) { while(P0&0x80) //读取忙标志位BF,BF=1则一直等待 { lcdrs=0; lcdrw=1; lcden=1; lcden=0; lcden=1; } lcden=0; } //====向LCD写指令 void write_com(uchar com) { lcd_busy(); lcdrs=0; lcdrw=0; P0=com; delay(5); lcden=1; delay(1); lcden=0; } //====向LCD写数据 void write_data(uchar date) { lcd_busy(); lcdrs=1; lcdrw=0; P0=date; delay(10); lcden=1; delay(1); lcden=0; } //-----------------------------------清屏-------------------------- void LCD_clear(void) { write_com(0x01); delay(5); } /*---------------写入字符串--------------------------------------*/ void LCD_write_str(unsigned char x,unsigned char y,unsigned char *s) { if (y == 0) { write_com(0x80 + x); } else { write_com(0xC0 + x); } while (*s) { write_data( *s); s ++; } } //--------------------------写入字符---------------------------- void LCD_write_char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) { write_com(0x80 + x); } else { write_com(0x80 +0x40+ x); } write_data( Data); } /*---------------------初始化函数-----------------------*/ //个人习惯,放在主函数里面 void LCD1602_init(void) { write_com(0x38); /*显示模式设置*/ delay(5); write_com(0x38); delay(5); write_com(0x38); delay(5); write_com(0x38); write_com(0x08); /*显示关闭*/ write_com(0x01); /*显示清屏*/ write_com(0x06); /*显示光标移动设置*/ delay(5); write_com(0x0C); /*显示开及光标设置*/ }
本文档为【室内有毒气体的检测本科毕业设计(论文)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
不系舟红枫
从教近30年,经验丰富,教学水平较高
格式:doc
大小:2MB
软件:Word
页数:53
分类:
上传时间:2019-01-20
浏览量:65