基于单片机的酒精气体检测系统设计【毕业论文】.doc

上传人:文初 文档编号:6388 上传时间:2018-04-01 格式:DOC 页数:31 大小:751KB
下载 相关 举报
基于单片机的酒精气体检测系统设计【毕业论文】.doc_第1页
第1页 / 共31页
基于单片机的酒精气体检测系统设计【毕业论文】.doc_第2页
第2页 / 共31页
基于单片机的酒精气体检测系统设计【毕业论文】.doc_第3页
第3页 / 共31页
基于单片机的酒精气体检测系统设计【毕业论文】.doc_第4页
第4页 / 共31页
基于单片机的酒精气体检测系统设计【毕业论文】.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、(2011届)毕业设计题目基于单片机的酒精气体检测系统设计姓名专业电子信息工程班级学号指导教师导师职称年月日I基于单片机的酒精气体检测系统设计摘要本文所设计的检测系统可用于对多种场合的酒精气体的浓度检测和显示。系统以AT89C51单片机与MQ3型气体传感器为核心元件,实现对酒精浓度的检测并显示测量结果。用二极管显示浓度的高低,当浓度达到设定值时报警电路发出警报。具体毕业设计工作为硬件系统设计1、设计了以MQ3气敏传感器为核心的酒精浓度检测模块。2、将模拟电压信号放大并驱动发光二极管点亮报警的电路。3、将采集到的模拟电压信号经过A/D转换,然后通过单片机控制得到数字电压信号的相关电路。4、酒精浓

2、度的数码管显示模块。软件系统设计研究了通过软件手段实现酒精浓度到电压值之间的线性转换、A/D转换程序以及酒精浓度值的显示程序。本文所设计的传感器对酒精气体反应灵敏,能在有效范围内实现对其浓度的测量。关键词气敏传感器,A/D转换,单片机,酒精浓度测量IIRESEARCHONSCMBASEDALCOHOLGASDETECTIONSYSTEMABSTRACTTHISPAPERDESIGNEDBYDETECTIONSYSTEMWHICHCANBEUSEDONMANYOCCASIONSALCOHOLGASCONCENTRATIONMEASUREMENTANDDISPLAYSYSTEMTOAT89C51A

3、NDMQ3TYPEGASSENSORASTHECORECOMPONENTOFALCOHOLCONCENTRATION,TOREALIZETHEDETECTIONANDDISPLAYMEASUREDRESULTSUSINGDIODEDISPLAYCONCENTRATIONOFDISCRETION,WHENTHECONCENTRATIONOFTHEALARMINGCIRCUITTOSETTINGANALARMSPECIFICGRADUATIONDESIGNWORKFORHARDWARESYSTEMDESIGN1,DESIGNEDTOMQ3GASSENSORSASTHECOREOFALCOHOLCO

4、NCENTRATIONMEASUREMENTMODULES2,WILLSIMULATIONVOLTAGEAMPLIFICATIONANDDRIVELEDSLIGHTALARMCIRCUIT3,WILLTHECOLLECTEDSIMULATIONVOLTAGESIGNALAFTERA/DCONVERSION,ANDTHENTHROUGHTHESINGLECHIPMICROCOMPUTERCONTROLTHEVOLTAGESIGNALOBTAINEDRELEVANTDIGITALCIRCUIT4,ALCOHOLCONCENTRATIONOFDIGITALTUBEDISPLAYMODULESOFTW

5、ARESYSTEMDESIGNTHROUGHSOFTWAREMEANSALCOHOLCONCENTRATIONTOTHEVOLTAGEVALUEBETWEENTHELINEARTRANSFORMATION,A/DCONVERSIONPROGRAMANDALCOHOLCHROMAVALUEDISPLAYPROGRAMTHISDESIGNSENSORSTOALCOHOLGASSENSTIVEREACTION,CANREALIZETHEEFFECTIVELIMITSONITSCONCENTRATIONMEASUREMENTKEYWORDSGASSENSOR,A/DCONVERSION,SINGLEC

