基于单片机的便携式酒精浓度测试仪设计毕业论文.doc_第1页
基于单片机的便携式酒精浓度测试仪设计毕业论文.doc_第2页
基于单片机的便携式酒精浓度测试仪设计毕业论文.doc_第3页
基于单片机的便携式酒精浓度测试仪设计毕业论文.doc_第4页
基于单片机的便携式酒精浓度测试仪设计毕业论文.doc_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)基于单片机的便携式酒精浓度测试仪设计毕业论文目录摘要IAbstractII目录IV1 绪论11.1 课题背景11.1.1 课题研究的目的11.1.2 课题研究的意义11.2 相关产品的发展概况21.2.1 国外研究现状21.2.2 国内研究现状41.3 研究内容62 总体方案设计82.1 设计思路82.2 系统方案设计82.3 硬件部分选型92.3.1 酒精传感器的选型92.3.2 单片机的选型122.3.3 模拟数字转换芯片的选型142.3.4 输入模块的选型162.3.5 显示模块的选型163 系统硬件的设计与搭建183.1 单片机模块特点及连接183.2 模数转换模块的特点与连接223.3 传感器信号采集模块的特别与连接253.4 输入模块的特点与连接263.5 显示模块的特点与连接273.6 报警模块的设计303.7 继电器电路的设计313.8 系统整体电路图324 系统软件设计334.1 编辑语言的选择334.2 单片机软件开发环境334.3 整体程序设计344.4 程序代码的编写355 系统的调试365.1 系统硬件调试365.1.1 元器件的焊接365.1.2 电路测试385.2 系统软件调试385.3 系统整体调试396 结论41致 谢42参考文献43附 录45附录1 软件详细代码45附录2 元器件清单59外文资料翻译及原文60901 绪论1.1 课题背景1.1.1 课题研究的目的随着近年来经济迅速发展,人们的生活水平日夜提高。私家车也越来越多。各种应酬也越来越多,人们会越来越多的接触到酒。然而,酒后驾车也频频发生给人们的生活和生命安全带来了巨大的伤害。我国出台的交通法对酒后驾车的处罚也很是严厉,很多人由于疏忽大意或者盲目自信经常造成酒后驾车现象的发生,给人们的生命安全和财产造成不必要的损失。很多人是因为没办法自己测试才违反了酒后驾车的相关法律,从而使自己的财产造成损失,同时也给自己带来不必要的麻烦。所以人们需要一个能够给自己在酒后数小时或者其他情况下驾驶汽车时提供一个及时、快速、有效的测试方法,从而规避那些潜在的麻烦或者损失。所以一个酒精测试仪对于有车的人们来说是十分重要也是十分必要的。而如果可以在汽车启动与行驶过程中对驾驶员进行检测,阻止其酒驾行为,就可以从根本上防止酒驾,从而保障人身财产的安全。1.1.2 课题研究的意义本设计基于AT89C51单片机设计的酒精气体浓度探测仪,可用来检测酒精气体浓度,最主要的用途是检测司机的酒精含量。酒后驾车发生事故的机率高达27%。随着摄入酒精量的增加,选择反应错误率显著增加,当血液中酒精含量由0.5增至1,发生车祸的可能性便增加5倍,如果增至1.5,可能性再增加6倍。机动车驾驶人员“酒后驾车” 及“醉酒驾车”极易发生道路交通事故, 严重危害了道路交通安全和人民生命财产安全。人饮酒后, 酒精通过消化系统被人体吸收, 经过血液循环, 约有90%的酒精通过肺部呼气排出, 因此测量呼气中的酒精含量, 就可判断其醉酒程度。开车司机只要将嘴对着传感头使劲吹气,仪器就能发上显示出酒精浓度的高低,从而判断该司机是否酒后驾车,避免事故的发生。当然,最好的办法是经过适当改进之后在车内安装这种测试仪,并升级成防酒驾智能闭锁系统,司机一进入车内检测仪就检测司机的酒精含量,如果超出允许值,系统控制引擎无法启动,这样就可从根本上解决酒后驾车问题。1.2 相关产品的发展概况1.2.1 国外研究现状针对司机酒后驾车事故频繁的现象,国外最早开始研发针对酒后驾驶的酒精测试仪。1957 年 1 月 23 日,世界上第一台醉酒呼吸分析仪在瑞典首次投入使用,它可以当场直接测试。它能检测出司机呼出气体中的酒精含量,并将这一结果显示于仪器的显示屏上。交警据此判断该司机是否酒后驾驶。目前,英国、澳大利亚、比利时、法国、荷兰、新西兰、西班牙、瑞典等欧洲国家,普遍采用的办法是在交通事故现场,交警随身携带呼气式酒精测试仪,对司机呼出气体中的酒精含量进行快速检测,根据检测结果进行事故处理并给予驾驶员一定的惩罚。 为了能够协助驾驶员主动测试是否酒后驾驶,国外许多国家先后研究了用于汽车上的不同酒后测试办法。 英国布里斯托尔大学生理学家霍尔瓦特设计了一种高智能座驾,其上装有一套名为“个人警察”的监察系统,由红外线摄像机、感应器和带有电脑分析功能的“小黑箱”组成。通过“小黑箱”摄像机录制的司机眼球活动情况以及感应器侦察到的方向盘扭转动作集中起来进行分析,从分析方向盘转动情况仪器中获得的信息与从扫描司机瞳孔移动装置获得的信息发生联系并进行比较,通过这一对照完全可以确定司机是否头脑清醒。根据司机审视行车方向长短,判定司机的醉酒程度。 意大利主要方法是在车上配备酒精检测 MEMS 传感器,将 MEMS 传感器置于方向盘的中间位置,酒精检测 MEMS 传感器将元件植入在直径 8mm 的密封外壳内、连同信号处理电路等一起嵌入方向盘内,通过该传感器检测驾驶员呼出气体的酒精含量。 瑞典绅宝用附带酒精检测功能的钥匙组件“Alcokey”,在汽车遥控器内部嵌入小型酒精测试器,当司机按下遥控车钥匙的时候,该探测器就会同时开始工作。检测司机饮酒度的方法是:司机必须向测酒钥匙的底部呼气检测呼气酒精含量。 最近瑞典豪华品牌沃尔沃汽车公司推出车载酒精检测系统,它通过一个无线手持设备检测驾驶者呼出空气中的酒精含量,从而判断驾驶者血液中的酒精浓度。而日产的反酒后驾驶控制系统命名为 Carwings 的车载蓝牙综合安全系统,该套系统主要是把酒精测试声纳安置在变档器上,可以通过对眨眼情况探测分析出司机清醒状态的面部识别系统,以及对驾驶情形进行探测分析,系统可以做出感应。日本汽车业巨头丰田将研制一种装在机动车辆上的防酒后驾驶系统。英国通过车载“个人警察”的监控系统,根据司机审视行车方向的长短,从而来判断司机的醉酒程度,来判断是否发出报警信号或使汽车无法启动。意大利通过置于方向盘内的 MEMS 酒精传感器检测驾驶员呼出气体酒精浓度,当检测其超过安全驾驶标准时,使汽车无法启动。瑞典绅宝主要方法是利用带有酒精检测功能的钥匙组件“Alcokey”,当司机按下遥控车钥匙时,该探测器就开始工作,司机必须向测酒钥匙底部呼气,当检测到呼气酒精含量超标时,无法向车辆控制组件发出解除警报信号,从而使汽车无法启动。沃尔沃的车载酒精检测系统,是把该检测系统的结果通过无线传感技术传给汽车的电子控制系统单元,当酒精含量超过系统中的设定值的上线,该系统将阻止启动动机。而日产的防酒后驾驶控制系统通过变档器上的探测声纳探测司机手上的汗液中含有酒精,便会自动上锁,并通过车内的声音报警发出“酒后驾车”的声音提示,该系统还可以通过对司机的脸部活动和行车状况探测出司机是否酒后驾车,并会发出报警声,并自动收紧安全带,同时导航系统中显示“不要酒后驾车”信息。1.2.2 国内研究现状我国对于这方面的研究比较少,香港一家公司发明了一种名为 iKEY 的车钥匙,能够有效而方便地防止醉酒驾驶。这种钥匙将感应器、远程信息处理等技术整合在车钥匙上,从外观看,它比正常的车钥匙多了一条锁棒。使用时,司机要先按 iKEY 上的开始按钮,绿色准备灯亮了之后,对着气孔吹气约两秒钟。当呼出气体的酒精含量低于规定值时,它会立即开锁,把锁棒收起来,车钥匙便能顺利插入钥匙孔,启动引擎。否则,钥匙将亮起红灯,锁棒便不能收起来,汽车将无法启动。 目前,国家交通技术领域正在开发研究驾驶行为监控预警技术和装备,研究内容:驾驶状态及车辆运行状态与环境实时检测技术,异常驾驶状态实时识别技术,驾驶意图、行为预测及违规操作判别技术,危险驾驶行为的预警方法与技术,驾驶行为监控预警系统集成技术。研究目的:通过研发异常驾驶状态、违规操作、不良驾驶习惯等检测预警系统与装置,形成驾驶人行为的实时监控技术,为有效减少道路交通事故提供技术支撑,从而开发适用于驾驶行为监控系统原型样机,并将通过实车实验验证。虽然目前隧道窑生产过程的自动化己经取得了长足的进步,但是限于现有的技术和工艺水平,并没有真正实现隧道窑生产的全过程自动化。随着自动控制技术的不断进步,隧道窑生产工艺的不断改进,隧道窑自动控制系统将更加完善,体现隧道窑特性的温度制度和压力制度将实现智能优化控制,控制系统将具有更高的精度、更快的速度以及更强的抗干扰性能。例如,窑炉监控系统能够根据己经设定的烧成制度,对窑内发生的各种变化自动进行调控。当系统当前状态发生变化时,控制系统将驱动执行机构对相应参数做出调整。隧道窑的辅助过程也将进一步实现自动化、一体化。例如,隧道窑的进车、出车、窑门升降按预先设定的程序自动完成,在无人干预的情况下,窑车能在回车线上顺利完成码坯,砖坯转运,卸砖,返回等作业。利用电子计算机技术实现全过程自动化控制的隧道窑可以准确、及时、灵敏地凋整各项热工参数,减少对操作经验的依赖,降低操作人员的劳动强度;提高窑炉运行稳定性,进一步改善产品的质量,增加产品的产量;并且进一步降低能耗,减少能源浪费。1.3 研究内容本研究主要采用AT89C51单片机芯片作为该系统的核心,通过呼气式酒精传感器测试气体的酒精含量,并且能够通过液晶显示器显示该酒精含量值,当气体中酒精的浓度超过预定的阀值时,能够报警。主要的研究工作包括一下几个方面:(1)硬件电路方面,对气体传感器MQ-3按检测电路,接上一定阻值的负载电阻,检测它的技术参数,确定MQ-3所接负载电阻的大小,完成信号采样电路的设计;采样到的模拟电压电信号通过A/D转换,得到可供单片机处理的数字信号,再由单片机作相应的数据处理,同时扫描键盘输入的阀值;再由液晶显示测量值与阀值,当超过设定阀值时,发光二极管发光、蜂鸣器发出声音进行报警。系统包括:传感器信号采集部分、A/D转换模块、输入模块、单片机部分、显示模块,报警部分、继电器模块。(2)软件方面,标准的确定是该部分要做的主要工作。因为原始的采样值是一个间接的负载分压值,需要将它转化为被测酒精浓度值。通过多个样品的测量确定多个浓度区间的转换标准,并将每个区间的转换关系近似线性化处理,然后通过软件编程的方法来实现。同时扫描键盘方面的输入情况,确定键盘的抖动消除方法。(3)软硬件结合调试工作。(4)为了尽量减少设计的气体传感器的测量误差,在测量酒精溶液样品时要考虑并解决2个主要问题。一是样品的稳定性对测量带来的误差,二是水蒸气对测量的影响。针对这2个主要问题提出以下解决方案和验证方法:水蒸气对MQ-3的影响很小,这一点可以通过对只装有纯净水的塑料瓶的多次测量来验证。用相同容量的塑料瓶配制好不同浓度的酒精溶液后,将它密封并放置一段时间,待其稳定后再测量。再通过反复多次测量多组数据,求其平均值的方法来缩小测量误差。(5)对于其功能方面的拓展预想与其进行适当改进后安装于车上成为防酒驾智能闭锁系统中存在的问题的讨论。2 总体方案设计2.1 设计思路基于AT89C51单片机用MQ-3型气体传感器实现酒精气体浓度的检测,需要信号采集模块用于对酒精浓度信号的采集,该信号是通过MQ-3气体传感器和负载电压得到分压电信号。信号转换模块用来把采集到得模拟电压信号转换位可以用单片机处理的数字信号。液晶显示模块是对单片机处理后的数字信号的显示,用来显示酒精的浓度和显示设定的阀值。报警模块是对设定值提供报警功能,该功能用发光二极管和蜂鸣器来实现。输入模块用独立按钮实现对阀值的设定控制。同时安装继电器,在超过阀值报警时同时启动继电器,方便后续功能的扩展。2.2 系统方案设计基于以上的构想,根据各功能模块的设计,可得到它的系统总框图,如图2.1所示。图2.1 系统总框图单片机输入模块酒精传感器报警模块显示模块A/D转换继电器下面对该系统做下简单的介绍:系统主要由酒精传感器、AT89系列单片机、A/D转换模块、输入模块、液晶显示模块、报警模块、继电器驱动模块等组成,其主要任务是采集酒精传感器的输出电压信号,经过ADC0832转换和AT89C51片机处理,能够通过液晶显示出传感器的酒精浓度,当值超过通过键盘模块设定的阀值时,报警模块进行报警(发光二极管发光,蜂鸣器发出滴滴生),同时继电器开始工作。2.3 硬件部分选型2.3.1 酒精传感器的选型随着科学的发展,酒精传感器的种类越来越多,目前来说对气体中酒精含量进行检测的设备主要有以下几种类型:燃料电池型(电化学型)、半导体型、红外线型、气体色谱分析型、比色型。下面主要介绍半导体型和燃料电池型酒精传感器。半导体型采用氧化锡半导体作为传感器,这类半导体器件具有气敏特性,当接触的气体中其敏感的气体浓度增加,它对外呈现的电阻值就降低,半导体型呼气式酒精测试仪就是利用这个原理做成的。这种半导体在不同工作温度时,对不同气体敏感程度是不同的,因此对于半导体型呼气酒精测试仪中一般都采用加热元件,把传感器加热到一定的温度,在该温度下,该传感器对酒精具有最高的灵敏度。是由于半导体型酒精传感器感度低、不能精确计量、稳定性和重复性差、以及功耗大,所以国外很少用其现场,实时检测司机是否酒后驾车。燃料电池型酒精传感器采用贵金属白金作为电极,在燃料室内充满了特种催化剂,它能使进入燃料室内的酒精充分燃烧转变为电能,也就是在两个电极上产生电压,电能消耗在外接负载上,此电压与进入燃料室内的气体的酒精浓度成正比。燃料电池型酒精传感器属于电化学类型,燃料电池是当前世界上广泛研究的环保型能源,它可以直接把可燃气体转变成电能,而不产生污染,为酒精传感器只是燃料电池的一个分支。燃料电池型酒精传感器的特点:测量精度高,可测范围宽。由于它只对酒精气体反应,所以任何其他非酒精气体测量时给结果带来的干扰都很小。另外,由于它对酒精气体极其敏感,只要把环境温度控制在规定的范围内,即使酒精浓度很低也能在其两极产生微弱的电压输出。由于燃料电池型酒精传感器具有稳定性好、精度高、抗干扰性好的明显优点,可用来检测机动车驾驶人员是否饮酒和其它严禁酒后作业人员的现场检测,也可用在其它场所乙醇蒸汽的检测。但此酒精传感器的结构要求非常精密,制造难度大,目前只有美国、英国、德国等少数几个国家能够生产。 目前普遍使用的酒精传感器为半导体型和燃料电池型,这两种酒精传感器易于制造成便捷型呼气式酒精测试器,适用于现场使用。国内普遍使用半导体型酒精测试仪,因为它的主要优点是价格低廉,只是燃料电池型的几分之一,又因为其灵敏度高,功耗小,反应速度快等特点,适宜应用于本次设计中。本设计中的酒精气体传感器是Q-3型,它属于MQ系列气敏元件的一种。如图2.2所示:图2.2 MQ-3半导体型酒精传感器特点:检测范围为10ppm2000ppm ;灵敏度高,输出信号为伏特级;响应速度快,功耗低,尺寸小。MQ-3型气敏传感器的敏感部分是由金属氧化物(二氧化锡)的N型半导体微晶烧结层构成。当其表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电阻会随着被测气体浓度的变化而变化。由于这种变化是可逆的,所以能重复使用。其灵敏度曲线如图2.3所示。图2.3 MQ-3灵敏度特性曲线2.3.2 单片机的选型随着信息技术的高速发展,如今越来越多的电子产品向智能化、微型化、低功耗方向发展,越来越多的产品需要实时控制和信号处理,要求电子设计技术需要有新的变革和飞跃,而以往的纯数字电路设计系统工作量大、灵活性差、系统可靠性差。单片机的设计系统克服了纯数字电路系统设计中存在的缺陷,使电子电路设计有了新的飞跃。单片机将微处理器(CPU)、存储器(ROM 和 RAM 等)、输出/输入口(I/O)、定时/计数器、中断系统等集成在一块集成电路芯片上,称之为单片微型计算机,简称单片机(MCU)。单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,单片机可以通过软件方法来实现。单片机从工业测控对象、环境、接口特点等出发,向着增强控制功能、提高工业环境下的可靠性、灵活方便的构成应用计算机系统界面接口的方向发展。其主要特点有品种多样,型号繁多,性能提高,容量扩大,低功耗,软件应用配套,具有系统扩展和配置等。主要应用领域包括:智能化家用电器、办公自动化设备、商业营销设备、工业自动化控制、智能化仪表、智能化通信产品、汽车电子产品、航空航天系统和高防军事、尖端武器等领域。目前最常用的是 AVR、MCS-51、PIC 系列单片机。51系列单片机的优点之一是它从内部的硬件到软件有一套完整的按位操作的系统,称作位处理器,能够进行的位传送、置位、清零、测试、逻辑运算等,功能完备。51系列的另外一个优点是乘法和除法指令,给编程带来方便。Intel公司51系列的典型产品是8051,片内有4K字节的一次性程序存储器(OTP)。Atmel公司就将其改为电可改写的闪速存储器(Flash),容许改写1000次以上,这给编程和调试带来极大的便利,其产品AT89C51、AT89C52等成为了当今最流行的八位单片机。 PIC 系列单片机采用 Harvard 双总线结构,运行速度快,指令流水线结构,程序存储器的访问和数据存储器的访问并行处理。但编程时分页比较麻烦,扩展能力比较弱。AVR是集合了PIC和51的优势的,指令周期比PIC还要快,性价比比PIC要高,FLASH在线编程比PIC方便,学AVR会感到它的结构跟PIC差不多,很多相似的,就是用C语言开发置位麻烦一点,位操作不如PIC和51方便,工业级也用的不广,多用于仪器、通信上。基于设计的需要与资金考虑,选用了AT89C51单片机作为开发的核心。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。2.3.3 模拟数字转换芯片的选型A/D转换就是模拟数字转换,就是把传感器输出的模拟信号转化为可供单片机识别的数字信号。下面简要介绍常用的几种类型的基本原理及特点:积分型、逐次逼近型、并行比较型/串并行型。(1)积分型(如TLC7135) 积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。(2)逐次比较型(如ADC0808/ADC0809)逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出 数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(12位)时价格很高。(3)并行比较型/串并行比较型(如TLC5510)并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。 串并行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为 Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(Multistep/Subrangling)型AD,而从转换时序角度 又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路 规模比并行型小。 A/D转换器的主要技术指标:(1)分辩率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辩率又称精度,通常以数字信号的位数来表示。 (2)转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比 较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率 (Sample Rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和Msps,表 示每秒采样千/百万次(kilo / Million Samples per Second)。ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。而且功耗小,工作电压在5v左右,适合本设计的需求,所以选定ADC0832为模拟数字转换芯片。2.3.4 输入模块的选型由于涉及到输入阀值,所以需要设计键盘。键盘分为:独立式和矩阵式两种,每一类按其编码方法又可以分为编码和非编码两种。由于本系统有三个控制命令,所需按键很少,所以本系统选择独立式按键。2.3.5 显示模块的选型单片机系统中常见的显示方式主要是:数码管显示和液晶显示。选择液晶显示的原因是因为在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。至此,系统中重要部分的选型完成。3 系统硬件的设计与搭建3.1 单片机模块特点及连接AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。其管脚排列如图3.1所示。图3.1 AT89C51管脚排列图各管脚的功能如下:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。根据以上的管脚特性,确定单片机的管脚使用,组成单片机的最小系统如图3.2所示。图3.2 AT89C51单片机最小系统设计电路3.2 模数转换模块的特点与连接ADC0832是8位分辨率,逐次逼近式A/D转换器。它具有双通道A/D转换,输入输出电平与TTL/CMOS相兼容, 5V电源供电时输入电压在05V之间, 工作频率为250KHZ,转换时间为32S, 一般功耗仅为15mW, 8P、14PDIP(双列直插)、PICC 多种封装, 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C。ADC0832的管脚图如图3.3所示。图3.3 ADC0832管脚图芯片接口说明:1:片选,低电平有效2:CH0 模拟输入通道0,或作为IN+/-使用3:CH1 模拟输入通道1,或作为IN+/-使用4:GND 芯片参考0 电位(地)5:DI 数据信号输入,选择通道控制6:DO 数据信号输出,转换数据输出7:CLK,时钟,低于600KHz8:Vcc/REF 电源输入及参考电压输入(复用)单片机对ADC0832的控制原理是:正常情况下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 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。作为单通道模拟信号输入时ADC0832的输入电压是05V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。根据控制原理设计模数转换模块如图3.4所示。图3.4 模数转换模块3.3 传感器信号采集模块的特别与连接传感器信号采集模块电路如图3.5所示。MQ-3的加热电阻两端即2、5管脚接至+5V直流稳压电源,用于电阻丝对敏感体电阻的加热。MQ-3的1、3管脚相连,作为敏感体电阻的一个电极。MQ-3的4、6管脚也连接在一起,作为敏感体电阻的另一个电极。将电极端1、3接到电源正极,电极端4、6接电阻。MQ-3型气敏传感器与电位器串联构成分压电路,采样点为电位器的分压。MQ-3型气敏传感器的敏感部分是由金属氧化物SnO2的N型半导体微晶烧结层构成。当其表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电阻会随着被测气体浓度的变化而变化。由于这种变化是可逆的,所以能重复使用。当气敏传感器的敏感体电阻阻值发生改变时,对应的电位器的分压值也会发生相应的变化,即一个电压值对应着一个被测酒精气体浓度。对酒精气体浓度的采样就可以转化为对电位器分压的采样。 在采样硬件电路中实际要考虑到MQ-3的实际技术参数,即加热电阻和敏感体电阻的大小,该部分应与电源正极相连。负载电阻要根据MQ-3实际的技术参数而选择阻值合适的电阻。应为实验所用的MQ-3在预热5到10分钟后,它的敏感体电阻只有120K欧姆,所以负载电阻选用一个1K欧姆,构成采样部分的分压电阻。图3.5 传感器信号采集模块3.4 输入模块的特点与连接独立式按键是直接用I/O口线构成的单个按键电路。每一个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在本系统中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口有确定的高电平,AT89C51单片机的P3口内部接有上拉电阻,所以不需要再外接上上拉电阻。所以键盘输入模块如图3.6所示。键盘抖动的消除:抖动的消除大致可以分为硬件消抖和软件消抖。硬件消抖是采用硬件电路的方式对键盘的按下抖动和释放抖动进行消抖,经过消抖后的电路电平信号只有两种稳定状态。通常采用电容滤波或者单稳延时电路等。软件消抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判断是否有键按下。当按键释放时,也经过数毫秒的延时,待后沿抖动消失后再判断是否有键释放。由于应用硬件消抖还需要外加器件,相对软件消抖较为麻烦,所以本系统采用软件消抖。图3.6 键盘输入模块3.5 显示模块的特点与连接1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3.7所示。图3.7 1602LCD尺寸图1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm管脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.1所示。编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表3.1 1602LCD管脚接口说明第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。根据以上技术参数以及说明,设计液晶显示电路如图3.8所示。图3.8 液晶显示电路3.6 报警模块的设计这个系统中报警模块设计的比较简单,只是一个蜂鸣器的单音频报警同时发光二极管发光。只要当测量浓度高于设定的阀值的时候,给一个低电平就可以使发光二极管发光,蜂鸣器报警。以下是报警模块的电路图,见图3.9:图3.9 报警电路图3.7 继电器电路的设计继电器的设计是为了能够经过改进之后作用与汽车上,当气体中酒精含量超过设定的阀值时,继电器可以工作,切断汽车引擎电源,从而使汽车无法启动,从而有效的防止驾驶员酒后驾车。所以继电器的设计是为了以后功能的改进,不是本次设计的重点。其设计电路如图3.10所示。图3.10 继电器电路图3.8 系统整体电路图以AT89C51单片机为核心,传感器信号采集模块经过ADC0832后连接AT89C51单片机,再连接到液晶显示模块,报警模块和继电器模块。即可做出整体电路图,如图3.11所示。图3.11 整体电路图4 系统软件设计4.1 编辑语言的选择对于单片机的开发应用中,逐渐引进了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言,汇编语言。汇编语言的机器代码生成率高,控制性好,但就是移植性不高。C语言编写的程序比用汇编语言编写的程序更符合人们思考的习惯。还有很多处理器都支持C编辑器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言进行编写。软件编写的主体思路是将系统按功能模块划分,然后再根据模块要实现的功能写各个子程序。整个软件的编写采取查询式编写的方法。4.2 单片机软件开发环境单片机的程序设计需要在特定的编译器中进行。编译器完成对程序的编译、连接等工作,并最终生成可执行文件。对于51单片机程序的开发,一般采用Keil公司的Vison系列的集成开发环境。Vison系列开发工具目前的最高版本是Vison4,支持汇编语言以及C语言,满足开发需求,方便开发设计。4.3 整体程序设计根据整体设计以及各个模块的功能,绘制系统的整体流程图。如图4.1所示。开始初始化比较参数和定时器传感器预热循环检测读出AD数值,转换处理后将数据显示在液晶上是否浓度超标调节按键是否按下启动继电器并报警调整浓度阀值否否是是图4.1 整体流程图4.4 程序代码的编写根据流程图以及各模块的应用特点、调用方式,编写各部分代码。详细代码见附录1。将编写好的代码运行无错误之后,便可以烧录到单片机中,进行下一步的调试工作了。5 系统的调试在前面几章中,详细的讨论了本系统硬件方面和软件方面的设计,但是要想让系统真正运行起来达到预期的指标和功能,就必须对系统进行调试。系统的调试同样包括硬件方面和软件方面。5.1 系统硬件调试5.1.1 元器件的焊接首先选择合适的电路板,以方便元器件的焊接以及摆放。焊接前,对电阻、电容的值要进行测量、筛选,选择与电路中参数值一致的元器件。焊接时,认真对照原理图,查看元器件的管脚是否焊接正确。焊接实物图见图5.1所示。上方为未超过设定阀值时的工作效果,下方为超过设定阀值时的工作效果。图5.1 焊接实物图5.1.2 电路测试电路板焊接完成后,需要对每个元器件的管脚逐个进行检查。一方面是检查有没有管脚虚焊或者与其他信号线短路,另一方面是元器件管脚功能的检查或者因焊接温度过高造成的元器件损坏。检查电路焊接没有问题后,则可以进行上电测试。上电测试是调试的关键步骤,首先接通电源之后,测试各个电源端口和器件的电源部分是否正常工作,同时应该注意系统中有无元器件过热的现象。如果有的话,可能是相应的元器件损坏或者电路中存在短路的现象,需要认真检查之后再加电。如果没有问题,则可以进行功能测试。硬件电路装配、焊接完成后,可能不能正常工作。为了方便调试,采用分块调试的方法。在通电之前,一定要检查电压的极性,否则很容易烧毁芯片。加电后检查各元器件管家的电位,一般先检查Vcc与GND之间的电位,若在4.5伏特至5.5伏特之间属于正常范围。5.2 系统软件调试系统硬件调试完成后,软件的调试也非常重要。系统软件调试时,也可以分模块进行。首先,接通电源后,检查1602LCD液晶显示。上电后,检查是否可以正常显示。观察是否能够正常显示开机欢迎画面,待进入系统后,观察能否正常显示测量画面。如果不能,便检查显示模块的代码问题。其次,检查报警模块和继电器模块。由于气体传感器在预热过程中会形成一个高电平,造成测量的浓度偏高,超过初始的阀值,所以就可以观察报警模块和继电器模块的工作是否正常,正常情况下可以观察到发光二极管发光,蜂鸣器报警;待系统稳定后可以听到继电器停止工作后的响声,同时发光二极管和蜂鸣器停止工作。再次,检查传感器信号采集模块和模数转换模块。和前面一样,在系统预热过程中观察即可,看是否测量浓度在平稳下降。最后,待系统稳定后,检查输入模块工作是否正常。5.3 系统整体调试接通电源是系统稳定后,首先要对初始值进行调试。即把系统暴露在空气中,环境为无酒精环境,将与MQ-3气敏传感器连接的电阻首先用滑动变阻器代替,调节使显示值为零,进行多次断电,最终没有数据变化,显示值始终为零后,测量滑动变阻器阻值,用相近(偏大)的电阻替换焊接。将配置好的浓度为0.020mg/L,0.050mg/L,0.090mg/L,0.200mg/L,0.600mg/L的酒精溶液,分别靠近MQ-3气敏传感器,显示结果分别为0.020mg/L,0.050mg/L,0.090mg/L,0.210mg/L,0.640mg/L。测量最大误差出现在0.600mg/L的酒精溶液上,误差为6.7%。交通法规定的酒驾标准是20mg/100ml,根据国际呼吸酒精含量对照表可知,呼出气体的酒精含量为0.091 mg/L,高于这个含量均为酒驾。所以在此含量以上的误差可以稍大,不影响系统的安全性。国际呼吸酒精含量对照表见下表5.1。序号呼出气体mg/L呼出气体ppm血液中mg/100ml血液中BAC10.022011.8550.00520.045423.69100.01030.068135.53150.01540.090947.43200.02050.113659.28250.02560.136371.13300.03070.159183.02350.03580.181894.86400.04090.2046106.71450.045100.2272118.56500.05

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论