基于单片机的防止酒后驾车控制系统课程设计论文_第1页
基于单片机的防止酒后驾车控制系统课程设计论文_第2页
基于单片机的防止酒后驾车控制系统课程设计论文_第3页
基于单片机的防止酒后驾车控制系统课程设计论文_第4页
基于单片机的防止酒后驾车控制系统课程设计论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、现代电子设计与制作小组课题论文论文(设计)题目:基于单片机的防止酒后驾车控制系统 学 院:职业技术师范学院 专 业:电子信息科学与技术目 录摘要3abstract .错误!未定义书签。第一章 前言51.1课题研究的目的及意义21.2研究内容3第二章 总体方案设计42.1 设计思路52.2 系统方案设计62.2.1选用的酒精传感器的类型72.2.2选用的单片机的类型82.2.3选用的模数转换芯片的类型9第三章 系统硬件设计103.1 酒精传感器测试电路的设计113.2 信号采集放大电路设计123.3 a/d转换电路的设计133.4 单片机最小系统143.4.1时钟电路设计153.4.2复位电路设

2、计163.5 数码管显示电路设计173.6 报警电路设计183.7 继电器驱动电路设计19第四章 系统软件设计204.1 软件整体设计思路214.2 主程序模块的设计224.3 控制子程序234.4数据采集及处理模块244.5继电器驱动子程序设计及流程图25第五章 结论26致 谢27参考文献28附件 硬件电路原理图29 基于单片机的防止酒后驾车控制系统摘要 随着交通行业技术的发展,以及汽车保有量的增加,汽车给人类带来舒适和便捷的同时,也给人类带来了交通事故频发等交通安全隐患,如酒后驾驶、无照驾驶、违规驾驶等,严重威胁着人类生命和财产安全。随着我国公路运输业的发展,同其他国家相比,我国的道路交通

3、安全更为严峻,特别是由酒后驾驶导致的交通事故率比较高。针对酒后驾车导致交通事故频繁发生的现象,设计了一种能够防止酒后驾驶的自动控制系统。该系统由酒精传感器、数据采集及信号放大、adc0809模数转换器、at89s52单片机控制器、语音报警、led显示、继电器以及电机等构成。主要研究了对不同的区间浓度和电压转换关系做线性化处理。将采集到的模拟电压信号经a/d模数转换器转换成数字信号,送入单片机,通过单片机进行判断计算输出控制信号;当司机体内酒精浓度超标时,该系统能够自动切断汽车的启动系统电源,同时发出声光报警,并通过数码管实时显示酒精浓度,实现了自动控制功能。该系统需要驾驶者在汽车点火前先进行吹

4、气测试,如果测试结果超过安全水平,在驾驶员用钥匙发动时,继电器将动作,汽车将不能开启,该装置可以用来防止有酒后驾车的人再次犯错。关键词: 酒后驾驶;at89s52单片机;自动控制系统;气体传感器 micro controller-based control system to prevent drunk driving abstract with the development of the transport industry and technology, as well as increased car ownership , car to bring comfort and conve

5、nience of mankind,it also brought to mankind frequent traffic accidents and other traffic safety problems, such as drunk driving, driving without a license , driving violations , serious threat to human life and property safety. with the development of the road transport industry , compared with oth

6、er countries , chinas road traffic safety is more severe , especially in traffic accidents caused by drinking and driving rates higher . against drunk driving accident resulting in the phenomenon of frequent occurrence , is designed to prevent drinking and driving an automatic control system. the sy

7、stem consists of alcohol sensor , data acquisition and signal amplification , adc0809 adc , at89s52 mcu controllers, voice alarm , led displays , relays and motors , and the like . the main concentration of the different intervals and voltage conversion relationship do linearization . the collected

8、analog voltage signal by a / d analog- converted into digital signals into the micro-controller, to judge by the micro-controller to calculate the output control signal ; when the driver alcohol concentration exceeded, the system can automatically cut off the cars starting system power , while audib

