您的当前位置:首页正文

基于单片机的便携式有害气体检测装置毕业设计 推荐

2020-12-13 来源:客趣旅游网


毕业设计说明书

基于单片机的便携式舱室有害气体

采集装置

学生姓名: 赵亚西 学号: 09020341X26 学 院: 信息商务学院 系 名: 机械工程与自动化 专 业: 过程装备与控制工程 指导教师: 黄晋英

2013年6月

中北大学信息商务学院09届毕业设计说明书

摘 要

随着我国经济的快速发展,人们对生活水平和空气质量提出了更大挑战。通常,密闭空间内都可能会存在很多的有毒气体,它既可以是在密闭空间内已经存在的,也可能是在工作过程中产生的。有时,某些物质的短期突然挥发还会出现一些莫名其妙的物质,因此密闭空间内的有毒气体的种类可能是多种多样的。空气中的有毒物质一般是根据它们对于处在其空间中的人的生理学影响分为两类:(1)刺激性气体,是指对眼和呼吸道粘膜有刺激作用的气体,它是化学工业常遇到的有毒气体。刺激性气体的种类甚多,最常见的有氯、氨、氮氧化物、光气、氟化氢、二氧化硫、三氧化硫和硫酸二甲酯等。(2)窒息性气体,是指能造成机体缺氧的有毒气体,窒息性气体可分为单纯窒息性气体、血液窒息性气体和细胞窒息性气体。如氮气、甲烷、乙烷、乙烯、一氧化碳、硝基苯的蒸气、氰化氢、硫化氢等。有毒物质可以对人造成两种时间段的症状:急性或慢性。因此必须制订工作空间中各类物质的暴露水平为安全防护提供依据。在其中所待的时间和有毒气体的存在浓度有一定的关系,超过这些规定的暴露水平就会对人身安全构成极大的威胁。

基于以上可以看出,有关气体的浓度问题显得尤为重要。为便于设计和测量,本文选取了CH4和酒精传感器(本设计为四通道,可按需要自由添加其它传感器),研究设计了一种可以测量多种气体浓度的便携式舱室有害气体采集装置,其设计方案基于STC89C52单片机,有关气体浓度传感器来实现。系统将传感器回路输出的信号通过A/D转换电路调理后,经由单片机进行数据处理,由LCD显示浓度值。考虑到单片机计算能力有限,难以进行复杂数据处理,故单片机系统与PC机系统通过USB通信端口进行互连,从而单片机用作下位机进行数据采集和设备控制,而PC机用做上位机进行复杂的数据处理和对单片机的控制。文中详细介绍了数据采集子系统、数据处理过程、数据显示子系统以及单片机与PC机通信的设计方法和过程。

关键词:有害气体,数据采集,单片机,多通道,USB通信、VC

中北大学信息商务学院09届毕业设计说明书

Abstract

With China's rapid economic development, people put forward more challenges to living standards and air quality.Usually, there may be many poisonous gases within an

enclosed space, it can be both already exists in a confined space, may also be produced in the course of their work. Sometimes, some substances volatile short-term suddenly will appear some be rather baffling material, so the species of poisonous gas in closed space may be varied. Toxic substances in the air is generally based on their physiological in its space for people's influence is divided into two categories: (1) irritant gas, refers to a gas stimulation irritating to eyes and respiratory tract, it is a toxic gas chemical industry encountered. Many kinds of irritant gas, the most common are chlorine, ammonia, nitrogen oxides, phosgene, hydrogen fluoride, sulfur dioxide, sulfur dioxide and two acid methyl ester, three. (2) suffocating gas, refers to toxic gases can cause hypoxia, asphyxiating gas can be divided into simple asphyxiant gases, blood asphyxiating gas and cell asphyxiating gases. Such as nitrogen, methane, ethane, ethylene, carbon monoxide, nitrobenzene vapor, hydrogen cyanide, hydrogen sulfide. Toxic substances can cause two kinds of time of the symptoms: acute or chronic. So we must provide the basis for all kinds of material exposure levels in the workspace for safety protection. There is a certain relationship in the presence of concentration of the stay time and toxic gases, exceeding exposure level will these regulations pose a great threat to personal safety.

Based on the above can be seen, concentration problems related to gas is very important. In order to facilitate the design and measurement, this paper selects CH4 and alcohol sensor (the design of four channel, can be free to add other sensor), the research and design of the gas collection device is harmful to a portable cabin can be a variety of gas concentration measurement, the design scheme based on STC89C52 microcontroller, the gas concentration sensor to achieve. The system will signal sensor circuit output conversion circuit by A/D after conditioning, data processing by the MCU, the LCD display the concentration. Considering the limited computing capability of MCU, difficult to carry out complex data processing, the MCU system and PC system are interconnected through the USB communication port, thus single-chip microcomputer for data acquisition and control equipment used for the lower position machine, PC machine used for data processing of complex upper machine and the control of mcu. This paper describes the data acquisition subsystem, data processing, data display system and the design method of communication between PC and single chip microcomputer and process.

Key Words: Harmful Gas, Data Acquisition, MCU, Multi-channel, USB, VC

中北大学信息商务学院09届毕业设计说明书

目录

第1章 绪论 ......................................................................................... 1 1.1选题的目的和选题的意义............................................................ 1 1.2国内外研究现状 ............................................................................ 1 1.3 论文主要内容 ............................................................................... 2 第2章 总体方案及元器件简介 ........................................................ 3 2.1 MCU简介 ........................................................................................ 3 2.2 模数转换器简介 ........................................................................... 6 2.3液晶显示器的简介 ........................................................................ 9 2.4 MQ2及其测量电路的特点 ......................................................... 10 2.5 MQ3特点及其测量电路原理 ..................................................... 12 2.6 数据选择器 ................................................................................. 14 2.7 USB转接芯片 .............................................................................. 14 2.8 KEIL软件简介............................................................................ 15 2.9 PROTUES仿真软件简介 ........................................................... 16 第3章 硬件设计 ............................................................................... 16 3.1 最小系统的实现 ......................................................................... 16 3.2 信号采集电路 ............................................................................. 18 3.2.1关于气体浓度单位的说明 ..................................................... 19 3.3 A/D转换设计 .............................................................................. 20 3.4按键设计 ....................................................................................... 21 3.5 LCD1602液晶显示设计 ............................................................. 22

I

中北大学信息商务学院09届毕业设计说明书