6、HIPMICROCOMPUTER,ALCOHOLCONCENTRATIONMEASUREMENTIII目录摘要IABSTRACTII1绪论111课题的来源、意义112酒精气体检测系统国内外发展现状113本文研究的主要内容22硬件电路的设计与实现421硬件系统框图422信号采集电路4221气体传感器的选择4222信号采采样电路623信号转换电路724发光二极管报警电路1125数码管显示电路1326系统整体电路图153软件系统设计1631软件开发环境1632程序流程1633程序代码编写17331初始化程序17332A/D转换和数据处理18333数码管显示程序21结论23参考文献24致谢25附录26

7、基于单片机的酒精检测系统设计11绪论11课题的来源、意义气体与人类的日常生活密切相关,从工厂企业到居民家庭,酒精泄露的检测、监控以及对酒后驾车的检测对居民的人身和财产安全都是十分重要且必不可少的。现在,由于人们的安全意思的增强,对环境安全性和生活舒适性要求的提高,再加上气体传感器向低功耗、多功能、集成化方向的发展,因此,酒精浓度检测仪具有十分广阔的市场和潜在的市场要求1。生活中酒精气体浓度的检测,最主要的用途是检测司机的酒精含量。在我国,由交通事故造成死亡中50以上都与酒后驾车有关,酒后驾车的危害触目惊心。当驾驶者血液中酒精含量达80MG/100ML时,发生交通事故的几率是不含酒精时的25倍;

8、达到100MG/100ML时,发生交通事故的几率是不含酒精时的47倍。同时酒精气体浓度探测仪在生产生活中也有重要的应用,比如,在一些环境要求严格的生产车间,用这种酒精浓度探测仪,可随时检测车间内的酒精气体浓度,当酒精气体浓度高于允许限定值时,发出警报,提醒人们及时通风换气,做到安全生产。因此设计酒精气体检测系统十分地具有意义。12酒精气体检测系统国内外发展现状由于气体与人类的日常生活密切相关,对气体的检测已经是保护和改善生态居住环境不可缺少的手段,气体传感器发挥着极其重要的作用。气体传感器是把气体中的特定的成分检测出来,并转化为电信号的器件,用来对有害气体,易燃易爆气体等进行安全检测和报警,对

9、生产生活中需要了解的气体进行检测,分析,研究等。近年来,我国气敏传感器产业有了较快的发展,但与国外相比,从技术水平,产业化及应用等领域均存在着不小的差距。目前,气敏传感器领域还存在一些问题。一是元件的稳定性差。由于元件电阻和灵敏度的变化,给检测结果带来不稳定的因素。二是选择性差。由于在检测气体时,通常还有着其它的气体,使其发生交叉响应,产生误报。三是催化剂中毒。有些具有催化剂的气敏元件接触某些气体后,活性组分被毒化,降低其敏感度和稳定性,另外催化剂本身也存在着不稳定性和灵敏度的问题。四是SNO2元件有时由于灵敏度过大导致误报,但是在检测某些低浓度气体时灵敏度却难以达到要求。因此基于单片机的酒精

10、气体检测系统设计有着无可比拟的优势2。气敏元件性能与敏感功能和材料的种类、结构及制作工艺相关。用金属氧化敏感材料制作的气敏元件具有灵敏度高,结构简单,体小质轻,坚固耐用等毕业设计2优点。SNO2是一种广普型的气敏材料,应用十分广泛。为了使其气敏特性更好,常在SNO2基体中掺入其他贵金属或金属氧化物。通过控制气敏材料微粒大小,颗粒纳米化,掺杂其它添加剂或催化剂,利用过滤设备或透气膜来获得选择性,控制工作温度及环境湿度影响,改进制备等方法可以改善SNO2传感器的气敏性能。纳米科学技术NANOST是研究尺寸在01100NM的物质组成体系的运动规律和相互作用以及可能的实际应用中的技术问题的科学技术。纳

11、米技术的发展,不仅为传感器提供了优良的敏感材料,而且为传感器制作提供了许多新型方法。纳米固体材料具有庞大的界面,提供了大量气体通道,从而大大提高了灵敏度,工作温度大大降低,大大缩小了传感器的尺寸。当然,现在的纳米传感领域中尚存在很多问题,从敏感材料到制作技术都很不成熟,其性能也有不尽人意的地方3。13本文研究的主要内容本文以单片机和酒精传感器为核心设计酒精浓度检测系统,具有报警功能及LED显示功能。根据不同的环境设定不同的阈值,超过阈值即进行报警,提示危害。采用汇编语言来实现其软件功能,该系统硬件电路设计简单,软件功能完善、灵敏度高、工作性好,并且具有尺寸小、方便携带的优点。酒精浓度检测仪主要