9、le alarm , and through real-time digital display alcohol concentration to achieve automatic control function. the system requires motorists to carry out first before blowing the car ignition test , if the test result exceeds safe levels , with the key in the drivers launch , relay action, the car wi

10、ll not turn on , the device can be used to prevent drunk driving people make mistakes againkeywords: drink-driving; at89s52 micro-controller; automatic control system; gas sensors 第一章 绪论1.1课题研究的目的及意义近年来随着经济迅速发展,人们的生活水平日益提高,私家车也越来越多,各种应酬随之而来,“酒”这东西贴近了我们的生活。而酒后驾车也频频发生,给人们的生活和生命安全带来了巨大的伤害。据德国一家调研机构预测,全

11、球汽车(包括个人用车和商用车)保有量最迟到 2010 年将突破 10 亿量。随着汽车保有量的增加,交通事故也在不断的增加,全世界每年约有 120 万人死于道路交通事故,受伤者多达 5000 万人,同时全球道路交通事故每年造成的直接经济损失为 5180 亿美元,可见道路交通安全问题已成为全球性的主题。随着汽车使用量的增加和道路交通事业的发展,也给社会带来了负面影响,其中道路交通事故就是其中之一。目前我国汽车保有量约占世界的 2%,但交通事故死亡人数却占 15%左右 ,同发达国家相比,我国的道路交通安全形式严峻。截至到 2008 年,虽然我国加强了预防交通事故的措施,但是交通事故数量还是相当惊人。

12、 据世界卫生组织的事故调查显示,大约50%-60%的交通事故与酒后驾驶有关。酒后驾驶已经被世界卫生组织列为车祸致死的首要原因。在我国,母国勇分析了我国2000 年交通事故原因,明显指出驾驶员是造成交通事故的主要原因。牟建霖指出我国机动车驾驶员酒后驾车约占 20%,每年因酒后驾车发生交通事故死亡人数超过 5000 人。赵卫兴,高岩等人分析了 19942004 年酒后驾驶死亡人数占交通事故总死亡人数的比例,指出该比例从1994年的2%上升到2004年的4.4%,平均每年以7.3%的速度增长,可见酒后驾车的危害触目惊心,已经成为引发交通事故的罪魁祸首。 为了能够有效的防止酒后驾驶造成的此类危害,研究

13、一种酒后驾驶智能闭锁系统是非常必要的,从而能够强制性防止酒后驾车,降低交通事故的发生率。对于酒后驾车这种现象,张玮指出虽然各个国家都对酒后驾车执行了严格的规定,但是还有很多人不能严格遵守这个规定,酒后驾车事件还是很频繁,因此研究这种能够自动防止酒后驾车的装置更为必要。本研究设计的智能闭锁系统,能够通过高敏度的呼气式酒精传感器,通过检测司机呼出气体的酒精含量当检测到司机呼出气体内酒精含量超标时,能够阻止驾驶员开启汽车引擎,使汽车无法启动,同时语音报警,提醒驾驶员“注意安全,不要酒后驾车”,从而有效减少交通事故的发生,提高我国道路安全水平,更好地保障我们的交通秩序,保护人们的出行安全,构建和谐的交

14、通环境。1.2研究内容本课题主要研究一种能自动防止司机酒后驾驶的智能闭锁系统,本研究主要采用中档芯片作为该智能闭锁系统的核心,通过呼气式酒精传感器测试司机呼出气体的酒精含量,并且能够通过液晶显示器显示该酒精含量值,当司机体内血液酒精含量超过安全驾驶标准时,能够报警,并通过继电器切断汽车引擎的电源,使汽车无法启动。 本研究主要包括以下几个方面的内容: (1)设计智能闭锁系统的功能、结构组成以及控制系统中的功能模块; (2)认真学习 at89c52芯片的特性和功能,设计自动控制系统的硬件电路。以at89c52为核心,功能模块划分为酒精传感器酒精浓度信号采集放大电路、at89c52 微控制器接口电路