3.6 差动放大器与滤波电路设计 .................................................... 22 3.7通信电路设计 .............................................................................. 23 3.7.1串口通信基础理论.................................................................. 23 3.7.2 两种常用接口方式................................................................. 23 3.7.3通信模块电路设计.................................................................. 24 第4章 软件设计 ............................................................................... 25 4.1 编译语言的选择 ......................................................................... 25 4.2 程序设计 ..................................................................................... 25 4.2.1 A/D转换模块........................................................................ 25 4.2.2 按键模块 ................................................................................. 26 4.2.3液晶显示模块 .......................................................................... 27 4.2.4通信模块 .................................................................................. 27 第5章 系统调试 ............................................................................... 29 5.1 软件仿真 ..................................................................................... 29 5.2 硬件调试 ..................................................................................... 30 第6章 结束语 ................................................................................... 31 附录1:硬件设计原理图 .................................................................. 32 附录2:PROTEUS仿真....................................................................... 33 附录3:PCB(112MM*160 MM) ....................................................... 34 附录4:单片机程序 .......................................................................... 35 致 谢 ................................................................................................... 44 参考文献 ............................................................................................. 45 II

中北大学信息商务学院毕业设计说明书

第1章 绪论

1.1选题的目的和选题的意义

随着我国经济的快速发展,全国机动车辆数量和驾驶员人数猛增,在各种密闭的移动舱室环境中,由于舱室空间较小,密闭性较强,强制通风虽然可在一定程度上降低有害气体的浓度,但在某些作业条件下,有害气体浓度仍可维持在一定水平

[1]

。存在大量气体状态污染物,这些气体污染物以分子状态存在,大部分为无机气

体,例如CO、NO2、H2S、LEL、VOC等。在行驶条件下,车内CO、SO2、NO2、H2S和总烃冬季高于夏季,而TSP和苯夏季高于冬季,CO2,甲苯的浓度无显著性季节差异[2]。而长期接触低浓度CO者可出现头痛、头晕、耳鸣、无力、记忆力减退及睡眠障碍灯神经系统症状;NO2虽不溶于水,但可经O3氧化后与水结合形成酸,它对肺组织可产生剧烈的腐蚀和刺激作用,使肺泡毛细血管通透性增加,进而形成肺水肿,并可启动细胞膜质过氧化作用,进一步导致细胞膜结构损伤和功能障碍;其他气体如NH3被大量吸入后可出现流泪、咽痛、声音嘶哑、咳嗽等,并伴有头晕、头痛、恶心、呕吐、乏力等,甲醛也有潜在的致癌危险性[3-5]。

汽车内有害气体的污染主要由苯、甲苯、二甲苯、甲醛、丙酮等有机溶剂蒸气造成。有害气体主要来自于两个方面,首先是汽车本身的内饰件。目前我国家庭汽车市场的需求十分旺盛,很多厂家的汽车下了生产线就直接进入市场。如果总装厂对汽车零部件的质量把关不严格,不符合环保要求的塑料件、地毯、车顶毡、座椅等会直接造成车内的空气污染。其次是源于车主选择的汽车装饰。含有有害物质的真皮、海绵、地胶、地垫、黏合剂等不同程度地造成车内的空气污染,威胁到人体健康[6,7]。

1.2国内外研究现状

日本在车内气体检测方面研究起步较早。自1962年,日本学者Seiyama等人首先报道了半导体金属氧化物的气敏特性,并进一步做了理论研究,他们首先导入了气体检测器(Gas Detector)概念。而后,各国研究者相继在这方面做了大量工作。上个世纪七八十年代,日本株式会社电装设计出了一种基于粉尘有害气体的传感器的车载空调控制系统,这种系统能控制车内在粉尘有害气体较多情况下启动空调系统换气[8]。

1

中北大学信息商务学院毕业设计说明书

1992年,意大利的Palazzetti等人申请了关于应用于为车内空调提供控制信息的传感器单元的系统专利;

1996年,加拿大Sorensen等人研究提出了基于气体传感器的车内污染控制理论方法与系统设计;

2005年,韩国HWANG IN.SUNG等人设计出一种应用于汽车或室内的多种传感器集成系统,它集成了温度检测、湿度检测、气体检测等多种功能,它可以应用于有限空间的空气参数提取,并应用到相应控制系统中[9]。在气体检测方面的研究近些年在国内外进展很快,但也问题不少,如检测精度灵敏度稳定性有限

[10]

国内目前有人研制出采用气体类检测模块,通过无线遥测的方法,使远方的监测站可靠地获得移动舱室内各种有害气体的环境数据。该系统采用无线遥测技术实时采集和记录车辆在静止和行进过程中舱室内的有害气体、温湿度等状态参数和环境参数,以便分析有害气体对舱室人员身心健康的影响[11,12]。系统可实时监测静止及移动中密闭舱室环境中的多项指标,测试数据可全部存储,同时能通过无线方式实时传送到数公里外监控车上的监测中心。

测试方法是让监测系统事先把有害气体监测仪安装在舱室内的固定位置上,在监测过程中监测仪将采集到的信号一方面进行本地存贮,另一方面通过RS 485接口协议送入遥测发射装置,遥测发射装置将接收到的数据流进行编码,形成标准的PCM数据流送人发射机。发射机变成无线电波向空间发射出去,遥测地面监测中心把这些信号接收下来进行处理并绘成曲线,这样就可直观地实时监测到舱室在移动过程中的环境变化情况。 1.3 论文主要内容

本论文主要完成气体浓度采集装置的设计,设计的内容包括:A/D转换模块、键盘检测、数据显示、接口通信等。

本系统采用单片机为控制核心,以实现装置的基本控制功能。系统主要功能内容包括:数据信号采集滤波、开始测量、键盘检测控制、数据显示、USB通信等。

本系统设计采用功能模块化的设计思想,本论文内容分为以下几个章节:设计器件简介和选择;硬件的设计;软件的设计和系统调试。

2

中北大学信息商务学院毕业设计说明书

第2章 总体方案及元器件简介

本次设计的总体框图如下图2.1:

CH4传感器 多路数据选择 A/D转 换 电 路 甲醛传感器 单片机 LCD显示 键盘 其他传感器 2.1数据采集系统的硬件基本组成 PC机 硬件设计部分主要模块包括采集模块、转换模块、处理模块、显示模块、数据传输模块以及控制模块,主要元器件包括:MCU、A/D、LCD、电源、数据选择器、传感器、USB等芯片,以下做一些器件的简介。 2.1 MCU简介

本系统的数据采集以及控制部分以单片机为核心。我们选择单片机STC89C52为控制核心,主要基于考虑STC89C52低功耗、超低价高速度、高可靠、超强抗静电,超强抗干扰、无法解密等优点。此外,其8K 在系统可编程Flash 存储器,512字节RAM对于本系统的程序大小而言,已基本够用。

STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内振荡器及时钟电路,STC89C5X可以按照常规方法进行编程,也可以在线编程。同时STC89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本。STC单片机有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。 STC89C52单片机引脚功能图如图2.2所示: VCC:电源电压

3

中北大学信息商务学院毕业设计说明书

VSS:即地

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。

图2.2单片机引脚图

P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问器件激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash编程和程序校验期间,P1接收低8位地址。表2.1为 P1.0和P1.1的第二功能。

表2.1

4

中北大学信息商务学院毕业设计说明书

引脚号 P1.0 P1.1 功能特性 T2: 定时器/计数器2外部计数脉冲输入,时钟输出 T2EX: 定时器/计数器2捕获重装载触发和方向控制

P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,同时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:P3口时一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入1时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口作为一般的I/O口线外,更重要的用途是它的第二功能,如表2.2所示。此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程器件,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位复位,可禁止ALE操作。该位置复位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN :程序储存允许输出是外部程序存储器的读选通信号,当89C5X单片机

由外部程序存储器取指令(或数据)时,每个机器周期两次错误!未找到引用源。有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信

5

中北大学信息商务学院毕业设计说明书

号。

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为000H-FFFH),EA 端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA 端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

表2.2 P3口的第二功能 端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 具体第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外中断0) INT1(外中断1) T0(定时/计数器0) T1(定时/计数器1) WR(外部数据存储器写选通) RD (外部数据存储器读选通) 2.2 模数转换器简介

实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度快,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个数模转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。这类型ADC的分辨率和采样速率是相互牵制的。优点是分辨率低于12位时,价格较低,采样速率也很好。

ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0-5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处

6

中北大学信息商务学院毕业设计说明书

理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。

其具体特点如下: .8位分辨率; .双通道A/D转换;

.输入输出电平与TTL/CMOS相兼容; .5V电源供电时输入电压在0~5V之间; .工作频率为250KHZ,转换时间为32μS; .一般功耗仅为15mW;

.8P、14P—DIP(双列直插)、PICC 多种封装;

.商用级芯片温宽为0°C to +70°C,工业级芯片温宽为−40°C to +85°C;

芯片接口说明:

.CS 片选使能,低电平芯片使能。

.CH0 模拟输入通道0,或作为IN+/-使用。 .CH1 模拟输入通道1,或作为IN+/-使用。 .GND 芯片参考0 电位(地)。 .DI 数据信号输入,选择通道控制。 .DO 数据信号输出,转换数据输出。 .CLK 芯片时钟输入。

.VCC/VREF 电源输入及参考电压输入(复用)。 ADC0832引脚图如图2.4所示

图2.4 ADC0832引脚图

ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模

7

中北大学信息商务学院毕业设计说明书

拟输入信号中的一个进行A/D转换。

主要特点:

ADC0809是CMOS单片型逐次逼近式A/D转换器, 它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。ADC0809芯片有28条引脚,采用双列直插式封装。其引脚图如图2.5所示。

图2.5 ADC0809引脚

下面说明各引脚功能:

IN0~IN7:8路模拟量输入端。 .8位数字量输出端。

.ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 .ALE:地址锁存允许信号,输入高电平有效。

.START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

.EOC: A/D转换结束信号输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

.OE:数据输出允许信号,输入高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

.CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 .REF(+)、REF(-):基准电压。 .VCC:电源,单一+5V。

8

中北大学信息商务学院毕业设计说明书

.GND:地。

鉴于ADC0832 8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在0~5V之间、工作频率为250KHZ、转换时间为32 微秒、一般功耗仅为15MW等特点完全能满足设计所需要求,并且价格便宜,所以在本设计中采用ADC0832作为模数转换器件。 2.3液晶显示器的简介

为了从单片机上直接了解当前采集信号的信息和机器状态,可在单片机上安

装数码管(LED)或液晶屏(LCD)。数码管只能显示一些数字信息,很难从这些数字了解机器的状态。液晶显示模块是一种常用的人机界面,其在单片机系统中应用极为广泛。液晶显示模块既可显示字符,又可显示简单图形。在本设计中选用液晶屏LCD1602来作为显示模块。

LCD1602字符型液晶显示器的特点及其用法: .单5V电源电压,低功耗、长寿命、高可靠性。

.内置192种字符(160个5×7点阵字符和32个5×10点阵字符)。 .具有64个字节的自定义字符RAM,可自定义点阵字符。 .显示方式:STN、半透、正显。 .驱动方式:1/16并口,1/5串口。 .背光方式:底部LED。

.通讯方式:4位或8位并口可选。

.标准的接口特征:适配MC51和M6800系统MPU的操作时序。 LCD1602液晶显示屏的主要技术参数如下表所示:(表2.3)

表2.3 LCD1602液晶主要参数 显示容量 芯片工作电压 工作电流 模块最佳工作电压 字符尺寸 16×2个字符 4.5-5.5V 2.0mA(5.0V) 5.0V 2.95×4.35(mm) 带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨

9

中北大学信息商务学院毕业设计说明书

率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块;基本特性:

.低电源电压(VDD:+3.0--+5.5V) .显示分辨率:128×64点

.内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) .内置 128个16×8点阵字符,2MHZ时钟频率

.显示方式:STN、半透、正显,驱动方式:1/32DUTY,1/5BIAS

.视角方向:6点,背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10

.通讯方式:串行、并口可选,内置DC-DC转换电路,无需外加负压 .无需片选信号,简化软件设计,工作温度: 0度 - +55度 ,存储温度: -20度 - +60度。

在单片机系统中应用液晶显示器作为输出器件有以下几个有点:

显示质量高;数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便;体积小、重量轻 ;功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其他显示器要少的多。 2.4 MQ2及其测量电路的特点

MQ2气敏元件响应速度快,具有良好的重复性、选择性。元件工作稳定、可靠.抗H2S 中毒。其特性图和响应曲线见图2.6。

应用:工业现场的天然气、液化气、煤气、烷类等可燃性气体及汽油、醇、酮、苯等有机溶剂蒸汽的浓度检测;可燃性气体泄漏报警器;可燃性气体探测器;气体浓度计等。其模块详细参数见表2.4。

10

中北大学信息商务学院毕业设计说明书

图2.6 MQ2的灵敏度特性及响应恢复特性

表2.4 MQ2模块详细参数指标

A:标准工作条件

符号 Vc VH RL RH PH B:环境条件