12、是用来检测酒精浓度的,对酒精气体的质量浓度进行自动测量、自动显示、光亮报警,并给出数字提示。硬件设计的电路结构主要由MQ3型酒敏传感器、模数转换电路、单片机、驱动显示器、报警电路等部分组成。其工作原理为酒精传感器将检测到的酒精浓度信号经MQ3型酒敏传感器转换为05V的电压信号,并且该电压信号的大小与气体中的酒精浓度成正比,然后将电信号传送给模数转换器,经过A/D转换后,把转换得到的数字信号传给单片机,单片机对所输入的数字信号进行分析处理,最后将分析处理的结果通过LED显示和二极管显示电路进行报警。设计中选用由美国ATMEL公司生产的AT89C51作为智能检测装置的核心器件,AT89C51的P0

13、口与ADC0809的8位输出端相连,用来接收转换好的8位数据;P1口与LED显示模块相连,由内部程序来控制各引脚电平,使LED显示器做出相应的显示;P2口与报警模块相连,对设定值提供报警功能,该功能用发光二极管显示4。软件设计采用C51汇编语言编写,使用模块化设计,层次分明,功能强,易于调试,具有很强的可扩充性和较强的可靠性。系统程序主要完成A/D转换、数码显示、发光二极管报警等功能。软件对酒敏传感器的测量信号进行A/D转换,将测量数值与规定标准进行比较后判断饮酒程度,对不同等级的饮酒程度调用相应的显示、报警程序。基于单片机的酒精检测系统设计32硬件电路设计与实现21硬件系统框图基于AT89C

14、51单片机实现酒精气体浓度的检测,通过MQ3型气体传感器构成的信号采集模块用于对酒精浓度信号的采集,该信号是通过MQ3气体传感器和负载电阻得到分压电信号。信号转换模块是用来把采集到得的模拟电压信号转换成可以用单片机处理的数字信号。数码管显示模块是对单片机处理后的数字信号的显示,用来显示酒精的浓度。报警模块是对酒精浓度进行报警功能,该功能用发光二极管显示。根据各功能模块的设计,可得到它的系统总框图,如图21所示5。图21系统总框图22信号采集电路221气体传感器的选择气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。探测头通过气体传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干

15、燥或制冷处理仪表显示部分;气体传感器是一种将气体的成份、浓度等信息转换成可以被人员、仪器仪表、计算机等利用的信息的装置。对于气体传感器的选择的要求一般有1、根据测量对象与测量环境,即根据测量对象与测量环境确定传感器的类酒精气体MQ3气敏传感器ADC0809单片机数码管LM3914发光二极管毕业设计4型。2、灵敏度的选择,通常在传感器的线性范围内,希望传感器的灵敏度越高越好。同时也要求传感器本身应具有较高的信噪比,尽量减少从外界引入的于扰信号。3、响应特性,传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应有定延迟,我们希望延迟时间越短越好。

16、4、线性范围,传感器的线形范围是指输出与输入成正比的范围。综上所述,本设计中的酒精气体传感器采用上海福美斯科技有限公司的MQ3型,它属于MQ系列气敏元件的一种。如图22所示图22MQ3特点检测范围为10PPM2000PPM;灵敏度高,输出信号为伏特级;响应速度快,小于10秒;功耗小于075W。MQ3型气敏传感器由微型AL2O3陶瓷管、SNO2敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。当SNO2敏感层表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电阻会随着被测气体浓度的变化而变化。MQ3的灵敏度特性曲线如图

17、23所示。图23MQ3灵敏度特性曲线基于单片机的酒精检测系统设计5222信号采样电路信号的采样模块电路如图24所示。MQ3的加热电阻两端即H引脚接至5V直流稳压电源,用于电阻丝对敏感体电阻的加热。MQ3的两个A引脚相连,作为敏感体电阻的一个电极。MQ3的两个B引脚也连接在一起,作为敏感体电阻的另一个电极。将电极断A接到电源正极,电极端B接两个270并联的电阻。MQ3型气敏传感器与电位器串联构成分压电路,采样点为电位器的分压。MQ3型气敏传感器的敏感部分是由金属氧化物SNO2的N型半导体微晶烧结层构成。当其表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电阻会随着被测气体浓