15、、报警电路、酒精浓度显示电路、继电器接口电路等 ;(3)软件编程。按照软件实现的功能,分为酒精传感器模拟输出电压线性化处理、气体浓度显示、报警、继电器驱动子程序等; (4)硬软件结合调试。 第二章 总体方案设计2.1 设计思路本研究设计的酒后驾驶智能闭锁系统,采用燃料电池型酒精传感器,通过该酒精传感器检测驾驶员呼出气体的酒精含量,判断是否超过安全驾驶标准,而且要求通过硬件系统处理,能够显示该酒精浓度,使驾驶员能够清楚的看到已经饮酒过度,所以需要选择一种显示仪器来显示驾驶员呼出气体酒精浓度值,基于这种要求,本次设计选用led显示模块。为了能够警示驾驶员不要酒后驾驶,本系统中需要设计一种报警系统,

16、能够在驾驶员欲酒后驾驶时,发出警告提示。该智能闭锁系统的最主要功能是为了当检测到司机呼出气体内酒精浓度超标时,能够自动切断汽车引擎电源,所以需要一种执行机构能够自动的切断汽车引擎电源,本次设计选用继电器来达到这个目的,通过继电器的动作来控制汽车引擎电源是否开启。通过选用本方案中的元件,该智能闭锁系统能够通过快速检测驾驶员呼出气体的酒精浓度是否超标,通过单片机的放大、采集处理检测驾驶员呼出气体酒精含量是否超标,当检测到驾驶员饮酒过度时,能够显示酒精浓度值和报警提示不要酒后驾车,并快速切断汽车引擎电源,停止启动发动机。2.2 系统方案设计基于以上的构思,设计了基于单片机的酒后驾驶智能闭锁系统的系统

17、框图,如下图所示:at89c52单片机led显示酒精传感器adc0809放大器警告提示 数字量 控制转换电源供电汽车引擎电源驱动继电器下面对该系统做下简单的介绍:本系统主要由电源模块、酒精传感器、at89系列单片机、模数转换模块、led显示模块、报警模块、继电器驱动模块等组成,其主要任务是采集酒精传感器的输出电压信号,放大后经过adc0809模数转换和at89c52单片机处理,当检测到酒精浓度超过标定值时,能够通过led显示传感器的输出电压值,并通过报警模块和驱动继电器动作,切断汽车引擎电源。 本系统软件整体设计思路采用模块化设计,软件有主模块、声光报警模块、数据采集模块、显示模块、算法模块、

18、存储模块等组成。数据采集程序主要将接收到的数据送到a/d转换器中处理,进而将数字信号输入到单片机中;然后,一部分送到led显示,另一部分与设定值进行比较,当其超过标定值时,语音报警器提示驾驶员开车危险,使其提高警惕性,同时控制继电器的动作,使汽车引擎不能启动。其模块框图如下图所示:2.2.1选用的酒精传感器的类型目前普遍使用的酒精传感器为半导体型和燃料电池型,这两种酒精传感器易于制造成便捷型呼气式酒精测试器,适用于现场使用。国内普遍使用半导体型酒精测试仪,因为它的主要优点是价格低廉,只是燃料电池型的几分之一,但是它的性能远比燃料电池的要差,所以它通常用在要求不高的场合,如自我检测或一般性定性检

19、测。但是对于应用在汽车领域,主要用来精确测量人体呼出气体酒精含量的检测,应该需要完全符合ga307-2001标准的燃料电池型酒精传感器,确保对人体呼出酒精气体进行实时、精确定量检测。基于本次设计要求和使用环境、成本等方面的考虑,本次课题选用燃料电池型酒精传感器。 燃料电池型酒精传感器的消耗电流小,并且通电初期的稳定时间短,其电路部分仅需要电池就可以满足供电需要,比半导体传感器的精度高、灵敏度高、性能稳定、抗干扰性强,适宜用在检验人体呼出气体的酒精含量中。2.2.2选用的单片机的类型目前最常用的是 avr、mcs-51、pic 系列单片机。51系列单片机的优点之一是它从内部的硬件到软件有一套完整

