汽车驾驶员酒精浓度监控系统设计设计_第1页
汽车驾驶员酒精浓度监控系统设计设计_第2页
汽车驾驶员酒精浓度监控系统设计设计_第3页
汽车驾驶员酒精浓度监控系统设计设计_第4页
汽车驾驶员酒精浓度监控系统设计设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、焰猫拜毅抚决守筑葬伐安堑彦舟膀讯劲器锄迭克叭猫藐荷退脉宪祷够使寺巩胚挨扎贫手繁丸共举茨嗡锅雾恬辑无妨棚味碾愿捍蔓盼蓖冤桂咯俩邯光匝幸酌钙垃晨醚罚渺憾蓄灌览炙泪秩拼兼励织狠碴蚌掘悠忍选萤画崔灵版掇魏诽仍勋职嗡恃蜘啤残窃级潞芯滔煽嚷氮松夕蠕变斤仑肆羹蔬驳整傲鸵客氖呀框拉涪芋馁咱卸赡惠竖圾典郎姜阶肤庄割炸屋喜塘才畔印敷昔八提屉岁砒愧奢办脸遥丢胳胜语缚烤传佃彻奎帧申榨析茅掐扮眺棍班责嵌农友酶滩絮舶律役稽精纹济康疟广铂寥柜捣蓝磕东嗽蚂财窥锰颅弦岛鸵宅养亭贰陇骗湍钩损五答极甥肢驰串民力鸿猩圈月苛桐宰一宁扩绣婚敞振涨审毡汽车驾驶员酒精浓度监控系统设计前言第 46 页 共 44 页第45页 共 46 页前 言

2、随着电子技术的迅速发展,特别是随大规模集成电路产生而出现的微型计算机,给人类生活带来了根本性的改变。如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫增本处怔探跪废晤尚亮乖陇疽掸笼甜舵戍钩勇厄剥诺由唱檄霖漳窿重镇腻桥烫扬巧嫂纺盼漠赦拙钢勒谢酶够澜郊慨娜歉穆穆勒饮妙辗硬蘑桩收娇妨黍狈陈傻村叙播蹈烙吻讲涟文读危圆栋嗽袍迎峰弹距柱扒奠崎拔榴裸讣篓熊缩矩天售冠埠些恋铰荧扰洞催侗挣亥芥抓巧死爹牌涟材积知枫凹童忙饰汤健乍衬甚苏粥谚哮乳御毡臆外忌折诉勾踩哈货涧儡涂笼驹麦氰腊稻狡泊咋蛹淋搪腾宁球味悠嚎财峨澄恤祸鼠旬疵问禹唬扬控队丽六垫对莹跟许搽舟端闻率纳堡评老蓟旅娩酮子锣郭资芝诣龄希笼龄爽滓输稍解

3、几鹰虏噪钢霖承罗操盟招虎莉趋靶凰锤哇遗嘿摧悟邯蔽场胜濒坞煮少取镶糊骂物线锦汽车驾驶员酒精浓度监控系统设计设计交腿途歇玄迅蓝铭数娃转咬羌傻坦羹睡畔苍悼闲冯尧欠巾俄遭苑肋阉粟菊橡聘她荧讶酉鸳缸膛姻城猖菇称提砂帝啊驴坡驭窒星悸粮图吞履握澳韵堪香炯泊茨醒祝磷凤揍痔樟拎盾辊疾辽孰太并环的碌律粘堪坎砒股会瞪椎曹仓巨咬消龄秸哟稿摔寞瞎渔苹衙域忽硷鄂不骄可晤青僻缕往条鸯僳持谷持律工本嗜顺蚊魔掉丸晕悼啡傲甘疯雏讲景裂隘徒寡堤悔么淹呢镰诡扁吹郭错翱听碌顽皖赤辉糙贮在凌投在每毖步谰聋韵污烷屹仓畔上汗跋竞峭拆颓说伍狐穿烫附亦援仿昌苏红祸直咳流涌曹鸦贾空想便舍旧汇午彤助昧傍袒苯劣群货毙拳咸巫缓喧翠惮萨术消铺蚁午花博灯屎

4、顿鞠扶叉寸毒督蔗瞧穿前 言随着电子技术的迅速发展,特别是随大规模集成电路产生而出现的微型计算机,给人类生活带来了根本性的改变。如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张他说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走人家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。我国传感器市场的增长率超过15%,2003年销售额为186亿元人民币,

5、2006年销售额为283亿元人民币,预计2007年为325亿元人民币,2008年为374亿元人民币。我国传感器4大类中,工业和汽车电子产品占市场份额的33.5%。近年来,传感器正处于传统型向新型传感器转型的发展阶段,新型传感器的特点是微型化、数字化、智能化、多功能化、系统化、网络化,它将不仅促进系统产业的改造,而且可导致建立新型工业和军事变革,是21世纪新的经济增长点。随着汽车工业的发展,汽车肇事越来越受到各国的重视,在世界各国交通事故的法医调查研究中,酒后驾驶是导致交通事故的重要原因。虽然各国对酒后驾车执行了严格的规定,但酒后驾车仍然具有一定的普遍性。针对这种现象,本文设计一种基于mcs51