18、度的变化而变化。由于这种变化是可逆的,所以能重复使用。当气敏传感器的敏感体电阻阻值发生改变时,对应的电位器的分压值也会发生相应的变化,即一个电压值对应着一个被测酒精气体浓度。对酒精气体浓度的采样就可以转化为对电位器分压的采样。在采样硬件电路中要考虑到MQ3的实际技术参数,即加热电阻和敏感体电阻的大小,该部分应与电源正极相连。负载电阻要根据MQ3实际的技术参数而选择阻值合适的电阻,根据资料条件,MQ3的敏感体电阻只有200K,所以负载电阻选用两个270并联,构成采样部分的分压电阻6。图24信号采样电路23信号转换电路AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,有以下

19、标准功能两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路,4K字节FLASH闪速存储器,128字内部RAM,32个I/O口线。功能强大AT89C51可为提供许多高性价比的应用场合,可应用于各种控制领域。毕业设计6根据设计需要,本文所选用的是以8051为核心单元ATMEL公司的低耗AT89C51单片机。AT89C51芯片有40条引脚,采用双列直插式封装,下面说明各引脚功能,如图25所示。图25AT89C51芯片管脚XTAL1振荡器反相放大器的输入端。XTAL2振荡器反相放大器的输出端。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将

20、使单片机复位。EA/VPP外部访问允许。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的L/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。P0口双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。P1口8位准双向I/O口,可驱动4个LS型TTL负载。P2口8位准双向I/O口,与地址总线(高8位)复用,驱动4个LS型TTL负载。P3口8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。P3口还有它的第二功能,如P36WR低电

21、平有效,输出,片外存储器写选通,P37RD低电平有效,输出,片外存储器读选通。单片机最小系统的设计包括电源,晶振和复位电路三个部分。这是使单片机正常工作的必要外围电路部分。电源部分,单片机的引脚40对应的VCC接到5V电源的正极,引脚20对应的VSS(GND)接到5V电源的接地端,为AT89C51单片机提供正常的工作基于单片机的酒精检测系统设计7电压。晶振部分,AT89C51单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1(19)和XTAL2(18)分别对应放大器的输入端和输出端。这个放大器与片外的石英晶体或陶瓷谐振器一起构成自激振荡器。石英晶体及电容C1和C2接在放大器的反

22、馈回路中构成并联谐振电路。石英晶体的两端分别接到引脚XTAL1和引脚XTAL2,同时石英晶体的两端分别接一个电容C1和C2,电容的另一端接地。对于外接电容C1和C2的大小虽然没有十分严格的要求,但电容容量的大小还是会对振荡频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。根据技术资料的推荐,设计中接的两个电容为石英晶体且容量都为30PF。复位电路部分,AT89C51技术资料给出,当振荡器工作时,RST引脚出现两个机器周期以上的高电平将使单片机复位。复位是单片机的初始化操作,除了系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,需按复位键以重新启动,所以

23、复位电路的设计很有必要。复位电路通常采用上电自动复位、按键复位两种方式,本设计选用按键电平复位方式,22F的电容C3与200的电阻R3和按键并联,然后和R4串联,电容的正极端接到电源的正极,电容的另一端接至引脚RST。设计中选用的石英晶体大小为6MHZ,但复位键按下后,电容和电阻选用的参数值能够保证给复位端RST提供大于2个机器周期的高电平复位信号,如图26所示7。图26单片机最小系统设计电路DC0809是CMOS工艺8通道,8位逐次逼近式A/D转换器。ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。ADC0809芯片有28条引

24、脚,采用双列直插式封装,如图27所示。下面说明各引脚功能。IN0IN78路模拟量输入端。毕业设计8D0D78位数字量输出端。ALE地址锁存允许信号,输入,高电平有效。STARTA/D转换启动脉冲输入端。EOCA/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。CLK时钟脉冲输入端。要求时钟频率不高于640KHZ。ADDA、ADDB、ADDC3位地址输入线,用于选通8路模拟输入中的一路。OE数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。图27ADC0809芯片ADC0809的工作过程是首先输入3位