20、的按位操作的系统,称作位处理器,能够进行的位传送、置位、清零、测试、逻辑运算等,功能完备。51系列的另外一个优点是乘法和除法指令,给编程带来方便。intel公司51系列的典型产品是8051,片内有4k字节的一次性程序存储器(otp)。at mel公司就将其改为电可改写的闪速存储器(flash),容许改写1000次以上,这给编程和调试带来极大的便利,其产品at89c51、at89c52等成为了当今最流行的八位单片机。pic 系列单片机采用 harvard 双总线结构,运行速度快,指令流水线结构,程序存储器的访问和数据存储器的访问并行处理。但编程时分页比较麻烦,扩展能力比较弱。avr是集合了pic

21、和51的优势的,指令周期比pic还要快,性价比比pic要高,flash在线编程比pic方便,学avr会感到它的结构跟pic差不多,很多相似的,就是用c语言开发置位麻烦一点,位操作不如pic和51方便,工业级也用的不广,多用于仪器、通信上。基于本设计要求的性价比以及所实现功能,选用atmel公司的at89c52单片机。2.2.3选用的模数转换芯片的类型ad转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。基于本次设计的要求,选用adc0809模数转换芯片。0809是一款8通道复用的8位ad转换器,数据获取的关键部分是它的8位模/数转换器。这个部分主要是由3部分组成:256r的阶梯网络,连

22、续逼近的电阻,和比较器。连续逼近电阻(sar)通过8次迭代去大约逼近输入电压,只要输出是几位,那么就需要几次迭代。sar通过8组开关组和比较器完成获取输入电压对应参考电压的数字信号。ad转换器的主要技术指标1)分辩率(resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辩率又称精度,通常以数字信号的位数来表示。 2) 转换速率(conversion rate)是指完成一次从模拟转换到数字的ad转换所需的时间的倒数。积分型ad的转换时间是毫秒级属低速ad,逐次比 较型ad是微秒级属中速ad,全并行/串并行型ad可达到纳秒级。采样时间则是另外一个概念,是指

23、两次转换的间隔。为了保证转换的正确完成,采样速率 (sample rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和msps,表 示每秒采样千/百万次(kilo / million samples per second)。 第三章 系统硬件设计硬件是整个系统正常工作的基础,本系统硬件电路主要由酒精传感器测试电路、信号放大电路、a/d转换电路、单片机最小系统、控制电路、显示电路、语音报警电路及光电报警电路组成,各部分设计如下。3.1 酒精传感器测试电路的设计mr513型气敏元件通过气体吸附在金属氧化物半导体表面而产生热传导变化及电

24、传导变化的原理,由白金线圈电阻值变化测定气体浓度。mr513由检测元件和补偿元件配对组成电桥的两个臂,遇可燃气体时检测元件电阻减小,桥路输出电压变化,该电压变化随气体浓度增大而成比例增大,补偿元件起参比及温度补偿作用。由于这种变化是可逆的,所以能重复使用。当气敏传感器的敏感体电阻阻值发生变化时,对应的电位器的分压值也会发生相应的变化,即一个电压值对应着一个被测酒精气体浓度。对酒精气体浓度的采样就可以转化为电位器分压的采样。mr酒精传感器对乙醇蒸气有很高的灵敏度和良好的选择性,具有快速的响应恢复特性,具有长期的寿命和可靠的稳定性,具有简单的驱动回路等特点。在采样硬件电路中实际要考虑到mr的实际参

25、数,应为实验所用的mr在预热5到10分钟后。传感器测试电路如下图: 3.2 信号采集放大电路设计本次选用的酒精传感器为燃料电池型酒精传感器,该燃料电池型酒精传感器基于电化学原理制备而成,电路仅需要电池就可以满足其工作。传感器输出为模拟电压信号,首先通过仪表放大器lm339放大,最后把已放大的模拟电压信号传输至adc0809的输入端进行模数转换(a/d)。仪表放大器选用的是lm339,lm339集成块内部装有四个独立的电压比较器,该电压比较器的特点是:1:失调电压小,典型值为2mv;2:电源电压范围宽,单电源为2-36v,双电源电压为1v-18v;3:对比较信号源的内阻限制较宽;4:共模范围很大

26、,为0(ucc-1.5v)vo;5:差动输入电压范围较大,大到可以等于电源电压;6:输出端电位可灵活方便地选用。 lm339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择lm339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mv就能确保输出能从一种状态可

27、靠地转换到另一种状态,因此,把lm339用在弱信号检测等场合是比较理想的。lm339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻,选3-15k)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。 本设计中采用电位器模拟经酒精传感器转换的电压信号再经过放大器的输入信号。3.3 a/d转换电路的设计 adc0809是带有8位a/d转换器、8路多路开关以及微处理机兼容的控制逻辑的cmos组件。它是逐次逼近式a/d转换器,可以和单片机直接