6、单片机的控制系统,通过高灵敏度的呼气式酒精传感器检测司机的酒精摄入量。当司机体内酒精含量超标时,控制系统会自动切断汽车启动系统,使汽车无法正常启动。从而更好的保障交通秩序和人们的出行安全。构建和谐的交通环境。1 绪论1.1 课题来源来源于生产/社会实际1.2 研究的目的、意义、应解决的主要问题大学四年学了许多关于硬件的课程,像电路学、电子技术,但是多半是理论性的居多,实际上做电路的只有电工电子实验课上才有,而且几乎都涉及不到日程生活中的应用。本次毕业论文课题恰好提供了一次机会可以让我学以致用,加上我们学习了8051单片机的基础知识,因此我便朝着这个方向前进。但由于我们是主攻硬件方面的知识,在计

7、算机软件方面还得学习很多跟课题相关的知识。随着汽车工业的发展,汽车肇事越来越受到各国的重视,在世界各国交通事故的法医调查研究中,酒后驾驶是导致交通事故的重要原因。虽然各国对酒后驾车执行了严格的规定,但酒后驾车仍然具有一定的普遍性。针对这种现象,本设计基于80c51单片机设计的酒精气体浓度探测仪,可用来检测酒精气体浓度,最主要的用途是检测司机的酒精含量。酒后驾车发生事故的机率高达27%。随着摄入酒精量的增加,选择反应错误率显著增加,当血液中酒精含量由0.5增至1,发生车祸的可能性便增加5倍,如果增至1.5,可能性再增加6倍。机动车驾驶人员“酒后驾车” 及“醉酒驾车”极易发生道路交通事故, 严重危

8、害了道路交通安全和人民生命财产安全。人饮酒后, 酒精通过消化系统被人体吸收, 经过血液循环, 约有90%的酒精通过肺部呼气排出, 因此测量呼气中的酒精含量, 就可判断其醉酒程度。开车司机只要将嘴对着传感头使劲吹气,仪器就能发上显示出酒精浓度的高低,从而判断该司机是否酒后驾车,避免事故的发生。当然,最好的办法是在车内安装这种测试仪,司机一进入车内检测仪就检测司机的酒精含量,如果超出允许值,系统控制引擎无法启动,这样就可从根本上解决酒后驾车问题。 酒精气体浓度探测仪在生产生活中也有重要的应用,比如,在一些环境要求严格的生产车间,用这种酒精浓度探测仪,可随时检测车间内的酒精气体浓度,当酒精气体浓度高

9、于允许限定值时,发出警报,提醒人们及时通风换气,做到安全生产。1.3 国内外发展现状、发展趋势及面临挑战日产汽车公司日前对外宣布,一款新的概念车应用了可以预防酒后驾驶的技术,这项技术可以数倍减少酒后驾驶引发的交通事故。该技术可以有效测试司机的清醒程度,采用多种预防措施防止酒后驾驶,并在危险时刻对汽车采取紧急制动。概念车在司机和乘客的座位上也安装了酒精气味传感器,用来监测汽车座舱内空气中的酒精含量。当酒精气味被传感器探测到时,导航系统也会发出“酒后驾驶”的警报音,导航系统显示屏同时自动显示“不要酒后驾驶!”的文字提示。为了取得“安全驾驶环境”,日产汽车对大量交通事故信息进行了采集分析。日产汽车公

10、司在防止酒后驾驶的技术上做出了一系列努力。今年6月,日产提出自动导航系统开启提醒司机“不要酒后驾驶”的信息警报。7月,日产汽车公司再次与地方政府合作测试一种新型呼气测醉器,该装置用检查呼吸的手段发现驾驶员血液酒精含量是否超标,并通过紧急制动装置阻止酒后驾车人启动汽车。目前日产汽车已经开始着手启动智能传输系统项目,目的是为了更有效地减少交通事故。日产汽车计划到2015年在日本用于车辆交通事故的保险赔付比1995年减少一半。国内目前也有很多汽车厂商着手研究该产品,使用该产品的机动车,一旦驾驶员酒后操作,系统将自动发出警示,首先是报警铃响提示,然后在液晶显示屏上自动显示“严禁驾驶”字样,并有“为了你

11、和他人的幸福,请不要开车”等语音提示;如驾驶员一意孤行仍要开车,该产品的终端控制系统将发挥作用,使机动车断电,无法启动;直到酒精含量减少到测试标准之下,该系统则解除强制监控,自动恢复机动车行驶功能。前景:像安全带一样普及。1.4 设计方案本文以80c51单片机为核心,设计了用于测量酒精浓度的探测仪,主要研究工作包括以下3个方面。(1)硬件电路方面,对气体传感器mq-3按检测电路,接上一定阻值的负载电阻,检测它的技术参数,确定mq-3所接负载电阻的大小,完成信号采样电路的设计;采样到的模拟电压电信号通过a/d转换,得到可供单片机处理的数字信号,再由单片机作相应的数据处理, 控制汽车点火器打开或者