25、地址,使ALE1,将地址存入地址锁存器中。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。当检测到酒精气味时,气体传感器的AB间电阻变小,则ADC0809的模拟输入端IN0的电压变大。采用查询方式对输入模拟信号进行A/D转换,然后将数据通过三位八段数码管显示。ADC0809芯片内部没有时钟脉冲源,可以用单片机提供的地址锁存控制输入信号ALE经D触发器二分频后,可作为AD

26、C0809的时钟输入。ALE端信号的频率是单片机时钟频率的1/6。单片机的时钟频率是6MHZ,则ALE端输出信号的频率为1MHZ,再经过D触发器二分频后为500KHZ,符合ADC0809对时钟频率的要求。地址选通端ADDC,ADDB,ADDA分别与单片机地址总线的低三位A2,A1,A0相连,选通IN0IN7中的某一通道。将P27作为片选信号端,在启动A/D转换时,由单片机的写信号WR和P27引脚信号控制ADC的地址锁存和转换启动,由于ALE和START连在一起,因此ADC0809在锁存基于单片机的酒精检测系统设计9通道地址的同时,启动并进行转换。在读取转换结果时,用低电平的读信号RD和P27引

27、脚经或非门后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。单片机引脚P23与A/D转换芯片的EOC端经过或非门后的输出端用导线相连接,用于单片机对A/D转换是否结束的查询,A/D转换结束后可以查询到P23为高电平,为单片机读取数据作准备。单片机的ALE端口接到D触发器的时钟信号输入端CLK,D触发器的反相输出端与触发信号输入端用导线相连,D触发器的清零和复位端为低电平有效,分别接高电平,D触发器的正向输出端与ADC0809的CLK端子用导线相连接,为A/D转换芯片提供正常的时钟信号。把ADC0809的ADDC,ADDB,ADDA端分别用导线连接到地址锁存器的低三位,用于选择A/D转换的通

28、道。A/D转换芯片的IN0端用导线与信号采样部分的负载电阻端相连,作为要A/D转换的输入端。单片机引脚P00P07连接到A/D转换芯片的数据输出端D0D1D2D3D4D5D6D7端,用于读取A/D转换后的数据。地址锁存芯片74LS373的输入端低三位分别与单片机引脚P00P02连接,用于锁存选择A/D转换通道的地址8。图28ADC0809与单片机89C51的接口电路24发光二极管报警电路LM3914是10位发光二极管驱动器,它可以把输入模拟量转换为数字量输出驱动10位发光二极管来进行点显示或柱显示,其内部由输入缓冲器、10级毕业设计10电压比较器(由分压器和比较器组成)、显示模拟选择电路、12

29、5V基准电压比较器组成。LM3914的4脚和6脚之间连接有10个精密分压电阻,7脚和8脚之间是一个参考电压源,9脚为点/柱模式选择,5脚为信号输入端,如图29所示。模拟信号从5脚(输入端)加入,经输入缓冲器放大后,送至10级电压比较器的反相输出端,与各电压比较器正相输入端的分压器上的基准电压进行比较。每级分压器上的基准电压为0125V,逐级比较电平分别为0125V、025V、0375V、05V125V。当输入模拟信号电压低于0125V时,10级比较器均输出高电平;当输入信号电压高于0125V时,电压比较器1输出低电平(1脚);当输入信号高于025V时,电压比较器2输出低电平(18脚)当输入信号

30、电压高于125V时,电压比较器10输出低电平(10脚)。若将10个输出端接上发光二极管,即可线性地显示输入信号的大小。LM3914的9脚为点/柱方式选择端,当9脚与11脚相接为点状显示;当9脚与3脚相接,则为柱状显示。本系统采用柱状显示方式,即将引脚9和引脚3都接到电源的正极。图29LM319管脚如图210所示,LM3914的3和9引脚接电源正极,使发光二极管成柱状显示,7和8引脚接一个2K的电阻,控制发光二极管的亮度,5引脚为采样信号的输入端,10到18引脚和1引脚分别接发光二极管的负极端,4和2引脚与发光二极管的正极间接一个10F的电容,作为发光二极管的虚电源,驱动二极管点亮。当检测到酒精

31、气味时,气敏传感器的AB间电阻变小,LM3914的5端电位升高,通过比较放大,驱动发光二极管依次发光,从而区分出酒精含量的高低,直观的看出所测的酒精浓度达到了哪个水平值,起到报警的作用。改变7脚与8脚之间电阻的阻值可以调节发光二极管的显示亮度,当阻值增加亮度减弱,反之加强9。基于单片机的酒精检测系统设计11图210发光二极管报警电路25数码管显示电路数码管是一种半导体发光器件,其基本单元是发光二极管,按发光二极管单元连接方式有共阴极和共阳极两种结构形。共阳数码管在应用时应将公共极COM接到5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。8