28、接口。 (1)adc0809的内部逻辑结构由下图可知,adc0809由一个8路模拟开关、一个地址锁存与译码器、一个a/d转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用a/d转换器进行转换。三态输出锁器用于锁存a/d转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。 adc0809的内部逻辑结构该八位转换芯片,是把基准电压量化成256等份,然后通过逐次逼近法,对外部的模拟信号进行取样比较,确定其所在的等级,即所对应的8位二进制数的大小。由此可知,8位转换芯片的精确度为基准电压除以256的值,如接5v基准电压时,精确度约为0.02

29、0v。 (2)adc0809引脚结构adc0809各脚功能如下:d7-d0:8位数字量输出引脚。in0-in7:8位模拟量输入引脚。vcc:+5v工作电压。gnd:地。ref(+):参考电压正端。ref(-):参考电压负端。start:a/d转换启动信号输入端。ale:地址锁存允许信号输入端。(以上两种信号用于启动a/d转换) cba选择的通道000in0001in1010in2011in3100in4101in5110in6111in7eoc:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。oe:输出允许控制端,用以打开三态数据输出锁存器。clk:时钟信号输入端(一般为500

30、khz)。a、b、c:地址输入线。adc0809对输入模拟量要求:信号单极性,电压范围是05v,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条数字量输出及控制线:11条 ale为地址锁存允许输入线,高电平有效。当ale线为高电平时,地址锁存与译码器将a,b,c三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。a,b和c为地址输入线,用于选通in0in7上的一路模拟量输入。通道选择表如下表所示。通道选择表 st为转换启动信号。当st上跳沿时,所有内部寄存器清零;下跳沿时,开始进行a

31、/d转换;在转换期间,st应保持低电平。eoc为转换结束信号。当eoc为高电平时,表明转换结束;否则,表明正在进行a/d转换。oe为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。oe1,输出转换得到的数据;oe0,输出数据线呈高阻状态。d7d0为数字量输出线。clk为时钟输入信号线。因adc0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500khz,vref(),vref()为参考电压输入。adc0809 是一个典型的8 位8 通道逐次逼近式数模转换芯片,可实现8 路模拟信号的分时采集,外接时钟频率一般不高于640 k hz,一次数据转换时间大约为10

32、0 s。adc0809数据采集方式有3 种:延时,查询,中断。它们在电路连接和程序编写中都有所不同。a/d转换电路设计如下图:adc0809转换电路3.4 单片机最小系统单片机最小系统它含有256字节数据存储器,内置8kb的电可擦除flash rom,可重复编程,主要由单片机、时钟电路、复位电路组成。 3.4.1时钟电路设计 对于时钟电路:at89c52单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚19对应的xtal1和18对应的xtal2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自己振荡器。如下图3-3所示,石英晶体及电容c1和c2接