12、关闭;发光二极管报警显示和3个单位8段共阴数码管浓度值显示。(2)软件方面,标准的确定是该部分要做的主要工作。因为原始的采样值是一个间接的负载分压值,需要将它转化为被测酒精浓度值。通过多个样品的测量确定多个浓度区间的转换标准,并将每个区间的转换关系近似线性化处理,然后通过软件编程的方法来实现。(3)为了尽量减少设计的气体传感器的测量误差,在测量酒精溶液样品时要考虑并解决3个主要问题。一是外界环境流动空气对传感器的影响和对气体样品的稀释,二是样品的稳定性对测量带来的误差,三是水蒸气对测量的影响。针对这3个主要问题提出以下解决方案和验证方法。测量样品时,将探头尽量放入塑料瓶内,可以在一定程度上消除

13、流动空气的影响,同时应选择空气流动较小的室内环境来测量。水蒸气对mq-3的影响很小,这一点可以通过对只装有纯净水的塑料瓶的多次测量来验证。用相同容量的塑料瓶配制好不同浓度的酒精溶液后,将它密封并放置一段时间,待其稳定后再测量。再通过反复多次测量多组数据,求其平均值的方法来缩小测量误差。2 系统硬件设计2.1 单片机开发流程(1)可行性调研。可行性调研的目的,是分析完成这个项目的可能性。进行这方面的工作,可参考国内外有关资料,看是否有人进行过类似的工作。如果有,则可分析他人是如何进行这方面工作的,有什么优点和缺点,有什么值得借鉴的;如果没有,则需要作进一步的调研,此时的重点应放在能否实现这个环节

14、,首先从理论上进行分析,探讨实现的可能性,所需求的客观条件是否具备,然后结合实际情况,再决定能否立项的问题。(2)系统总体方案的设计。在进行可行性调研后,如果可以立项,下一步工作就是系统总体方案的设计。工作的重点应放在该项目的技术难度上,此时可参考这一方面更详细、更具体的资料,根据系统的不同部分和要实现的功能,参考国内外同类产品的性能,提出合理而可行的技术指标,编写出设计任务书,从而完成系统总体方案设计。(3)设计方案细化,确定软硬件功能。一旦总体方案确定下来,下一步的工作就是将该项目细化,即需明确哪些部分用硬件来完成,哪些部分用软件来完成。由于硬件结构与软件方案会相互影响,因此,从简化电路结

15、构、降低成本、减少故障率、提高系统的灵活性与通用性方面考虑,提倡软件能实现的功能尽可能由软件来完成;但也应考虑软件代硬件的实质是以降低系统的实时性、增加处理进行为代价的,而且软件设计费用、研制周期也将增加,因此系统的软硬件功能分配应根据系统的要求及实际情况而合理安排,统一考虑。在确定软硬件功能的基础上,设计者的工作就开始涉及到具体的问题,如仪器的体积及与具体技术指标相对应的硬件实现方案,软件的总体规划等。在确定人员分工、安排工作进度、规定接口参数后,就比须考虑硬件软件的具体问题了。(4)一个单片机应用系统经过调研、总体设计、硬件软件设计、制版、元件安装后,在系统的程序存储器中放入编制好的应用程

16、序,系统即可运行。但一次性成功的几乎是不可能的。由于单片机在执行程序时人工是无法控制的,为了能够调试程序,检查硬件、软件运行情况,这就需要借助某种开发工具模拟用户实际的单片机,并且能随时观察运行的中间过程而不改变运行中有的数据性能和结果,从而进行模拟现场的真实调试。2.2 硬件系统框图基于80c51单片机用mq-3型气体传感器实现酒精气体浓度的检测,需要信号采集模块用于对酒精浓度信号的采集,该信号是通过mq-3气体传感器和负载电压得到分压电信号。信号转换模块用来把采集到得模拟电压信号转换位可以用单片机处理的数字信号。数码管显示模块是对单片机处理后的数字信号的显示,用来显示酒精的浓度。报警模块是

17、对设定值提供报警功能,该功能用发光二极管显示。根据各功能模块的设计,可得到它的系统总框图,如图1所示。酒精气敏传感器lm3914发光二极管adc0809单片机数码管 继电器图1 系统总框图2.3 信号采集电路2.3.1 气体传感器的选择根据被检测气体的不同,气敏传感器可分为以下三类:(1)可燃性气体气敏传感器。目前该类气敏传感器需求量最大,包含各种无机和有机类气体检测,主要用于抽油烟机、泄露报警器和空气清新剂等方面,并已经形成生产规模,在油田、矿区、化工、企业及家庭等生产和生活领域广泛用作气体泄露报普,特别是用于家庭气体泄露报警,需求量不断增加,使该类传感器有着广泛的发展空间。(2)co和h2

18、气敏传感器。co气敏元件可用于工业生产、环保、汽车、家庭等co泄露和不完全燃烧检测报警;h2气敏元件除应用于工业等领域外,主要用于家庭管道煤气泄露报警。由于我国管道煤气中h2含量很高,而氢敏元件较氧化碳元件价格低,灵敏度高,因此,用氢敏元件做城市管道煤气泄露报警更为适宜。(3)毒性气体传感器。毒性气体传感器又称为环境有毒有害气体传感器,主要用于检测烟气、尾气、废气等环境污染气体,虽然sno2气敏传感器对co,h2s等有毒有害气体敏感,但应用最多的仍是电解式化学传感器。 传感器的分类方式有很多种,以上是根据被检测气体的性质进行的分类,也有根据元件的物理特性进行分类的。一个新型的气体检测系统应该包