32、段共阳数码管由ABCDEFG、DG这8个发光二极管组成,把8个发光二极管的阳极连接在一起构成共阳极端,接进电路时,共阳极端接5V,给要发光显示的二极管的阴极端接低电平可使该发光二极管导通点亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码。根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态驱动是将所有数码管的8个显示笔划的同名端

33、连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。毕业设计12图211数码管显示电路本设计选用3个单位8段共阳数码管来显示输出的数据,因为与单片机之间的连接比较简单,所以选择静态显示方法,选用3个移位寄存器74LS164驱动数码管发光点亮。移位寄存器在电路中一是驱动数码管点亮,二是对输入的串行数据并行输出,起到串并转换的作用。移位寄存器74LS164串行数据输入端与前一位的并行输出最高位相连,第一位移位寄存器的数据输入端与单片机的数据输出端P17连接。单片机引脚P16用于给移位寄

34、存器提供移位的时钟脉冲,该引脚与三个移位寄存器的时钟输入端CLK相连。数码管引脚A、B、C、D、E、F、G、DG应顺序与对应位的移位寄存器并行输出端的Q0、Q1、Q2、Q3、Q4、Q5、Q6、Q7之间串100电阻。电路连接如图211所示10。26系统整体电路图信号采样模块电路的输出接到发光二极管显示LM3914的输入端,同时也将采样信号输出端接至A/D转换芯片的输入端,再加上单片机最小系统电路、单片机与A/D转换芯片的连接和单片机与数码管显示的连接,即可作出它的整体电路图,如图212所示。基于单片机的酒精检测系统设计13图212系统整体电路图123456ABCD654321DCBA标题图号修订

35、尺寸B日期27MAY2011第张共张文件DPROGRAMFILESDESIGNEXPLORER99SEMYDESIGN1DDB制图人P101P112P123P134P145P156P167P178RST/V9RXD10TXD11INTO12INT113T014T115WR16RD17XTAL218XTAL119VSS20VCC40P0039P0138P0237P0336P0435P0534P0633P0732EA/VPP31ALE/PROG30PSEN29P2728P2627P2526P2425P2324P2223P2122P2021U189C511A3A4B6B2H5HU3MQ3R1270R

36、2270Y16MHZC130PFC230PFC322UFR31KS1SWPBD1LED1D2LED2D3LED3D6LED6D7LED7D8LED8D4LE4D9LED9VL218VL317VL416VL515VL614VL713VL812VL911VL1010VL11U2U3RLO4UIN5RHI6UREF7UREF8M9U4LM3914D10LED10D5LED5R52KC410UFU574LS02U674LS02U774LS02IN31IN42IN53IN64IN75START6EOC7ALE22OE9CLOCK10VCC11VREF12GND13VREF16IN228IN127IN02

37、6ADDA25ADDB24ADDC23D017D721D620D519D418D38D215D114U2ADC0809RD1CLK3D2SD4Q5Q6U874LS74OE1O02D03D14O15O26O39D27GND10O719VCC20D718D617O616O515D514D413O412D38LE11U974LS374ABFCGDEDPY1234567ABCDEFG8DPDPDS1DPY_7SEG_DPABFCGDEDPY1234567ABCDEFG8DPDPDS2DPY_7SEG_DPABFCGDEDPY1234567ABCDEFG8DPDPDS3DPY_7SEG_DPQ03Q14

38、Q25Q36Q410Q511Q612Q713DSA1DSB2VCC14GND7CP8MR9DS474LS164Q03Q14Q25Q36Q410Q511Q612Q713DSA1DSB2VCC14GND7CP8MR9DS574LS164Q03Q14Q25Q36Q410Q511Q612Q713DSA1DSB2VCC14GND7CP8MR9DS674LS164VCCVCCVCCR4200R6100R14100R22100VCC毕业设计143软件系统设计31软件开发环境选用的开发平台为KEILC51单片机集成开发环境,C51工具包的整体结构,UVISION与ISHELL分别是C51FORWINDOWS和