工作电压(V) 工作电流(mA) 灵敏度 (mv) 1%甲烷 1%丁烷 1%氢气 线形度(%) 测量范围(%LEL) 响应时间(90%) 恢复时间(90%) 使用环境 储存环境 外形尺寸(mm) 2.8±0.1 90±10 15-40 30-50 20-40 ≤5 0~100 小于10 秒 小于30 秒 -40-+70℃ 低于95%RH -20—+70℃ 低于95%RH MQ2:9.5×14×19 MQ2C: 8×10×14 11

参数名称 回路电压 加热电压 负载电阻 加热电阻 加热功耗 技术条件 5.0V±0.1V 5.0V±0.1V 可调 33Ω±5% 备注 AC or DC AC or DC 室温 ≤800mW 中北大学信息商务学院毕业设计说明书 符号 Tao Tas RH O2 参数名称 使用温度 储存温度 相对湿度 氧气浓度 技术条件 -20℃-50℃ -20℃-70℃ 小于 95% RH 21%(标准条件) 氧气浓度会影响灵敏度特性 C:灵敏特性

符号 Rs 参数名称 敏感体电阻 技术参数 1MΩ- 8 MΩ ≤0.6 备注 最小值大于2% 备注 适用范围: (200ppm alcohol ) 0.05mg/L—10mg/LAlcohol α (200/100)alcohol 标准工作条件 浓度斜率 温度:20℃±2℃ Vc:5.0V±0.1V 相对湿度: 65%±5% Vh:5.0V±0.1V 不少于24小时 预热时间

2.5 MQ3特点及其测量电路原理

MQ3特点如下:

.对乙醇蒸气有很高的灵敏度和良好的选择性 .快速的响应恢复特性 .长期的寿命和可靠的稳定性 .简单的驱动回路

MQ-3 气敏元件的结构和外形如图2.7所示,由微型AL2O3陶瓷管、SnO2 敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。测量电路如图2.8所示。

12

中北大学信息商务学院毕业设计说明书

图2.7 MQ-3结构和外形

图2.8 MQ-3基本测量电路

图2.9 MQ-3型气敏元件的灵敏度特性

图2.9 给出了MQ-3气敏元件的灵敏度特性。其中:温度:20℃、相对湿度:65%、

13

中北大学信息商务学院毕业设计说明书

氧气浓度:21%、RL=50kΩ(在本设计中,其值固定)、Rs:元件在不同气体,不同浓度下的电阻值、R0:元件在洁净空气中的电阻值。

图2.10 MQ-3型气敏元件的温湿度特性

图2.10给出了MQ-3型气敏元件的温湿度特性。

Ro: 20℃,33%RH条件下,0.4mg/L浓度的乙醇蒸气中元件电阻。 Rs: 不同温度,湿度下,0.4mg/L 浓度的乙醇蒸气中元件电阻。

灵敏度调整:

MQ-3 型气敏元件对不同种类,不同浓度的气体有不同的电阻值。因此,在使用此类型气敏元件时,灵敏度的调整是很重要的。我们建议您用0.4mg/L(约200ppm)浓度的乙醇蒸气校准传感器。当精确测量时,报警点的设定应考虑温湿度的影响。 2.6 数据选择器

在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。有2选1,4选1、8选1和16选1等类型的数据选择器。

有数字信号的数据选择器,如74LS151,74HC151,也有针对模拟信号的数据选择器,如74HC4051。在本设计中,主要是选通模拟输入信号,故用74HC4051。 2.7 USB转接芯片

CP2102 - 性能参数:采用MLP-28封装,尺寸仅为5mm*5mm,是CP2101

14

中北大学信息商务学院毕业设计说明书

的升级产品。其集成度高,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、异步串行数据总线,支持调制调节器全功能信号,无需要任何外部的USB器件。CP2102 - 特性如下:

.内含USB收发器,无需外界电路器 .内含时钟电路,无需外接电路器

.其内部512字节的EEPROM可用于存储产品生厂商的ID、产品的ID序列号、电源参数、器件版本号和产品说明。

.内含上电复位电路

.片内电压调节可输出3.3V电压 .符合USB2.0规范的要求 .SUSPEND引脚支持USB状态挂起

.异步串行数据总线兼容所有握手和调制调节器接口信号 .支持的数据格式为数据位8、停止位1、2和校验位 .波特率范围为300b/s~~921.6kb/s

.内含512字节接收缓冲器和512字节发送缓冲器 2.8 Keil软件简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码。 Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

15

中北大学信息商务学院毕业设计说明书

2.9 Protues仿真软件简介

Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

第3章 硬件设计

3.1 最小系统的实现

单片机的最小系统的就是要让单片机里面的程序运行所需要的最小配置。用STC89C52来实现一个单片机系统能运行起来的最小系统,电路图见图3.1。由晶振电路和复位电路,STC89C52芯片组成,构成最小的单片机系统。

图3.1 最小系统电路图

下面介绍其中的两个电路。 晶振电路:

16

中北大学信息商务学院毕业设计说明书

单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准。89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。

本系统中为了尽量降低功耗的原则,采用了内部时钟方式。电路图见图3.2:

图3.2 内部时钟电路

在89C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在5-30pF,典型值是22pF,晶振CYS选择的是12MHz。

复位电路:

单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。

当在89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。

实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位,上电复位,要求接通电源后,单片机自动实现复位操作。常用的

17

中北大学信息商务学院毕业设计说明书

上电复位,上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。

本设计中复位电路采用的是开关复位电路,开关未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使STC89C52内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。电路图见图3.3:

复位操作。 3.2 信号采集电路

图3.3 复位电路

RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行

从传感器过来的电压信号,应经过滤波,采集,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。

为了成本的控制和便于设计测量,设计中选取了一个酒精浓度传感器和一个甲烷浓度传感器。酒精浓度传感器由MQ3传感器组成。甲烷浓度传感器由MQ2组成。测量电路由气敏传感器MQ3/MQ2、滤波电路和ADC0832组成。所采集的信号经滤波电路和ADC0832后,被传送至STC89C52单片机,在显示器上显示出对应的浓度值。

MQ2是催化燃烧式气敏元件,根据催化燃烧效应的原理工作。在使用中经常采用电桥电路的方式进行采样检测。基本电路如图3.4所示。由检测元件和补偿元件配对组成电桥的两个臂,遇可燃性气体时检测元件电阻升高,桥路输出电压变化,

18

中北大学信息商务学院毕业设计说明书

该电压变量随气体浓度增大而成正比例增大,补偿元件起参比及温湿度补偿作用。

图3.4 测量电路

3.2.1关于气体浓度单位的说明 对于气体浓度常见有两种表示方法 (1)体积浓度

体积浓度是用每立方米的大气中含有污染物的体积数(立方厘米)或(ml/m3)来表示, 常用的表示方法是ppm,即1ppm=1立方厘米/立方米=10-6。除ppm外,还有ppb和ppt, 他们之间的关系是:

1ppm=10-6=一百万分之一, 1ppb=10-9=十亿分之一 , 1ppt=10-12=万亿分之一, 1ppm=103ppb=106ppt (2)质量-体积浓度

用每立方米大气中污染物的质量数来表示的浓度叫质量-体积浓度,单位是毫克/立方米 ,或克/立方米。 它与ppm的换算关系是: X=M*C/22.4 „„„„„ (3-1) 即: C=22.4X/M

式中: X—污染物以每立方米的毫克数表示的浓度值;

C—污染物以ppm表示的浓度值;

M—污染物的分子量。

本设计中,气体浓度单位用到mg/L与ppm,则转换关系如下: C=22400Y/M „„„„„(3-2)

Y—污染物以每立方分米即每升的毫克数表示的浓度值;

19

中北大学信息商务学院毕业设计说明书

本设计的电压显示与酒精浓度之间的关系:

由传感器MQ3特性图可以得到,式子:{㏒(Rs/Ro)-㏒(0.1)}/(㏒Y-㏒10)=(㏒2.1-㏒0.1)/( ㏒0.1-㏒10),代入上式(1),并代入关系Vout=(RL/RS)*5,其中RL取50K,Ro经测量为600K,整理可得关系式:

㏒C=1.52*㏒Vout + 2.75„„„„„(3-3)

在技术参数中,可知C的线性范围近似是48.8ppm—4869ppm 。上式中C的理想最大值为6374ppm,由于一般不可能达到此值,且所测酒精浓度一般较小,故可认为其在上式在线性范围内成立。 3.3 A/D转换设计

正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能.当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行。其连接图,如下图3.5所示

图3.5 AD0832连接图

20

中北大学信息商务学院毕业设计说明书

3.4按键设计

(1)为增强人机对话功能,发出各种控制命令控制系统运行,本设计采用键盘输入指令和数据的方式,以及和LCD连接显示运行状态和运行结果。键盘分为:独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统所需按键较少,所以选择独立式按键。电路图见图3.6:

键盘说明: S2 控制通道转换

S3 串口通信传输数据的开关 S4 保留未用

图3.6 按键电路图