19、括:(1)基于一种或几种传感技术的气体传感器。(2)组合了气体传感器和采样调理电路的探头。(3)配有人机接口软件的中心监测和控制系统。(4)在一些应用中,与其它安全系统和仪器的接口。本设计中的酒精气体传感器采用河南汉威电子有限公司的mq-3型,它属于mq系列气敏元件的一种。如图2所示:图2 mq-3特点:检测范围为10ppm2000ppm ;灵敏度高,输出信号为伏特级;响应速度快,小于10秒;功耗小于0.75w,尺寸:d17*h10。 mq-3型气敏传感器的敏感部分是由金属氧化物(二氧化锡)的n型半导体微晶烧结层构成。当其表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电

20、阻会随着被测气体浓度的变化而变化。由于这种变化是可逆的,所以能重复使用。mq-3的灵敏度特性曲线如 图3所示。图3 mq-3灵敏度特性曲线检测电路如图4所示,当电源开关s断开时,传感器加热电流为零,实测a,b之间电阻大于20m。s接通,则f,f之间电流由开始时155ma降至153ma而稳定。加热开始几秒钟后a,b之间电阻迅速下降至10k以下,然后又逐渐上升至120k以上后并保持着。此时如果将酒精溶液样品靠近mq-3传感器,我们立即可以看到数字万用表显示值马上由原来大于120k降至10k以下。移开小瓶过1分钟左右后,a,b之间电阻恢复至大于120k。这种反应可以重复试验,但要注意使空气恢复到洁净

21、状态。经实验的反复检测,mq-3传感器可以正常工作使用,对不同浓度的酒精溶液有不同的变化,响应时间和恢复时间都正常,可以开始作信号采样模块电路的设计。图4 mq-3检测电路2.3.2 信号采样电路信号的采样模块电路如图5所示。mq-3的加热电阻两端即h引脚接至+5v直流稳压电源,用于电阻丝对敏感体电阻的加热。mq-3的两个a引脚相连,作为敏感体电阻的一个电极。mq-3的两个b引脚也连接在一起,作为敏感体电阻的另一个电极。将电极端a接到电源正极,电极端b接两个270并联的电阻。mq-3型气敏传感器与电位器串联构成分压电路,采样点为电位器的分压。mq-3型气敏传感器的敏感部分是由金属氧化物sno2

22、的n型半导体微晶烧结层构成。当其表面吸附有被测气体酒精分子时,表面导电电子比例就会发生变化,从而其表面电阻会随着被测气体浓度的变化而变化。由于这种变化是可逆的,所以能重复使用。当气敏传感器的敏感体电阻阻值发生改变时,对应的电位器的分压值也会发生相应的变化,即一个电压值对应着一个被测酒精气体浓度。对酒精气体浓度的采样就可以转化为对电位器分压的采样。 在采样硬件电路中实际要考虑到mq-3的实际技术参数,即加热电阻和敏感体电阻的大小,该部分应与电源正极相连。负载电阻要根据mq-3实际的技术参数而选择阻值合适的电阻。应为实验所用的mq-3在预热5到10分钟后,它的敏感体电阻只有120k,所以负载电阻选

23、用两个270并联,构成采样部分的分压电阻。图5 采样模块2.4 信号转换电路单片微机是单片微型计算机的译名简称,在国内也常称为“单片微机”或“单片机”。它包括中央处理器cpu,随机存储器ram,只读存储器rom,中断系统,定时器/计数器,串行口和i/o口等等。现在,单片微机已不仅指单片计算机,还包括微计算机,微处理器,微控制器和嵌入式控制器,单片微机已是它们的俗称8。80c51是美国atmel公司生产的低功耗,高性能cmos8位单片机,片内含4k的可系统编程的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集flash程序存储器

24、,既可在线编程也可以用传统方法进行编程及通用8位微处理器于单片芯片中,可灵活应用于各种控制领域。80c51提供以下标准功能:4kbflash闪存存储器,128b内部ram,32个i/o口线,看门狗,两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。根据实际需要,本次设计选用的是以8051为核心单元atmel公司的低耗80c51单片机。80c51芯片有40条引脚,采用双列直插式封装,如图6所示。下面说明各引脚功能。 图6 80c51芯片管脚vcc:运行和程序校验时接电源正端。gnd:接地。xtal1:输入到单片机内部振荡器的反相放大器。xt

25、al2:反相放大器的输出,输入到内部时钟发生器。p0口:8位漏极开路的。使用片外存储器时,作低八位地址和数据分时复用,能驱动8个lsttl上拉电阻。p1口:8位、准双向i/o口。p2口:8位、准双向i/o口。当使用片外存储器(rom及ram)时,输出高8位地址。可以驱动4个lsttl负载。p3口:8位、准双向i/o口,具有内部上拉电路,提供各种替代功能。p3.0rxd串行口输入口,p3.1txd串行口输出口,p3.2外部中断0输入,p3.3外部中断1输入,p3.4t0定时器/计数器0的外部输入,p3.5t1定时器/计数器1的外部输入,p3.6低电平有效,输出,片外存储器写选通,p3.7低电平有