33、在放大器的反馈回路中构成并联谐振电路。石英晶体的两端分别接到引脚xtal1和引脚xtal2,同时石英晶体的两端分别接一个电容c1和c2,电容的另一端接地。对于外接电容c1和c2的大小虽然没有十分严格的要求,但电容容量的大小还是会对振动频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。根据技术资料的推荐,使用石英晶体推荐电容容量为30pf10pf,使用陶瓷谐振器推荐电容容量为40pf10pf。因为电路中接的是石英晶体,所以设计中接的两个电容c1和c2的容量都为33pf。 时钟电路3.4.2复位电路设计对于复位电路部分,at89c52技术资料给出,当振荡器工作时,rst引脚

34、出现两个机器周期以上的高电平将使单片机复位。复位是单片机的初始化操作,当由于程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱困境,可以按复位键以重新启动,所以复位电路的设计很有必要,复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本设计选用按键电平复位方式。如下图所示,100uf的电容c3与100欧姆的电阻并联后再与一个10千欧姆的电阻串联,电容的正极端接到电源的正极,电容的另一端接到引脚rst。设计中选用的石英晶体大小为11.0952mhz,但复位键按下后,电容和电阻选用的参数值能够保证给复位端rst提供大于2个机器周期的高电平复位信号。复位电路3.5 数码管显示电路设计

35、(1)八段数码管八段数码管比七段数码管多路一位小数点,实际是8个led摆放排列而成。当特定的某几个数码管点亮时,就显示了特定的数字形状。有共阳极和共阴极之分,共阳极是指8个输入端a、b、c、d、e、f、g要输入低电平才会是相应led点亮,共阴极则须输入高电平。本次设计用的是共阳极的数码管。下图是其结构原理图。 八段数码管共阴、共阳、管脚图(2)74ls74双d触发器74ls74是个双d触发器,把其中的一个d触发器的q非输出端接到d输入端,时钟信号输入端clock接时钟输入信号,这样每来一次clock脉冲,d触发器的状态就会翻转一次,每两次clock脉冲就会使d触发器输出一个完整的正方波,这就实

36、现了2分频。把同一片74ls74上的两路d触发器串联起来,其中一个d触发器的输出作为另一个d触发器的时钟信号,还可以实现4分频。 74ls74双d触发器内部结构、引脚图、管脚图3.6 报警电路设计 酒后驾驶智能闭锁系统当由at89c52单片机的p2.4口检测到人体内血液酒精浓度超过0.2g/l,即呼出气体中酒精含量为47.43ppm时,将控制报警器发出提醒安全指示。 报警电路设计3.7 继电器驱动电路设计当检测到人体内血液浓度超过标定值时,如果驾驶员有意向开启汽车钥匙(电路里面用按钮表示),那么酒后驾驶智能闭锁系统将驱动继电器动作(电路设计中由单片机的p2.5口控制继电器),切断汽车引擎电源,

37、从而使汽车无法启动,从而有效的防止驾驶员酒后驾车。继电器驱动电路原理图如下图,继电器为双刀双掷hrs2h-s-dc5v小功率电磁继电器,额定电压3v24v,额定电力消耗200mw360mw。继电器驱动电路设计 第四章 系统软件设计系统软件采用汇编语言,在windows xp环境下采用keilc51进行编写,对stc89c51进行编程以实现各项功能。在整个软件的设计过程中,使用了模块化的结构设计思想使得程序具有灵活可变的特点并且具有较强的可移植性,为系统的二次开发及类似系统的开发提供了极大的便利。4.1 软件整体设计思路本次设计涉及到的程序量非常大,所以采用模块式的程序编写思路会使整个程序脉络清