39、FORDOS的集成开发环境IDE,完成编辑、编译、连接、调试、仿真等整个开发流程。我们可用IDE本身或其它编辑器编辑C或汇编源文件,然后由C51及C51编译器编译生成目标文件OBJ。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件ABS。ABS文件由OH51转换成标准的HEX文件,以供调试器DSCOPE51或TSCOPE51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。32程序流程当检测到酒精气味时,气体传感器MQ3两个电极端AB间电阻将变小,对应与气体传感器负载电阻的分压将变大。因为ADC0809的

40、模拟输入端IN0与负载电阻的一端用导线连在了一起。所以单片机在启动测试A/D转换芯片之前要选择通道0,写入A/D转换芯片,并将用作查询的单片机引脚P23置位,然后启动对通道IN0端输入的采集电压信号作A/D转换,等待转换的结束。采用查询方式来检测A/D转换是否结束,当单片机引脚P23为1时转换未结束等基于单片机的酒精检测系统设计15待,当查询到P23为0时表示A/D转换已经结束,可以开始读取数据了。单片机通过I/O口与A/D转换芯片的数据输出口相连读取转换后的数据。读取后的数据送到数据存储器单元中,经过单片机作相应的处理,即要将该电压值转换为酒精浓度值,然后处理后的数据转换成三位十进制BCD码

41、用数码管显示。程序流程图如图31所示。图31程序流程图33程序代码编写331初始化程序系统电源线接通或者系统复位后,程序从主程序开始运行。因为在程序中每次对A/D转换后读取的数据,需要相应的存储空间,同时对读取的数据作适当处理后也要送到特定的存储空间存储起来,以供后面的数码管显示用。当然,在程序运行的过程当中,还要用到工作寄存器,因为工作寄存器都是临时存储单片机初始化选择A/D通道地址A/D转换是否结束P231单片机P23置位并启动A/D转换单片机读取并处理数据NY开始数码管显示数值毕业设计16数据,不需要保存作为以后处理要用到的数据,所以工作寄存器的初始化这部分可以省去。初始化程序从数据存储

42、器地址为20H单元开始,到80H单元全部清零。即每次的初始化将上次存储的数据全部清除,用于存放当前要存储的数据。于是,对于程序的初始化程序代码可以相应写出STARTMOVR7,60HMOVR0,20HCLRALOOPMOVR0,AINCR0DJNZR7,LOOP332A/D转换和数据处理程序对模拟电压信号的数字转换由单片机AT89C51控制ADC0809完成。模拟电压的输入端接在A/D转换芯片的IN0通道,再根据单片机与A/D转换芯片的连接,单片机在选择读写地址时应该为7FF8H。因为单片机高8位地址位的P27位与单片机的WR位经或非后与模数转换芯片的START和ALE用导线连接。所以单片机在

43、将地址7FF8H写入A/D转换芯片后,一方面A/D转换芯片锁存地址选择线的状态,从而选通相应的模拟通道,同时启动模数转换。模数转换需要一定的时间,这时可以开始对转换是否结束进行不断的查询。ADC0809中模数转换结束输出标志位是EOC,转换结束时为高电平有效。该位通过一个反相器与单片机引脚P23相连,因为启动模数转换之前P23位被置位,所以当查询到P23位为1时即表示模数转换结束。最后将转换后的数据读取到单片机累加器A中。根据这思路可以写出A/D转换的子程序代码11TESTMOVDPTR,7FF8HSETBP23MOVXDPTR,AJBP23,MOVXA,DPTRRET因为实际的电压值范围在0

44、5V之间,而ADC0809模数转换芯片对应的是8位精度的处理,即从00000000B到11111111B,即单片机读取转换后的数字电压,还要对它作个处理工作第一位单字节除51,为了可能碰到双字节相除的情况,接下来的小数部分位的除51则要作双字节的除法,这样才能保证使所有位能显示出来。相除后对应的每一位分别送到地址为7DH,7EH,7FH的存储单元保存,以供显示或后续处理用。电压转换部分程序可以写出来12基于单片机的酒精检测系统设计17MOVB,51DIVABMOV7DH,AMOVA,BMOVB,10MULABMOVR6,AMOVR7,BACALLDIV16MOV7EH,R6MOVA,R2MOV