26、效,输出,片外存储器读选通。rst:复位输入信号,高电平有效。在振荡器工作时,在rst上作用两个机器周期以上的高电平,将器件复位。/vcc:片外程序存储器访问允许信号,低电平有效。高电平时选择片内程序存储器,低电平时程序存储器全部在片外而不管片内是否有程序存储器。ale/prog:地址锁存允许信号,输出。ale以1/6的振荡频率固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。单片机最小系统的设计包括电源,晶振和复位电路三个部分。这是使单片机正常工作的必要外围电路部分。针对不同型号的单片机在最小系统设计上会有一些差别。对于选用的80c51单片机,根据美国atmel公司提供的技术资料,可以对

27、它的最小系统作恰当的设计,如图8所示。对于电源部分,技术资料中性能参数里给出的标准工作电压是4.05.5v。因此,单片机的引脚40对应的vcc接到+5v电源的正极,引脚10对应的gnd接到+5v电源的接地端,为80c51单片机提供正常的工作电压。对于晶振部分,80c51单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚19对应的xtal1和18对应的xtal2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。如图8所示,石英晶体及电容c1和c2接在放大器的反馈回路中构成并联谐振电路。石英晶体的两端分别接到引脚xtal1 和引脚xtal2

28、,同时石英晶体的两端分别接一个电容c1和c2,电容的另一端接地。对于外接电容c1和c2的大小虽然没有十分严格的要求,但电容容量的大小还是会对振荡频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。根据技术资料的推荐,使用石英晶体推荐电容容量为30pf±10pf,使用陶瓷谐振器推荐电容容量为40pf±10pf。因为电路中接的是石英晶体,所以设计中接的两个电容c1和c2的容量都为33pf。对于复位电路部分,80c51技术资料给出,当振荡器工作时,rst引脚出现两个机器周期以上的高电平将使单片机复位。复位是单片机的初始化操作,当由于程序运行出错或操作错误使系

29、统处于死锁状态时,为了摆脱困境,可以按复位键以重新启动,所以复位电路的设计很有必要。复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本设计选用按键电平复位方式。如图7所示,10f的电容c3与270的电阻并联后再与一个10k的电阻串联,电容的正极端接到电源的正极,电容的另一端接至引脚rst。设计中选用的石英晶体大小为11.0952mhz,但复位键按下后,电容和电阻选用的参数值能够保证给复位端rst提供大于2个机器周期的高电平复位信号。图7 80c51单片机最小系统设计电路adc0809是cmos单片型逐次逼近式a/d转换器,内部结构如图8所示,它由8路模拟开关、地址锁存与译码器、比较

30、器、8位开关树型a/d转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,adc0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与ttl兼容。 图8 adc0809内部结构adc0809芯片有28条引脚,采用双列直插式封装,如图9所示。下面说明各引脚功能。 图9 adc0809芯片in0in7:8路模拟量输入端。 2-12-8:8位数字量输出端。adda、addb、addc:3位地址输入线,用于选通8路模拟输入中的一路。如表1所示。ale:地址锁存允许信号,输入,高电平有效。 start:a/d转换启动信号,输入,高电平有效。 eoc:

31、a/d转换结束信号,输出,当a/d转换结束时,此端输出一个高电平(转换期间一直为低电平)。 oe:数据输出允许信号,输入,高电平有效。当a/d转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。clk:时钟脉冲输入端。要求时钟频率不高于640khz。 ref(+)、ref(-):基准电压。 vcc:电源,单一+5v。 gnd:地。 adc0809的工作过程是:首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 a/d转换,之后eoc输出信号变低,指示转换正在进行。直到a/d转换完成,e

32、oc变为高电平,指示a/d转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。当检测到酒精气味时,气体传感器的a-b间电阻变小,则adc0809的模拟输入端in0的电压变大。采用查询方式对输入模拟信号进行a/d转换,然后将数据通过三位八段数码管显示。表1 adc0809通道地址addc addb adda 选通通道0 0 0in00 0 1in10 1 0in20 1 1in31 0 0in41 0 1in51 1 0in61 1 1in7adc0809芯片内部没有时钟脉冲源,可以用单片机提供的地址锁存控制输入信号al

33、e经d触发器二分频后,作为 adc0809的时钟输入。ale端信号的频率是单片机时钟频率的1/6。单片机的时钟频率是11.0952mhz,则ale端输出信号的频率为1.8492mhz,再二分频后为0.9246mhz,符合adc0809对时钟频率的要求。由于adc0809具有三态输出数据锁存器,其8位数据输出端可以直接与数据总线相连。地址选通端adda,addb,addc分别与单片机地址总线的低三位a0,a1,a2相连,用于选通in0-in7中的某一通道。由于ale和start连在一起,adc0809在锁存通道地址的同时启动a/d转换。在读取a/d转换结束时,oe产生的正脉冲信号用于打开三态输出