(2)独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(STC89C52 .P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。

(3)键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖。 ①硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。

②软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。

③由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。

21

中北大学信息商务学院毕业设计说明书

3.5 LCD1602液晶显示设计

LCD1602液晶显示模块与计算机的接口电路有两种方式。它与单片机的接口方法分为直接访问方式和间接控制方式。

直接访问方式是把液晶模块作为存储器或I/O设备直接接在单片机的总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。间接控制方式则不使用单片机的数据系统,而是利用它的I/0口来实现与显示模块的联系。即将液晶显示模块的数据线与单片机的P0口连接作为数据总线,另外三根时序控制信号线通常利用单片机的P2口中未被使用的I/O口来控制。这种访问方式不占用存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现。本系统采用间接控制方式:

以下为液晶显示电路接线原理图见图3.7:

图3.7 LCD电路接线图

在主电路图中接在P0口处有一个排阻RP1 ,由于P0口没有内接上拉电阻,为了为P0口外接线路有确定的高电平,所以要接上排阻RP1,使用的是10K的排阻,以确保有P0口有稳定的电平。 3.6 差动放大器与滤波电路设计

由于采样过来的信号,总掺杂着一些干扰信号,故需要一定的线路对其处理。在本设计中,采用差动放大器对两个信号的差值进行放大。另外采用二级有源低通滤波器,进行滤波。线路图如下图3.8所示。其中对于低通滤波器,截止频率

22

中北大学信息商务学院毕业设计说明书

f=1/RC=1/(10K*0.01u)=10K Hz。

图3.8信号调理电路

3.7通信电路设计 3.7.1串口通信基础理论

随着微机特别是单片机的发展,其应用已从单机逐渐向多机或联网,而多机应用的关键又在于微机之间的相互通讯,互传数据信息。在微型计算机系统中,CPU与外部的基本通讯方式有两种:并行通讯——数据的各位同时传送;串行通讯——数据一位一位顺序传送。在并行通讯中,数据有多少位就需要多少条传送线,而串行通讯只需要一对传送线,故串行通讯能节省传送线,特别是当数据位数很多和远距离数据传送时,这一优点更加突出。但串行数据也有缺点,那就是速度比并行通讯要慢。

1.串行通讯是指将构成字符的每个二进制数据位,依据一定的顺序逐位进行传送的通讯方法。在串行通讯中,有二种基本的通讯方式:异步通讯和同步通讯。

2.串行通讯中,要把数据从一个地方传送到另一个地方,必须使用通讯线路。数据在通讯线路两端的工作(通讯线路或计算机)之间传送。按通讯方式,可将数据传输线路分成三种: 单工方式,半双工方式和全双工方式。 3.7.2 两种常用接口方式 1.并行接口

并行接口是指8位数据同时通过并行线进行传送,这样数据的传输率能得到极大的提高。但在并行传输中,干扰会随线路长度的增加而增加,产生传输错误。因此,并行传输主要应用在近距离数据传输中,如连接打印机端口。并行接口主要使用36针接头和25针D形接头,目前以25针D形接头为主。

23

中北大学信息商务学院毕业设计说明书

2.串行接口

串行口也是计算机的一种标准接口,PC机一般至少有两个串行口Com1和Com2。串行口不同于并行口,它的数据和控制信息是一位接一位在一根传输线上传送的,这样串行口较并行口能够进行远距离传送信息。

由于CPU与接口间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,要由接收移位寄存器把串行方式转换成并行方式,由发送移位寄存器把并行方式转换成串行方式。完成这种转换功能的电路叫做通用异步收发机UART。

3.7.3通信模块电路设计

CP2102,USB转串口芯片,体积小巧,外围可以不需要任何元件即可够成一个最简单的USB-UART方案,通信速率可达1Mbps,很容易把串口产品升级到USB口。本设计引出接口包括5V、3.3V、TXD、RXD、GND、RST,其中TXD,RXD可直接接MCU串口,RXD接MCU的TXD,TXD接MCU的RXD即可,也可以接各种带串口的设备。RST用于复位CP2102,一般不用,方便用于初期产品的调试。在本设计中3.3V接口不用。该模块使用USB公座,可直接接到电脑的USB端口。电路图见图3.9:

图3.9 CP2102转接芯片接线图

硬件设计总结:

这一章比较具体的说明了系统硬件设计的内容,通过模块化的设计思想,把一个复杂的单片机系统按照功能划分成一个个单独的电路模型,分别进行设计,最后在集成到一起。这种方法对于设计复杂的单片机系统很有效。大大提高系统设计的效率与质量。

24

中北大学信息商务学院毕业设计说明书

第4章 软件设计

4.1 编译语言的选择

对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。

C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法。 4.2 程序设计

软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能,按一定的顺序组合成一个整体。下面介绍各模块的具体功能、工作时序等。 4.2.1 A/D转换模块

模数转换模块的主要功能就是将经放大滤波后的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。A/D芯片的数据CS口,连接单片机的P2.7口,CLK接P2.4口,D1和D0接P2.6口。

工作时序如下所示: ADC0832有8只引脚,CH0和CH1为模拟输入端,CS为片选引脚,只有CS置低才能对ADC0832进行配置和启动转换。CLK为ADC0832的时钟输入端。CS在整个转换过程中都必须为低,当CS为低时,在数据输入端DI(数据输入端)加一个高电平,接着在CLK上加一个时钟,DI上的逻辑1就会使ADC0832的DI脱离高阻态,然后通道配置数据伴随着时钟通过DI端移入多路器,当最后一位数据移入多路器时,DI变为高阻态,在这以前DO(数据输出端)都为高阻态。在经过一个时钟,DO脱离高阻态,从而启动转换。接着从处理器接收时钟信号,每经过一个时钟,转换后的数据就会从高位到低位依次从DO移出,经过8个时钟后,数据又以从低位到高位的形式从DO移出(也是每个时钟移一位)。当最后一位数据移出时转换完成。当CS从低变为高时,ADC0832内部所有寄存器清零。如想要进行下一次转换,CS必须做一个从高到低的跳变,后跟着地此配置数据重复上面的过程。

25

中北大学信息商务学院毕业设计说明书

模块转换流程图见4.1:

图4.1 AD转换模块流程图

结束 转换结束将得到的数据发送给串口 选定通道号 开始 开始转换

4.2.2 按键模块

按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送指令,后经与MCU串行通信,然后在液晶上显示。以查询的方式进行工作。流程图如图4.2:

开始

初始化液晶、定时器,开中断,设置串口波特率 键盘检测,控制液晶显示内容 若控制串口通信的键按下,则开中断进行串口数据传输 启动AD转换,并返回AD转换的数据 处理AD转换过来的数据,并送液晶显示 结束 图4.2 按键流程图

26

中北大学信息商务学院毕业设计说明书

4.2.3液晶显示模块

液晶显示D0到D7口接P0.0到 P0.7,单独使用一个口,为了避免数据的干扰,由于P0口没有上拉电阻,所以需要一个排阻进行电压的扩大。在本设计中,由于不需要读液晶操作,故只介绍写操作。LCD1602的写工作时序图如图4.3所示:

图 4.3 LCD1602写操作时序

当处于写指令时,RS为低脉冲,R/W为低脉冲,D0-D7=指令码,E=高脉冲。 当处于写数据时,RS为高脉冲,R/W为低脉冲,E为高脉冲,D0-D7=数据。 流程图如图4.4:

显示小数点 显示个位 开始 显示十分位 显示百分位

结束 图4.4显示模块流程图

4.2.4通信模块

CP2102 UART接口包括TX (发送)和RX(接收)数据信号以及RTS、CTS、DSR、DTR、DCD和RI控制信号。UART支持RTS/CTS、DSR/DTR和X-On/X-Off握手。

27

中北大学信息商务学院毕业设计说明书

其程序设计包括3部分:单片机程序开发、USB设备的驱动程序开发、主机应用程序开发,三者相互配置才能完成可靠、快速的数据传输。其中USB设备驱动程序可以从Silicon公司的官方网站上下载,驱动程序安装完后,系统会自动增加一个COM口,用户可以按照传统的串行口控制方式来使用这个带有5V和3V供电的COM口。单片机STC89C52的串行通信程序,即对波特率、数据位、校验位、有无奇偶校验等通信协议及单片机串行通信功能的设置,其中CP2102芯片可获得的数据格式和波特率见表4-1。 波特率通常采取9600;另一部分为上位机数据采集和界面应用程序,这一部分我们用STC-ISP的串口助手来采集数据,按串行口方式设置,以实现接口通讯。 表4.1 数据格式和波特率 数据位 停止位 校验位 波特率 8 1 无校验,偶校验,奇校验 300,600,1200,1800,2400,4800,7200,9600,14400,19200,28800,38400,56000,57600,115200,128000,230400,460800, 921600 流程图如图4.5:

开始 产生中断并发送数据 对数据进行相关处理 结束

图4.5 串口流程图

28

中北大学信息商务学院毕业设计说明书

第5章 系统调试

在前面几章中,详细讨论了气体浓度测试仪的硬件和软件设计,但是要系统真正的运行起来达到预期的指标和功能,就必须对系统进行调试。系统的调试包括系统的硬件和软件设计。 5.1 软件仿真

在进行焊接之前,并不能确认之前所画的原理图的正确性,所选器件的合适性以及所编程序是否可以实现相应的功能。在这里软件仿真显得尤为重要。我们采用Protues 7.7进行仿真。在仿真过程中,传感器用特定的激励电压源代替。此外,串口通信模块不进行仿真。仿真连接图见附录图一。仿真结果图如下图5.1。

图5.1 仿真图

由以上两图可以看到液晶显示、AD转换、线路切换功能的实现。即此系统的功

29

中北大学信息商务学院毕业设计说明书

能可基本实现。从而验证了系统原理图和程序的正确性。 5.2 硬件调试

焊接前对电阻、电容的量值要进行测量、筛选,选择与电路中参数值一致的元器件,在选择芯片时,要注意芯片与设计要求的型号、规格和安装是否一致。在焊接时,应将印制的电路板认真对照原理图,查看元器件的引脚焊接是否正确。电路板焊接完成后,需要对每个元器件的引脚逐个进行检查,一方面是检查有没有引脚虚焊或与其他信号线短路,另一方面是对器件引脚功能的再检查,查看设计是否正确。上电测试是调试的关键部分,按照系统方案设计的模块化思想,应该分模块测试系统。首先还是应该测试电源部分,系统上电以后,测试各个电源端口和器件的电源部分是否工作正常,同时应注意系统中有无器件过热情况。如果没有问题,则可以进行功能的检测。在软件和硬件的分别调试成功后,然后进行程序的捎入单片机中,进行整块系统的调试,提供一定的电压,使单片机和传感器,和各个元件都能正常工作。 在传感测量电路可以正常工作以前,需要先加热一段时间,在加热的过程中,液晶显示的电压值降到1.019V,对应的气体浓度为562ppm,即1.15mg/L,作为误差,可以忽略不计。

对于实际使用的基于CP2102的串口与USB互转的单片机与PC机通信方式,调试中使用STC-ISP工具进行单片机程序的烧写,并进行烧写。再者,通过按键方式将单片机控制的液晶显示内容,传给PC机。作为PC机的内容接收,终端采用串口调试窗口,进行实时接收,从而实现数据的实时处理,以及相关命令的执行。接收内容为所测气体类型与采样转化所得的电压值。

30

中北大学信息商务学院毕业设计说明书

第6章 结束语

本文研究设计了一种可以测量多种气体浓度的便携式舱室有害气体采集装置,其设计方案基于STC89C52单片机,有关气体浓度传感器来实现。系统将传感器回路输出的信号通过A/D转换电路调理后,经由单片机进行数据处理,由LCD显示浓度值。考虑到单片机计算能力有限,难以进行复杂数据处理,故单片机系统与PC机系统通过USB通信端口进行互连,从而单片机用作下位机进行数据采集和设备控制,而PC机用做上位机进行复杂的数据处理和对单片机的控制。文中详细介绍了数据采集子系统、数据处理过程、数据显示子系统以及单片机与PC机通信的设计方法和过程。研究中涉及的气体浓度检测、分布式系统及串口通信技术具有很强的现实意义。以下是几点总结:

(1)本篇论文主要完成了以下内容的叙述

对目前舱室气体采集系统的国内外发展状况进行了概括,进而阐明了课题研究的背景和意义。

根据系统要实现的功能做出硬件设计,绘制出硬件电路图,然后根据确定的电路图编写程序。考虑到程序的兼容性,采用C语言编程。

软硬件设计完成后,用Proteus软件仿真,能够成功显示数据,理论设计完成。 (2)整个过程使我充分认识到实践的重要性,从设计原理图到编写程序,再到查找相关资料进行论文的撰写工作,看到了自己的很多不足,遇到了很多困难,也解决了很多困难,最后进行实物制作,整个过程亲力亲为,学到了很多东西,也锻炼了自己的综合能力。

(3)从发展状况来看,便携式舱采集装置具有很强的实用性,并且具有比较好的安全性,在各种各样的生产生活中依然有很大的发展空间。目前在国内关于这方面的研究已经开始逐渐引起重视,而且国外正在积极推动这方面的应用,未来发展前景将会非常广阔。

31

中北大学信息商务学院毕业设计说明书

附录1:硬件设计原理图

32

中北大学信息商务学院毕业设计说明书

附录2:PROTEUS仿真

33

中北大学信息商务学院毕业设计说明书

附录3:PCB(112mm*160 mm)

34

中北大学信息商务学院毕业设计说明书

附录4:单片机程序

#include #include #include #include #include

#define uint unsigned int #define uchar unsigned char

sbit DQ = P2^4; //定义AD输入端口DQ sbit LCD_RS=P2^6; sbit LCD_EN=P2^7;

sbit S2=P1^0;//按键 sbit S3=P1^1;// sbit S4=P1^2;//

sbit A=P2^0;//多路数据选择控制 sbit B1=P2^1; sbit C=P2^2;

//******************adc0832****************************// sbit CS=P2^5; //使能。 sbit CLK=P2^3;//时钟

sbit Do=P2^4; // 数据输出 sbit Di=P2^4;//数据输入 unsigned char CH=0x02;

//通道的选择:0x02就是单通道0;0x03就是单通道1; //0x00就是双通道ch0=\"+\"; ch0=\"-\" //0x01就是双通道ch0=\"-\"; ch0=\"+\"

//*****************************************************// void init(); void key();

void write_cmd(uchar cmd); void write_data(uchar date);

void Display_One_Char( uchar x,uchar y,uchar dat); void Display_List_Char(uchar x,uchar y,uchar *str); void xs_int(unsigned int shuju,uchar t); unsigned char ADconv(void);

uchar code table1[]=\"C2H6O \";//所测气体种类,ppm/百万分之一 uchar code table2[]=\"CH4 \"; uchar code table4[]=\"C2H6O\"; uchar code table3[]=\"value:\";

uchar num,num1,num2,num3,flag1,flag2,flag3=0; uint flag,channel; void delay(uint z) {

35

中北大学信息商务学院毕业设计说明书

uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

void main()

{ uint data_temp=0;

flag2=1; flag=0; init(); while(1) { delay(20); key(); delay(10); data_temp=ADconv(); xs_int(196*data_temp,1); delay(10); } }

void write_cmd(uchar cmd) {

delay(10); LCD_RS=0; LCD_EN=0; _nop_(); _nop_(); P0=cmd; delay(5); LCD_EN=1; delay(5); LCD_EN=0; }

void write_data(uchar date) { delay(10); LCD_RS=1; LCD_EN=0; _nop_(); _nop_(); P0=date; delay(5);

36

中北大学信息商务学院毕业设计说明书

LCD_EN=1; delay(5); LCD_EN=0;

}

void Display_One_Char( uchar x,uchar y,uchar dat) //x表示行,y表示列 { switch(x) { case 0: write_cmd(0x80+y); break; case 1: write_cmd(0x80+0x40+y); break; } write_data(dat); }

void Display_List_Char(uchar x,uchar y,uchar *str) { switch(x) { case 0: write_cmd(0x80+y); break; case 1: write_cmd(0x80+0x40+y); break; } while (*str!='\\0') { write_data(*str); str++; } }

void xs_int(unsigned int shuju,uchar t) //显示一个数字及串口传送数据{unsigned char huancun[6]={0}; unsigned char biaozhi=0,i; if (shuju < 10) biaozhi = 1; else if(shuju < 100) biaozhi = 2; else if(shuju < 1000) biaozhi = 3;

else if(shuju < 10000) biaozhi = 4;

37

中北大学信息商务学院毕业设计说明书

else if(shuju < 65535) biaozhi = 5; switch(biaozhi)

{case 5:huancun[5] = shuju/10000;

case 4:huancun[3] = shuju%10000/1000; case 3:huancun[2] = shuju%1000/100; case 2:huancun[1] = shuju%100/10; case 1:huancun[0] = shuju%10; break;

default:break; }

for(i=6;i>1;i--) {if(i==5)

{Display_One_Char(1,10,'.');} else

{Display_One_Char(t,15-i,0x30+huancun[i-1]);} }

Display_One_Char(t,15,'V'); delay(20); if (flag3==1) {

REN=1; SM0=0; SM1=1; EA=1; ES=1; flag3=0; if (flag%2==1) { SBUF='C'; while(!TI); TI=0;

SBUF='H'; while(!TI); TI=0;

SBUF='4'; while(!TI); TI=0; SBUF=' '; while(!TI); TI=0;

SBUF=' '; while(!TI); TI=0;

38

中北大学信息商务学院毕业设计说明书

} else

{ SBUF='C'; while(!TI); TI=0;

SBUF='2'; while(!TI); TI=0;

SBUF='H'; while(!TI); TI=0; SBUF='6'; while(!TI); TI=0;

SBUF='O'; while(!TI); TI=0; }

if(flag1==1) { ES=0; flag1=0;

for(i=6;i>1;i--) { if(i==5) { SBUF='.'; while(!TI); TI=0; } else { SBUF=0x30+huancun[i-1]; while(!TI); TI=0; } } ES=1; } } }

void init() {

A=0,B1=0,C=0;//测酒精浓度 delay(15);

39

中北大学信息商务学院毕业设计说明书

LCD_EN=0;

write_cmd(0x01); //清除LCD的显示内容 write_cmd(0x38); //16*2显示,5*7点阵,8位数据 delay(5);

write_cmd(0x38); delay(5);

write_cmd(0x38); delay(5);

write_cmd(0x0c); //显示开,关光标 delay(5);

write_cmd(0x06); //移动光标 delay(5);

write_cmd(0x01); //清除LCD的显示内容 delay(5);

for(num=0;num<14;num++) { write_data(table1[num]); delay(20); } write_cmd(0x80+0x40);

for(num1=0;num1<6;num1++) { write_data(table3[num1]); delay(20); }

TMOD=0x20;//设置定时器1为工作方式2 TH1=0xfd; TL1=0xfd; TR1=1; }

void key() {

if(S3==0) { delay(5); if(S3==0) {

flag3=1; } while(!S3); delay(5); while(!S3);

40

中北大学信息商务学院毕业设计说明书

}

if(S2==0) { delay(5); if(S2==0) { A=0,B1=0,C=~C;//转换所测气体种类 flag++; if (flag%2==1) {

write_cmd(0x80+0x00);

for(num2=0;num2<5;num2++) { write_data(table2[num2]); delay(20); } } else { write_cmd(0x80+0x00);

for(num3=0;num3<5;num3++) { write_data(table4[num3]); delay(20); } } }

while(!S2); delay(5); while(!S2); } }

unsigned char ADconv(void) { unsigned char i;

unsigned int data_f=0,data_c=0; Di=1; CS=1; _nop_(); CS=0;

Di=1; //芯片使能之前的初始化。第一个下降沿 CLK=1; _nop_(); _nop_();

41

中北大学信息商务学院毕业设计说明书

CLK=0; // 确定通道模式、第2个下降沿 _nop_(); _nop_(); CLK=1;

Di=(bit)(0x02&CH); //设定通道初始化 _nop_(); CLK=0; _nop_(); _nop_(); CLK=1;

Di=(bit)(0x01&CH); //设定通道初始化 .第3个下降沿 _nop_(); _nop_();

CLK=0; //AD转化的初始化完成。 Di=1; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); CLK=1;

for(i=8;i>0;i--)//得到一个正常排序的8位数据 {

data_f|=Do; data_f<<=1; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); }