38、晰,易于理解分析。软件总体设计思路:主程序主要包括传感器输入、数据采集、数据处理、声光报警、驱动等子程序。其中,单片机控制器主要功能是驱动继电器动作从而控制电机的启动;数据采集程序主要将接受到的数据送到a/d转换器中处理,进而将数字信号输入到单片机中;然后,一部分送去led显示,另外一部分与设定值进行比较,当其超过标定值时,语音报警器提示驾驶员开车危险,使其提高警惕,同时控制继电器的动作,使汽车引擎不能启动。该系统设计采用汇编语言编程。 4.2 主程序模块的设计系统电源线接通或是系统复位后,程序从主程序入口进入运行。然后初始化,初始化程序从数据存储器地址20h单元开始,到80h单元全部清零,即

39、每次的初始化将上次存储的数据全部清除,用于存放当前要存储的数据。当检测到酒精气味时,气体传感器mq_3两个电极段a-b间的电阻将变小,对应于气体传感器负载电阻的分压将变大。因为adc0809的模拟输入端ino与负载电阻的一端用导线连在了一起。所以单片机再启动测试模数转换芯片之前要选择通道0,写入模数转换芯片,并将用作查询的单片机引脚p1.5置位,然后启动对通道ino端输入的采集电压信号作模数转换,等待转换结束。利用查询方式来检测模数转换是否结束,当单片机引脚p1.5为0时转换为结束等待,当查询到p1.5为1时表示转换结束,可以开始读取数据了。单片机通过i/o口与模数转换芯片的数据输出口相连读取

40、转换后的数据。经过转换后的数字信号和标定值进行比较,若小于标定值,执行继电器的动作,即驱动继电器、启动电机,然后继续对酒精传感器进行数据采集;若大于标定值,不执行继电器动作,继续对传感器信号进行采集,同时,语音、光电报警器提示驾驶员。读取后的数据送到数据存储器单元中,经过单片机动作相应的处理,即要将该电压值转换成酒精浓度值,然后处理后的数据转换成三位十进制bcd码用数码管显示。开始 程序初始化调节电位器仪表放大器放大处理a/d转换线性化处理是否超过报警限度 y报警处理驱动继电器 n电压值显示断开启动机电源主程序流程图4.3 控制子程序本系统采用的是继电器直接与单片机的p2.5相接,正常情况下只

41、要置位p2.5继电器就会正常工作。因为机械开关时有抖动,所以需要在程序中加一个软件去抖动,当单片机检测到酒精浓度值不大于标定值时继电器闭合汽车可以正常启动然后立即执行一个10毫秒的延时程序。当单片机检测到的酒精浓度值大于标定值时不能正常点火延时10秒程序返回。控制程序流程图如下: 控制子程序流程图4.4数据采集及处理模块对模拟电压信号的数字转换由模数转换芯片adc0809加单片机at89c52控制来完成。模拟电压的输入端接在模数转换芯片的in0通道,再根据单片机与模数转换芯片的连接,单片机在选择写地址时应该为7ff8h。然后进行数据采样,将10次采样的数据存放在50h到5ah单元中,采样子程序

42、结束后对所采样的10个数据进行了中值平均滤波的方法,中值平均滤波的方法是把一组数据从大到小排列,然后把最小值和最大值去掉,其它的数值取算术平均值即为滤波后的结果。这种方法即能滤除脉冲干扰,又能平滑滤波,对快、慢干扰均有效果,而且还可以提高系统的稳定性和抗干扰性能力。采样子程序流图及adc0809选择通道的真值表如下图所示: 数据采集及处理子程序4.5继电器驱动子程序设计及流程图 当人体呼出气体中酒精浓度超标时,如果驾驶员用钥匙开启汽车,与汽车引擎相连的继电器将断开汽车引擎电源,使汽车无法启动;如果人体呼出的酒精气体浓度不超标,汽车引擎正常启动,不影响驾驶员驾驶汽车。首先单片机检测处理酒精传感器输出电压,然后处理判断是否超标,当超标时,如果驾驶员手动开启汽车钥匙,继电器将

温馨提示

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

评论

0/150

提交评论