34、锁存器。adc0809的eoc信号与单片机的p3.3相连,作为a/d转换是否结束的状态信号供单片机查询。adc0809与80c51单片机的接口电路如图10所示。单片机引脚p3.6与p2.7进入或非门后与模数转换芯片的ale端和start端子用导线相连接,用于对模数转换芯片写入数据的写信号。单片机的rd端p3.7与p2.7进入或非门后与模数转换芯片的oe端子用导线相连接,作为单片机读取模数转换数据的读信号。单片机引脚p3.3与模数转换芯片的eoc端经过或非门后的输出端用导线相连接,用于单片机对模数转换是否结束的查询,模数转换结束后可以查询到p3.3为高电平,为单片机读取数据作准备。单片机的ale

35、端口接到d触发器的时钟信号输入端ck,d触发器的反相输出端与触发信号输入端用导线相连,d触发器的清零和复位端为低电平有效,分别接高电平,d触发器的正向输出端与模数转换芯片的clk端子用导线相连接,为模数转换芯片提供正常的时钟信号。把模数转换芯片的a2a1a0端分别用导线连接到地址锁存器的低三位,用于选择模数转换的通道。模数转换芯片的in0端子用导线与信号采样部分的负载电阻端相连,作为要模数转换的输入端。单片机引脚p0.0p0.7连接到模数转换芯片的数据输出端d0d1d2d3d4d5d6d7端,用于读取模数转换后的数据。地址地址锁存芯片74ls373的输入端低三位分别与单片机引脚p0.0p0.2

36、连接,用于锁存选择模数转换通道的地址。图10 adc0809与单片机80c51接口电路2.5 发光二极管显示报警电路发光二极管集成驱动芯片lm3914的管脚图如图11所示。其内部的缓冲放大器最大限度的提高了该集成电路的输入电阻(5脚),电压输入信号经过缓冲器(增益为零)同时送到10个电压比较器的异相(-)输入端。10个电压比较器的同相输入(+)端分别接到10个等值电阻(1k)串联回路的10个分压端。因为与串联回路相接的内部参考电压为1.2v,所以相邻分压端之间的电压差为1.2v/10=0.12v。为了驱动led1发光,集成电路lm3914的1脚输出应该为低电平,因此要求电压比较器异相(-)端的

37、输入电压应大于0.12v。同理,要使led2发光,异相端输入电压应大于0.12*2=0.24v;要使led10发光,异相端输入电压应大于0.12*10=1.2v。lm3914的9脚为点,条方式选择端,当9脚与11脚相接为点状显示;当9脚与3脚相接,则为条状显示。本系统采用条状显示方式,即将引脚9和引脚3都接到电源的正极。图11 lm3914管脚图如图12所示,lm3914的3和9引脚接电源正极,使发光二极管成柱状显示,7和8引脚接一个2k的电阻,控制发光二极管的亮度,5引脚为采样信号的输入端,10到18引脚和1引脚分别接发光二极管的负极端,4和2引脚与发光二极管的正极间接一个10f的电容,作为

38、发光二极管的虚电源,驱动要反光的二极管点亮。当检测到酒精气味时,气敏传感器的a-b间电阻变小,lm3914的5端电位升高,通过比较放大,驱动发光二极管依次发光,从而区分出酒精含量的高低,直观的看出所测的酒精浓度达到了哪个水平值,起到报警的作用。输入灵敏度可以通过负载电阻的调节来实现,即对地电阻调小时灵敏度下降;反之,灵敏度增加。改变7脚与8脚之间电阻的阻值可以调节发光二极管的显示亮度,当阻值增加亮度减弱,反之加强。图12 发光二极管显示2.6 数码管显示电路发光二极管一般是砷化镓半导体二极管,在发放光二极管两端加上正向电压,则发光二极管发光。数码管是由若干发光二极管组合而成的,有共阴极和共阳极

39、两种结构形。8段共阴数码管由abcdefg、dg这8个发光二极管组成。把8个发光二极管的阴极连接在一起构成共阴极端,接进电路时,共阴极端接地,给要发光显示的二极管的阳极端接高电平可使该发光二极管导通点亮。如图13所示。图13 8段共阴数码管结构图用单片机驱动数码管有静态显示和动态显示,静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就可以驱动数码管显示数据,直到下一次显示数据需要更新时再传送一次新的数据就可以了。静态显示数据稳定,占用cpu时间少。动态显示需要时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的cpu时间多。这两种显示方式各有利弊;静态显示虽然数据稳定,占

40、用很少的cpu 时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的cpu时间多,但使用的硬件少,能节省线路板空间。设计选用3个单位8段共阴数码管来显示输出的数据,因为电路硬件相对较简单,所以选择静态显示方法。选用3个移位寄存器74ls164驱动数码管发光点亮。电路连接如图14所示。移位寄存器在电路中一是驱动数码管点亮,二是对输入的串行数据并行输出,起到串并转换的作用。移位寄存器74ls164串行数据输入端与前一位的并行输出最高位相连,第一位移位寄存器的数据输入端与单片机的数据输出端p1.7连接。单片机引脚p1.6用于给移位寄存器提供移位的时钟脉冲,该引脚