for(i=8;i>0;i--)//得到一个反序排列的8位数据 {

data_c<<=1; data_c|=Do; _nop_(); CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); }

42

中北大学信息商务学院毕业设计说明书

CLK=0; _nop_(); _nop_(); CLK=1; _nop_(); _nop_();

CLK=0; _nop_(); _nop_(); CLK=1; _nop_(); CS=1; _nop_(); _nop_(); return data_f; }

void ser() interrupt 4 { RI=0; flag1=1; }

43

中北大学信息商务学院毕业设计说明书

致 谢

在此论文撰写过程中,要特别感谢我的导师黄晋英老师的指导与督促,同时感谢她的谅解与包容。在进行论文撰写的时候,我的指导老师黄老师给予了很大的帮助,介绍了很多很有参考价值的资料,他渊博的专业知识,严谨的治学作风,育人求实的工作态度都体现在这次设计的指导中;我的朋友和曹学岩学长在本次课题的研究方面都给予了我很大的帮助,同时感谢他们在电脑技术上的耐心指导与帮助,在我遇到困难的时候帮助我,在他们的支持与鼓励下,我才能得以顺利完成该论文,在此向他们表示感谢;另外系上其他老师和同学都给了我大力支持和帮助,对这些老师和同学表示诚挚的谢意;求学历程是艰苦的,但又是快乐的。感谢我的班主任贺老师以及各位任课老师,谢谢您们在这四年中为我们全班所做的一切,您们不求回报,无私奉献的精神很让我感动,再次向您们表示由衷的感谢。在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。

