1、40 / 46基于单片机的气体质量检测系统的设计摘 要本论文研究设计了一种用于公共场所与室内具有检测与超限报警功能的室内空气质量检测系统。其设计方案基于89C51单片机,选择瑞士蒙巴波公司的CH20/S-10甲醛传感器和MQ-5气体传感器。系统将传感器输出的420mA的标准信号通过以AD0832为核心的A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示甲醛浓度值。文中详细介绍了数据采集子系统、数据处理过程以与数据显示子系统和报警电路的设计方法和过程。系统对于采样地点超出规定的甲醛容许浓度和天然气规定浓度时采用三极管驱动的单音频报警电路提醒监测人员。同时,操作人员对于具体报警点的上限
2、值可以通过单片机编程进行设置。 另外,该系统对浓度信号进行了信号补偿等处理,减少了测量误差,因此,具有较高的测量精度,而且结构简单,性能优良。本系统的量程为0-10ppm,精度为0.039ppm 。关键词: 甲醛检测/天然气检测/AT89C52单片机ABSTRACTThis thesis design of a paper for public places and indoor testing and over-limit alarm functions with indoor air quality testing system. Its design is based on 89C51
3、single chip, with the choice of MQ-5 gas sensors and CH20/S-10 formaldehyde sensor from Switzerland mengbabo pany. Sensor system will output 4 20mA standard signal through the core ADC0832 for A / D conversion circuit after conditioning, by the single-chip microputer for data processing, at last dis
4、play the formaldehyde concentration on the LCD . The article detailed the data acquisition subsystem, data processing and data display and alarm system circuit design method and process.When the sampling sites when the formaldehyde and Natural gas concentration exceeded,To the single-transistor driv
5、e circuit audio alarm will sound the alarm,Testing staff to remind.At the same time,The concentration of formaldehyde, Can be set through the single-chip programming. In addition, the system signals a concentration pensation signal processing, a reduction of measurement error, therefore, have a high
6、 measurement accuracy, and simple structure, excellent performance. The range of the system for 0-10ppm, accuracy 0.039ppm.Keywords:Formaldehyde detection,Natural gas detection, AT89C52 single-chip目 录中文摘要I英文摘要II1绪论11.1 引言1 概述22.1系统总概述22.2总体方案设计22.3硬件设计22.4软件设计32.5 硬件结构32.6 软件结构33 硬件设计43.1 硬件设计主电路图43
7、.2 硬件选择43.2.1 MCU的选择与简介43.2.2 单片机最小系统的实现63.2.3 数据采集系统83.2.4 模数转换的选择与简介113.2.5 按键选择与简介133.2.6 外围扩充存储器133.2.7 时钟芯片选择与简介143.2.8 上拉电阻153.2.9 液晶显示器简介153.2.10 报警电路163.2.11 硬件仿真环境介绍164软件设计184.1 编写语言的选择184.2 编译软件介绍184.3 主程序模块184.4模数转换194.5按键模块194.6时钟模块204.7液晶显示模块205系统仿真21结束语23致 谢24参考文献25附录26附录一 硬件设计主电路图26附录
8、二 检测主程序程序271 绪论1.1 引言甲醛是一种无色,有强烈刺激性气味的气体。易溶于水、醇和醚。甲醛在常温下是气态,通常以水溶液形式出现。其37%的水溶液称为福尔马林,医学和科研部门常用于标本的防腐保存。此溶液沸点为19.5故在室温时极易挥发,随着温度的上升甲醛的挥发速度加快。在我国有毒化学品优先控制中甲醛列居第二位。甲醛已被世界卫生组织确定为致癌和致畸形物质。甲醛是原浆毒物,能与蛋白质结合,吸入高浓度甲醛后会出现呼吸道的严重刺激和水肿、眼刺痛、头痛,也可发生支气管哮喘皮肤直接接触甲醛,可引起皮炎、色斑、坏死。经常吸入少量甲醛,能引起慢性中毒,出现粘膜充血、皮肤刺激症、过敏性皮炎、指甲角化
9、和脆弱等。全身症状有头痛、乏力、心悸、失眠、体重减轻以与植物神经紊乱等。天然气、液化天然气(俗称煤气罐)是一种多组分的混合气体,主要成分是烷烃,其中甲烷占绝大多数,另有少量的乙烷、丙烷和丁烷,此外一般还含有硫化氢、二氧化碳、氮和水气,以与微量的惰性气体,如氦和氩等。在标准状况下,甲烷至丁烷以气体状态存在,戊烷以上为液体。天然气在燃烧过程中产生的能影响人类呼吸系统健康的物质极少,产生的二氧化碳仅为煤的40%左右,产生的二氧化硫也很少。天然气易燃易爆和空气混合后,温度达到550左右就会燃烧;其混合物浓度达到5%15%,遇到火种就会爆炸。天然气热值高,约850010000千卡/米3,天然气燃烧后发出
10、的热量是一样体积的城市煤气的2.5倍左右。 概述2.1系统总概述本论文主要完成室内空气质量检测仪的软件设计,设计内容包括:A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。本系统采用单片机为控制核心,以实现室内空气质量检测仪的基本控制功能。系统主要功能内容包括:数据处理、时间设置、开始测量、超标报警、键盘检测、自动休眠:仪器若不进行称量操作,5分钟后自动进入休眠模式,以降低电源消耗。本系统设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。2.2总体方案设计室内甲醛污染和天然气泄露对人身体健康影响较大,标准规定的方法绝大多数是化学分析法,使用的手段是实验
11、室分析仪器 主要有比色计、 分光光度计、化学滴定、 气相和液相色谱。但这些方法费力费时、成本高、自动化程度低过程复杂、大多数过程是人工操作很难做到现场实时控制随着传感器和计算机技术的不断发展,现已有了基于单片机的空气质量检测仪,并且测试测试X围、分辨率、精度、稳定性已接近标准要求。因此本设计可选用基于电化学原理的甲醛传感器与MQ-5气体传感器。甲醛传感器其原理是空气中的甲醛在电极下发生氧化反应,产生的扩散电极电流与空气中的甲醛浓度成正比,通过检测放大电路和放大倍数的调整经A/D转换后送单片机;MQ-5气体传感器由微型AL2O3 陶瓷管、SnO2 敏感层,测量电极和加热器构成的敏感元件组成,通过
12、检测放大电路和放大倍数的调整经A/D转换后送单片机,由单片机现场自动控制检测并显示甲醛浓度和煤气、天然气主要参数。2.3硬件设计硬件设计部分主要包括:(MCU、A/D、时钟芯片、LCD、外围扩展数据RAM)等芯片的选择; 硬件主电路设计、数据采集、模数转换电路设计、液晶显示电路设计、外围扩充存储器接口电路、时钟电路、复位电路、键盘接口电路等功能模块电路设计1 。2.4软件设计软件设计部分主要包括:编写语言的选择、主程序/子程序流程的设计、功能模块程序的编写、软/硬件结合调试与演示。主要包括一下功能模块:51驱动、检测、液晶显示、时钟、键盘、模数软换。2.5 硬件结构硬件结构如图2-1图2-1硬
13、件电路结构图2.6 软件结构软件结构如图2-2图2-2软件结构框图3 硬件设计3.1 硬件设计主电路图硬件设计住电路图见附录一。3.2 硬件选择3.2.1MCU的选择与简介1).单片机的概念和特点现代社会中,尽管PC机的应用已经相当普遍,但是,在工控领域,在日益追求小而精、轻而薄的自动化控制器、自动化仪器仪表、家电产品等方面,PC机仍有所不相适宜的地方。而工业控制、仪器仪表、家电产品等市场广阔,要求PC机技术与之相适应。在这种情况下,单片机应运而生了(也称作微型计算机)。微型计算机的基本机构是由中央处理器、储存器、和I/O设备构成的。所谓的单片机是指将微型计算机3个单元的多个分体中的主要功能用
14、1个集成电路芯片来实现,该芯片具有一个微型计算机的基本功能。这种超大规模集成电路芯片即称为单片微型计算机,通常简称单片机。单片机具有以下特点:(1)受集成度限制,片内存储容量较小,一般8位单片机的ROM小于8/16K字节,RAM小于256字节,但可在外部扩展,通常ROM、RAM可分别扩展至64K字节。(2)可靠性好。芯片本身是按工业测控环境要求设计的,其抗工业噪声干扰优于一般通用CPU;程序指令与常数、表格固化在ROM中不易破坏;许多信号通道均在一个芯片内,故可靠性高。(3)易扩展。片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线与并行、串行输入/输出管脚,很容易构成各种规模
15、的计算机应用系统。(4)控制功能强。为了满足工业控制要求,一般单片机的指令系统中具有极丰富的条件分支转移指令、I/O口的逻辑操作以与位处理功能。一般说来,单片机的逻辑控制功能与运行速度均高于同一档次的微处理器。(5)一般单片机内无监控程序或系统通用管理软件,只放置有用户调试好的应用程序。但近年来也开始出现了在片内固化有BASIC解释程序的单片机4。2). 单片机的发展与趋势由于单片机具有以上特点,因此在工业控制、数据采集、智能仪器仪表、智能化设备和各种家用电器等领域得到广泛的应用。随着微电子工艺水平的提高,近十年来单片微型计算机有了飞速的发展。归纳起来,它是沿着两条路发展的: 改进集成电路制造
16、工艺,提高芯片的工作速度,降低工作电压和降低功耗: 在保留共同的CPU体系结构,最基本的外设装置(如异步串行口,定时器等)和一套公用的指令系统的基础上,根据不同的应用领域,把不同的外设装置集成到芯片内,在同一个家族内繁衍滋生出各种型号的单片机。近年来,单片机的生产厂家在单片机设计上采用了各种提高可靠性的新技术,主要表现在一下几点:(1) EFT(Electrical Fast Transient)技术(2)低噪音布线技术与驱动技术(3)采用低频时钟单片机在目前的发展形势下,表现出几大趋势:l 可靠性与应用水平越来越高,和internet连接已是一种明显的走向;l 所集成的部件越来越多;l 功耗
17、越来越低;l 和模拟电路结合越来越多。3).单片机选择(1)本系统采用单片机为控制核心。单片机/MCU主要有51基本型和52增强型,而相比之下52型比51型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统。(2)AT89C52介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和256K bytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统与8052产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,AT89C
18、52单片机适合于许多较为复杂控制应用场合。主要性能参数:l 与MCS-51产品指令和引脚完全兼容l 8K字节可重擦写FLASH闪存存储器l 1000次写/擦循环l 时钟频率:0Hz24MHzl 三级加密存储器l 256字节内部RAMl 32个可编程I/O口线l 3个16位定时/计数器l 6个中断源l 可编程串行UART通道l 低功耗的空闲和掉电模式l 片内振荡器和时钟电路 图3-1 引脚图3.2.2单片机最小系统的实现介绍完以上的单片机系统的核心芯片之后,我们采用AT89C52来实现一个单片机系统能运行起来的需求最小的系统,电路图见图3-2:图3-2 单片机最小系统图上图由晶振电路和复位电路,
19、AT89C52芯片组成,构成最小的单片机系统, 下面详细介绍其中的两个电路。(1)晶振电路单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,89c52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。对于CHMOS工
20、艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。本系统中为了尽量降低功耗的原则,采用了内部时钟方式。电路图如图3-3:图3-3 晶振电路图在89C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在530pF,典型值是22pF,晶振CYS选择的是12MHz。(2)复位电路复位的意义:片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生
21、;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断与串口乱传向外设发送数据.因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。复位电路原理:当在89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位,上电复位位见图3-4,要求接通电源后,单片机自动实现复位操作。常用的上电复位电路如下图所示。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下
22、降。图3-4 上电复位电路图RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12MHz时,C1为22uF:R1为8.2;振为6MHz时,C1为22uF,R1为1.本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC一样。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。开关按下时是按键手动复位电路,RST端通过
23、电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。复位电路图如图3-5: 图3-5 复位电路图3.2.3 数据采集系统从传感器过来的电压信号,必须放大,滤波,采集,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系4。甲醛传感器的选择:甲醛传感器由甲醛探头CH20传感器组成。甲醛传感器/甲醛模块(CH2O传感器)详细介绍如下表3-3:MQ-5气体传感器的选择:MQ-5气体传感器由微型A
24、L2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件组成。MQ-5气体传感器详细介绍如下表3-4。(3)测量电路测量电路由CH20/S-10甲醛传感器,MQ-5气体传感器,ADC0832组成。甲醛传感器由甲醛探头和CH20传感器组成。当空气被内部的采样系统吸收后,产生一个与甲醛浓度成正比的电压信号, 该电压信号经AD0832与AT89C52单片机相连,在显示器上显示出甲醛的浓度值,当超过国家规定的标准时报警。MQ-5传感器通过+热气对敏感层加热,当有烟雾性煤气接触单敏感层会产生电压信号经AD0832与AT89C52单片机相连超过国家规定的标准时报警。表3-3甲醛传感器参数表名称甲醛传
25、感器CH2O/S-10:测量X围0- 10 ppm最大负荷50ppm工作寿命空气中3年输 出1200300nA/ppm4-20mA(甲醛模块分辨率0.05 ppm温度X围-20 to 45压力X围大气压10%响应时间 (T 90) 50 seconds湿度X围-20 to 45零点输出 (纯净空体,20) 0.1 ppm最大零点漂移(20to 40)0.1 ppm长期漂移2% /每月推荐负载值10线性度输出线性重 量约32克表3-4 MQ-5气体传感器参数表名称MQ5气体传感器加热电压5.0V0.2V AC or DC负载电阻可调加热电阻313室温加热功耗900mW回路电压15V AC or
26、DC使用温度-10-50储存温度-20-70相对湿度小于95%Rh氧气浓度21%(标准条件)敏感体电阻10K-60K浓度斜率0.6标准工作条件温度:202Vc:5.0V0.1V相对湿度:65%5%Vh:5.0V0.1V预热时间不少于24小时探测X围300-5000ppm液化气,天然气,煤气。3.2.4 模数转换的选择与简介(1)实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SA
27、R)和1个逻辑控制单元。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。这类型ADC的分辨率和采样速率是相互牵制的。优点是分辨率低于12位时,价格较低,采样速率也很好。(2)由于ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在05V之间、工作频率为250KHZ 、转换时间为32 微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。电路图见图3-6如下:图3-6 模数转换电路图ADC0832 具有以下特点: 8位分辨率; 双
28、通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电源供电时输入电压在05V之间; 工作频率为250KHZ,转换时间为32S; 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C;芯片接口说明: CS_ 片选使能,低电平芯片使能; CH0 模拟输入通道0,或作为IN+/-使用; CH1 模拟输入通道1,或作为IN+/-使用; GND 芯片参考0 电位(地); DI 数据信号输入,选择通道控制; DO 数据信号输出,转换数据输出; CLK 芯片时钟输入; Vcc/REF 电源输入与
29、参考电压输入(复用);ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。单片机对ADC0832 的控制原理:正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以
30、将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,(4)测量量程本系统的量程为0-10ppm。由于我所使用的是8位ADC0832,所以本系统的精度为:10ppm/256=0.039pp
31、m。3.2.5 按键选择与简介本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以与和LCD连接显示运行状态和运行结果。键盘分为:独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统只有UP、DOWN 、OK 、CANCEL4个控制命令,所需按键较少,所以本系统选择独立式按键。电路图见图3-7:图3-7 按键电路图独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(AT89C52 .P1口内部接有上拉电
32、阻)所以就不需要再外接上拉电阻。键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖。硬件削抖是采用硬件电路的方法对键盘的按下抖动与释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。3.2.6 外围扩充存储器基于AT89C52单片机具有8KB的程序存储器(ROM),256B的数据存储器(RAM),由于考虑到本
33、系统的数据处理与存储所需的容量,现在需要扩充存储器的容量。在应用中要保存一些参数和状态,据了解基于EEPROM的存储芯片是一种很好的选择,选定了AT24C128存储器。电路图见图3-8: 图3-8 外围扩充存储电路图3.2.7 时钟芯片选择与简介因为此系统需要记录测量发生的时间,所以需要时钟芯片来记录不同人在不同时间的监测数据,因此我们在系统中加入了时钟芯片。对时钟芯片的要求首先是低功耗,其次是编程简单,缩短程序开发时间,实际上也就缩短了系统用于实际生产所用的开发周期以与成本,在本系统,我们选择了DS1302时钟芯片。时钟电路选择的芯片是 DS1302,其内含一个实时时钟/日历和31字节静态R
34、AM,可以通过串行接口与单片机通信。而通信时,仅需要3个口线:(1)RES(复位),(2)I/O数据线,(3)SCLK(串行时钟)。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。其工作时功耗很低,广泛应用于, ,便携式仪器等产品领域3。DS1302主要性能有:时实时钟能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年的调整能力;读/写时钟或RAM数据时,有单字节和多字节传送两种方式;与DS1202/TTL兼容。DS1302引脚概述:X1,X2:振荡源,外接32。768KHZ晶振;SCLK:串行时钟输入端。其电路图如图3-9: 图3-9 时钟电路图3.2.
35、8 上拉电阻在主电路图中接在P0口处有一个排阻RP1 ,由于P0口没有内接上拉电阻,为了为P0口外接线路有确定的高电平,所以要接上排阻RP1,以确保有P0口有稳定的电平。电路连接图如图3-10:图3-10 上拉电阻电路图3.2.9 液晶显示器简介对于本系统要有显示装置完成显示功能。显示器最好能够显示数据、图形。考虑到同种LCD显示器的屏幕越大体积越大,功耗越大的特点,在同类产品中选用了AMPIRE128X64液晶显示模块。该型号显示器消耗电量比较低,可以满足系统要求。该类液晶显示模块采用动态的液晶驱动,可用5V供电。以下为液晶显示电路接线原理图如图3-11 图3-11 液晶电路图在单片机系统中
36、应用液晶显示器作为输出器件有以下几个有点:显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比一样显示面积的传统显示器要轻的多。功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其他显示器要少的多5。3.2.10 报警电路报警信号通常有三种类型:一是闪光报警,因为闪动的指示灯更
37、能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂,软件量也增加。单频音报警:实现单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加315V直流工作电压,就能产生3kHZ左右的蜂鸣振荡音响。压电式蜂鸣器结构简单、耗电少,更适于在单片机系统中应用。压电式蜂鸣器,约需10mA的驱动电流,可在某端口接上一只三极管和电阻组成的驱动电路来驱动,基
38、于本系统的需求和功耗要求,只需要基本的报警功能即可,我选择采用的是三极管驱动的单音频报警电路。以下为报警电路接线图如图3-12图 3-12 报警电路图3.2.11 硬件仿真环境介绍Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机与其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器
39、等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以与各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。本章小结本章具体
40、的说明了系统硬件设计的内容,通过模块化的设计思想,把一个复杂的单片机系统按照功能划分成一个个单独的电路模型,分别进行设计,最后在集成到一起。这种方法对于设计复杂的单片机系统很有效。大大提高系统设计的效率与质量。4 软件设计4.1 编写语言的选择对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维
41、护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法。软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能写各个子程序。整个软件程序的编写采用查询式方式编写的。4.2 编译软件介绍Keil软件简介:单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软
42、件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统5。4.3 主程序模块主程序实现的功能:与硬件相结合实现便携式甲醛检测仪的各个功能。主要是检测与显示,时间调整与显示,数据存储。功能子函数的调用。见图4-1初始
43、化时钟初 始 化LCD 显示开机画面显示时间显示主菜单初始化CPU开始读键图4-1 主程序流程图4.4模数转换(1) 模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。(2) ADC0832转换的流程图如下图4-2图 4-2数转换流程图4.5按键模块(1) 按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。(2) 按键查询式的流程图如下图:图 4-3 按键查询式的流程图4.6时钟模块(1) DS1302模块主要是用于设置时间和与MCU通信经LCD显示时间。(2) 时钟模块操作流程
44、图如下图:图 4-4时钟模块操作流程图4.7液晶显示模块LCD模块在本系统中主要起着开界面汉字显示,以与各控制效果的显示。采用直接访问方式。液晶显示的操作流程图如下图4-5:图 4-5液晶显示的操作流程图5 系统仿真前面已经把单片机系统的硬件设计和软件设计完成了,下一步就可以着手进行仿真,因为在设计的过程之中肯定有许多的错误,需要进行仿真来发现错误和调试错误。这样才能使单片机低功耗计数系统的设计更加完善,本次系统仿真采用的是软件仿真,使用的是proteus软件。Proteus软件由ISIS和ARES两个软件构成,其中ISIS是原理图编辑与仿真软件,ARES是布线编辑软件。本次系统的硬件设计其中
45、的原理图编辑和PCB布线就是在这个软件环境中完成的,至于软件设计,则是采用proteus软件中的ISIS和Keil uVision进行联合调试8。当硬件设计和软件设计都完成的时候就可以看到虚拟的基于单片机的低功耗计数系统的运行,以下为仿真效果:一、编译结束,添加HEX文件单击PROTEUS运行按钮,本系统主界面显示图如图5-1所示图 5-1主界面显示图二、系统接下来显示,4个基本操作功能,小对号为该操作显示项,如图5-2图5-2 功能界面三、选择“开始测量”,单击“OK”键,便有下面测量选择界面,如图5-3 图 5-3 测量选择界面四、再按“OK”,则显示检测数据,X围0-10ppm.如图5-4图 5-4测量界面显示图五、4个功能的操作和演示是一样的,以下为“时间设置”显示图,如图5-5图 5-5当前时间显示图六、小结:本系统原先打算设计“开始测量”、“数据存储”、“时间设置”“通讯设置”等4个基本功能,后由于条件所限,我们并未做出全部的功能,但这次的毕业设计,收获还是很多的!今后我们会进一步进完善该系统。结束语目前,公共场所民用建筑室内需要检测甲醛气体,同样建筑材料中甲醛含量也需要检测