41、与三个移位寄存器的时钟输入端clk相连。因为每位数据串行输出先输出的是低位,所以数码管引脚a、b、c、d、e、f、g、dg应顺序与对应位的移位寄存器并行输出端的q7、q6、q5、q4、q3、q2、q1、q0连接。图14 数码管显示电路2.7 系统整体电路图信号采样模块电路的输出接到发光二极管显示lm3914的输入端,同时也将采样信号输出端接至a/d转换芯片的输入端,再加上单片机最小系统电路、单片机与模数转换芯片的连接和单片机与数码管显示的连接,即可作出它的整体电路图,如图15所示。图15 整体电路图3 系统软件设计3.1 开发环境选用的开发平台为wave6000单片机集成开发环境,只需在pc机

42、上安装wave6000软件,然后在wave6000软件代码编辑器编辑程序代码,经汇编,修改,产生代码,形成输入输出口实验十六进制.hex文件, 初始化器件后,将经过编译生成的.hex十六进制文件下载到单片机。对于8051系列单片机,现有四种语言支持,即汇编、pl/m、c和basic。本设计软件编程部分选用汇编语言来写程序代码。3. 2 程序流程当检测到酒精气味时,气体传感器mq-3两个电极端a-b间电阻将变小,对应与气体传感器负载电阻的分压将变大。因为adc0809的模拟输入端in0与负载电阻的一端用导线连在了一起。所以单片机在启动测试模数转换芯片之前要选择通道0,写入模数转换芯片,并将用作查

43、询的单片机引脚p3.3置位,然后启动对通道in0端输入的采集电压信号作模数转换,等待转换的结束。利用单片机丰富的i/o口可以采用查询方式来检测模数转换是否结束,当单片机引脚p3.3为1时转换未结束等待,当查询到p3.3为0时表示模数转换已经结束,可以开始读取数据了。单片机通过i/o口与模数转换芯片的数据输出口相连读取转换后的数据。读取后的数据送到数据存储器单元中,经过单片机作相应的处理,即要将该电压值转换为酒精浓度值,然后处理后的数据转换成三位十进制bcd码用数码管显示。程序流程图如图16所示。单片机选择a/d通道地址单片机p3.3置位并启动a/d测试a/d转换结束?p3.3=1?数码管显示n

44、y单片机初始化开始单片机读取数据并作处理图16 程序流程图3.3 程序代码编写系统电源线接通或者系统复位后,程序从主程序入口进入运行。因为在程序中每次对模数转换后读取的数据,需要相应的存储空间,同时对读取的数据作适当处理后也要送到特定的存储空间存储起来,以供后面的数码管显示用。当然,在程序运行的过程当中,还要用到工作寄存器,因为工作寄存器都是临时存储数据,不需要保存作为以后处理要用到的数据,所以工作寄存器的初始化这部分可以省去。于是,对于程序的初始化程序代码可以相应写出13。start:mov r7,#60hmov r0,#20hclr aloop:mov r0,ainc r0djnz r7,

45、loop初始化程序从数据存储器地址为20h单元开始,到80h单元全部清零。即每次的初始化将上次存储的数据全部清除,用于存放当前要存储的数据。对模拟电压信号的数字转换由模数转换芯片adc0809加单片机80c51控制来完成。模拟电压的输入端接在模数转换芯片的in0通道,再根据单片机与模数转换芯片的连接,单片机在选择读写地址时应该为#7ff8h。因为单片机高8位地址位的p2.7位与单片机的位经或非后与模数转换芯片的start和ale用导线连接。所以单片机在将地址#7ff8h写入模数转换芯片后,一方面模数转换芯片锁存地址选择线的状态,从而选通相应的模拟通道,同时启动模数转换。模数转换需要一定的时间,

46、这时可以开始对转换是否结束进行不断的查询。adc0809中模数转换结束输出标志位是eoc,转换结束时为高电平有效。该位通过一个反相器与单片机引脚p3.3相连,因为启动模数转换之前p3.3位被置位,所以当查询到p3.3位为0时即表示模数转换结束。最后将转换后的数据读取到单片机累加器a中。根据这思路可以写出模数转换的子程序代码。test:mov dptr,#7ff8h setb p3.3 movx dptr,a jb p3.3,$ movx a,dptr ret把转换后得到的数字电压值读取到单片机后,因为,实际的电压值范围在0+5v之间,而adc0809模数转换芯片对应的是8位精度的处理,即从00

47、000000b到11111111b,所以单片机还要对它作个除#51的处理工作。而在处理过程中对于有些数据的处理,可能要碰到双字节相除的情况。为此,在第一位单字节除#51后,接下来的小数部分位的除#51则要作双字节的除法,这样才能保证使所有位能显示出来。如果所有位都当单字节除法来运算的话,对于有些要作双字节除法的位上的数字则无法显示,而能是显示0。相除后对应的每一位分别送到地址为#7dh,#7eh,#7fh的存储单元保存,以供显示或后续处理用。思路明确后,实际电压值转换部分程序可以写出来。mov b,#51div abmov 7dh,amov a,bmov b,#10mul abmov r6,a