44

中北大学信息商务学院毕业设计说明书

参考文献

[1]杨绍勃.装甲车辆内主要有害气体及其主要危害与对策[M].人民军医.2002,(3). 2-3 [2]何希才.传感器技术与应用[M].北京:北京航空航天大学出版社. 2005:45-47

[3]王学友,武海明,陈亚妮,岳红,孔魏,考希宾,杨巧丽.装甲车辆舱内有害气体自动监测与净化装置研究[J].军事医学,2012,(2):1-3

[4]徐定钧.基于金属氧化物气体传感器的车内有害气体检测研究[J].2009,3(25):11-15 [5]Philips Semiconductors.PDIUSBD12 USB interface device with parallel bus[M].2005,33(4): 251-260

[6]李中华.一种远程数据采集模块的设计[J].化工自动化及仪表. 2003,30(2):48-53 [7]汽车内有害气体检测现状与发展趋势[J]. 上海汽车,2008,(7):1 [8]殷景华,有机半导体气体传感器的研究[J].哈尔滨理工大学.2006(3).:2-3 [9]气体检测仪器仪表产业发展现状中国报告大厅市场研究报告网[R].2009(7).:19-21 [10] A Multichannel Data Acquisition and Analysis System based on off-the-shelf c51 Boards[M]. 2005,33(2):46 -47

[11]Specific_based_monitoring_system_for_hydro-generator_sets[J].2006,38(2):22 [12]有害气体检测仪项目投资前期市场深度调研及投资前景预测报告[R].2011:8-9 [13]卢丽君.基于TLC1543 的单片机多路采样监测系统的设计[J].仪器仪表与分析监测,2007,(04):5-7

[14] Acceleration signal estimation using neural networks[J]. 2004,22(7):45-55 [15]蒋国立,纪立红,冀文龙.基于遥测的移动舱室内气体检测方法[J].现代电子技术,2009,19:1-4

45

因篇幅问题不能全部显示,请点此查看更多更全内容