45、B,10MULABMOVR6,AMOVR7,BACALLDIV16MOV7FH,R6经过处理后实际采样到的电压值对应的各个位就分别存储在7DH,7EH,7FH三个存储单元里面了。模数转换后得到的数字电压量被单片机读取后还要作一定的数据处理,其中包括把电压值转换为与之相对应的酒精浓度值,根据设计思路,对电压值都近似作对应区间的线性转换13。即单片机要先对采集到的数据在哪个区间作个判断跳转,然后再根据该区间的线性关系作转换,得到对应的酒精浓度值。在酒精气体浓度的每个小区间内,将电压值与数码管显示值之间的关系当作线性处理,即每段小区间对应着一个线性映射关系,如表31所示。表31浓度与电压线性映射关系

46、电压值区间浓度转换关系361320C011V0022320274C035V0789274233C017V0296233173C011V0156173145C0046V0047145075C0014V根据酒精浓度与电压的线性映射关系,写出该部分的程序代码14MOVB,100毕业设计18MVLABMOVR6,AMOVR7,BMOVR5,0MOVR4,51ACALLDIV16MOV70H,R6MOV71H,R7MOVA,71HJNZL5L1MOV72H,75CLRCMOVA,70HSUBBA,72HJNCL2ACALLPP0AJMPPPL2MOV72H,145CLRCMOVA,70HSUBBA,72

47、HJNCL3ACALLPP1AJMPPPL3MOV72H,173CLRCMOVA,70HSUBBA,72HJNCL4ACALLPP2AJMPPPL4MOV72H,233CLRCMOVA,70HSUBBA,72H基于单片机的酒精检测系统设计19JNCL5ACALLPP3AJMPPPL5MOV72H,18CLRCMOVA,70HSUBBA,72HJNCL6ACALLPP4AJMPPPL6MOV72H,64CLRCMOVA,70HSUBBA,72HJNCL7ACALLPP5AJMPPPL7MOV72H,105CLRCMOVA,70HSUBBA,72HJNCL8ACALLPP6AJMPPPL8ACAL

48、LPP7AJMPPP333数码管显示程序从读取到的电压值得到酒精浓度值后,还需要把值转换为3位10进制BCD码,存储到特定的存储单元以供数码管显示数值。根据移位寄存器74LS164的逻辑功能和8段数码管的字型码,将对应的共阳极字型码放在一个表格中,然后通过查表的方式找到要显示的数字送移位寄存器驱动数码管显示。单片机对每次移出的位通过P17输入到移位寄存器的数据输入端,移位寄存器的时钟脉冲通过单片机P16模拟的时钟信号提供。就可以写出显示部分的程序代码15DISPMOVDPTR,TABMOVA,7FH毕业设计20MOVCA,ADPTRACALLSOMOVA,7EHMOVCA,ADPTRACALL

49、SOMOVA,7DHMOVCA,ADPTRACALLSORETSOMOVR7,8SO1CLRP16RRCAMOVP17,CSETBP16DJNZR7,SO1RET根据程序流程图和各个子程序的编写可以得到整个设计的总程序代码,见附录。基于单片机的酒精检测系统设计21结论通过本次毕业设计,我对AT89C51单片机的典型设计与应用,对于单片机的工作原理及其功能有了更深刻的理解和认识,并对单片机的汇编应用有了进一步的认识。气体与人类的日常生活密切相关,从工厂企业到居民家庭,酒精泄露的检测、监控以及对酒后驾车的检测都与我们息息相关。本次设计中的MQ3传感器属于金属半导体电阻式传感器,灵敏度高,响应速度快,可重复性使用。当传感器的敏感部分吸附有酒精分子时,表面的导电电子比例就会发生变化,从而其表面电阻会随着被测酒精气体浓度的不同而发生相应的变化,MQ3接上一定阻值的负载电阻,即可构成对酒精气体浓度的检测部分。负载电阻的分压值即对应着一个酒精气体的浓度值,只需对该分压值采样,就可得到要测酒精气体浓度值的信号。将该信号通过A/D转换,将模拟信号转化为数字信号,转换后的数字信号由单片机作相应的数据处理,得到3位BCD码并将3位送送数码管显示。在报警模块中,将采集信号输入二极管驱动芯片,对该采集信号放大后驱动相应的发光二极管点亮,起到报警的作用。本

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 电子信息工程毕业设计

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。