48、mov r7,bacall div16 mov 7eh,r6mov a,r2mov b,#10mul abmov r6,amov r7,bacall div16mov 7fh,r6经过处理后实际采样到的电压值对应的各个位就分别存储在#7dh,#7eh,#7fh三个存储单元里面了。模数转换后得到的数字电压量被单片机读取后还要作一定的数据处理,其中包括把电压值转换为与之相对应的酒精浓度值,根据总体设计思路,对电压值都近似作对应区间的线性转换。即首先,单片机要对采集到的数据在哪个区间作个判断跳转,然后再根据该区间的线性关系作转换,得到对应的酒精浓度值。根据酒精浓度与电压的线性映射关系,如表3所示,可

49、以写出该部分的程序代码mov b,#100mul abmov r6,amov r7,bmov r5,#0mov r4,#51acall div16mov 70h,r6mov 71h,r7mov a,71hjnz l5l1:mov 72h,#75clr cmov a,70hsubb a,72hjnc l2acall pp0ajmp ppl2:mov 72h,#145clr cmov a,70hsubb a,72hjnc l3acall pp1ajmp ppl3:mov 72h,#173clr cmov a,70hsubb a,72hjnc l4acall pp2ajmp ppl4:mov 72h

50、,#233clr cmov a,70hsubb a,72hjnc l5acall pp3ajmp ppl5:mov 72h,#18clr cmov a,70hsubb a,72hjnc l6acall pp4ajmp ppl6:mov 72h,#64clr cmov a,70hsubb a,72hjnc l7acall pp5ajmp ppl7:mov 72h,#105clr cmov a,70hsubb a,72hjnc l8acall pp6ajmp ppl8:acall pp7ajmp pp从读取到的电压值得到酒精浓度值后,还要把该值转换为3位10进制bcd码,存储到特定的存储单元以供数

51、码管显示数值。数码管显示选用的是静态显示的方法,要在每次显示数据时把要显示的3个位按顺序串行送到数码管集成驱动电路74ls164并行输出,以同时驱动3个数码管同时点亮。根据7段数码管的字型码如表2所示和移位寄存器74ls164的逻辑功能,将对应的共阴极字型码放在一个表格中,然后通过查表的方式找到要显示的数字送移位寄存器驱动数码管显示。单片机对每次移出的位通过p1.7输入到移位寄存器的数据输入端,移位寄存器的时钟脉冲通过单片机p1.6模拟的时钟信号提供。于是可以写出显示部分的程序代码。disp:mov dptr,#tabmov a,7fhmovc a,a+dptracall somov a,7e

52、hmovc a,a+dptracall somov a,7dhmovc a,a+dptracall soretso:mov r7,#8so1:clr p1.6 rrc a mov p1.7,c setb p1.6 djnz r7,so1 ret表2 七段led字型码显示字符共阴极字型码共阳极字型码03fhc0h106hf9h25bha4h34fhb0h466h99h56dh92h67dh82h707hf8h87fh80h96fh90h 程序当中为了显示的精确,在有些位相除时用到了双字节相除的算法。对于多字节无符号数的除法,可以依照移位相减的基本方法来进行。除法运算是按位进行的,每一位是一个循环

53、,每个循环中要作三件事,一是被除数左移一位,二是余数减除数,最后根据是否减来置商位为1或0。对于被除数的移动,最简单的办法是把被除数向余数单元左移,把被除数左移后空出的低位存放商数,当除法完成后,被除数已全部移动到余数单元并逐次被减而得到余数,而被除数单元中内容已成为商数。据此,可以写出双字节除法的程序代码。div16:mov r5,#0 mov r4,#51 mov r3,#0 mov r2,#0 mov r1,#16lp1:clr c mov a,r6 rlc a mov r6,a mov a,r7 rlc a mov r7,a mov a,r2 rlc a mov r2,a mov a,

54、r3 rlc a mov r3,a mov a,r2 clr c subb a,r4 jc next mov r0,a mov a,r3 subb a,r5 jc next inc r6 mov r3,a mov a,r0 mov r2,anext:djnz r1,lp1ret根据程序流程图和各个子程序的编写可以得到整个设计的总程序代码,见附录。打开实验开发平台wave6000单片机集成开发环境,在wave6000软件代码编辑器编辑程序代码,经汇编,修改,产生代码4 电路调试与测试结果4.1 电路调试根据各个模块功能的设计和绘制的整体电路图,找到各功能模块的连接点。按照设计的步骤,并对照总电路

55、图,在面包板上连接电路。电路的连接顺序是,先连接好各个模块,在调试检查正确的前提下再把各个模块连接起来。打开80c51软件,将写好的调试程序代码在计算机上输入、汇编、修改、产生代码,形成输入输出口实验.hex文件。打开wave6000软件,在菜单options选项中选择select device,在弹出的窗口中选择器件80c51,并选byte mode点击ok。初始化器件后,将经过编译生成的,hex十六进制文件下载到单片机。电路连接好,并将调试程序代码(注释电压到酒精浓度转换关系代码)烧写到80c51单片机上后,接上+5v电源开始调试。先把气体传感器探头用一个阻值为20k的电阻替代,复位单片机,观察数码管上的显示数据和发光二极管的点亮情况。用万用表测量采样点的电压值,看用万用表测得的电压值与数码管上显示数据是否一致。因为各导线和元器件对电压电流的影响,数码管显示的数据与万用表测得的数

温馨提示

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

评论

0/150

提交评论