基于单片机防酒后驾驶_第1页
基于单片机防酒后驾驶_第2页
基于单片机防酒后驾驶_第3页
基于单片机防酒后驾驶_第4页
基于单片机防酒后驾驶_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、重庆科技学院高等教育自学考试本科毕业论文 中文摘要高等教育自学考试本科毕业论文 基于单片机的防酒后驾驶控制系统设计考生姓名: 准考证号: 专业层次: 本 科 院 (系):机械与电子工程学院指导教师: 职 称: 讲 师 重庆科技学院二O一二年二月十八日II 高等教育自学考试本科毕业论文基于单片机的防酒后驾驶控制系统设计考生姓名: 准考证号: 专业层次: 本 科 指导教师: 焦 健 院 (系): 机械与电子工程学院 重庆科技学院二O一二年二月十八日重庆科技学院高等教育自学考试本科毕业论文 中文摘要摘 要改革开放以来,随着社会的快速发展,经济和科技也取得了巨大的进步,人们的生活水平也有了提高。汽车逐

2、步进入家庭,它代替了低速的自行车、电动车,让人们出行变得更快捷、舒适、方便,但是随之而来的问题也变得越来越多。在中国酒文化历史悠久,人与人之间的应酬也越来越多。然而喝酒和开车是一对矛盾体,经调查全世界每年约有 120 万人死于道路交通事故,受伤者多达 5000万人,同时全球道路交通事故每年造成的直接经济损失为 5180 亿美元,大部分都是酒后驾驶造成的,为了减少交通事故的发生,新交通法规定严厉惩罚酒驾,但人们酒驾的事情还是时有发生,针对这种现象,很有必要设计出一种专门协助司机安全驾驶的辅助工具,即防酒后驾驶系统的装置,避免司机出于不重视或自信而

3、酒后驾车引起的交通事故,该系统能通过高灵敏度的呼气式酒精传感器检测司机的酒精摄入量,当司机体内酒精浓度超标时,控制系统会自动切断汽车启动系统,使汽车无法正常启动。可以在一定程度上有效预防发生酒后驾车的行为,减少交通事故的发生率。关键词:汽车,酒后驾驶,单片机重庆科技学院高等教育自学考试本科毕业论文 英文摘要Anti drunk driving control system design based on MCUABSTRACTSince the reform and opening up, with the rapid development of society, economy and s

4、cience and technology have made great progress, people's living standard has been improved. The car entered the family, which replaces the speed of the bicycle, electric bicycle, people travel more convenient, comfortable, convenient, but the problem becomes more and more. In China wine culture

5、has a long history, between people more and more entertainment. However, drinking and driving is a pair of contradictions, after investigation around the world each year about 120 million people died of traffic accident, the injured as many as 50000000 people, the direct economic losses at the same

6、time, the global road traffic accidents caused by every year for 5180 billion dollars, most are drunken driving, in order to reduce traffic accidents the occurrence, the new traffic law severely punished for drunk driving drunk driving, but people do still occur, according to this phenomenon, it is

7、necessary to design a kind of auxiliary tool designed to assist the driver safe driving device, namely anti drunk driving system, avoid the driver for not emphasis or confidence and caused by drunk driving traffic accident, the system through the breath alcohol sensor with high sensitivity in the de

8、tection of driver alcohol intake, when alcohol concentration in vivo drivers exceed the standard, the control system will automatically cut off the car to start the system, so that the car will not start. Can effectively prevent the occurrence of drunk driving behavior to a certain extent, reduce th

9、e incidence of traffic accidents.Key words: The car, drink driving, single chip microcomputer重庆科技学院高等教育自学考试本科毕业论文 目 录目 录摘 要IABSTRACTII1 绪 论11.1 本课题研究内容11.2 本课题的目的和意义11.3国内外研究现状分析22 总体设计方案42.1 系统总体功能概述42.2 系统硬件总体构架42.2 系统软件总体构架53 系统的硬件设计63.1 单片机的选型63.2 酒精传感器的选型83.3模数转换芯片的选型93.4 信号放大电路113.5 时钟电路123.6

10、复位电路133.7 数码管显示电路143.8 报警电路 163.9继电器驱动电路设计174 系统的软件设计184.1主程序模块的设计184.2 控制子程序194.3数据采集及处理模块204.4继电器驱动子程序设计及流程图214.5 原程序设计215系统软硬件调试245.1仿真与编程软件245.2 仿真电路图及仿真结果256结论28致谢29参考文献30论文原创性声明311 绪 论1.1 本课题研究内容本研究设计的酒后驾驶智能闭锁系统,采用燃料电池型酒精传感器,通过该酒精传感器检测驾驶员呼出气体的酒精含量,判断是否超过安全驾驶标准,而且要求通过硬件系统处理,能够显示该酒精浓度,使驾驶员能够清楚的看

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

12、员饮酒过度时,能够显示酒精浓度值和报警提示不要酒后驾车,并快速切断汽车引擎电源,停止启动发动机。1.2 本课题的目的和意义近年来随着经济迅速发展,人们的生活水平日益提高,私家车也越来越多,各种应酬随之而来,“酒”这东西贴近了我们的生活。而酒后驾车也频频发生,给人们的生活和生命安全带来了巨大的伤害。自2003年以来,交通事故和死亡人数虽呈下降趋势,但事故数和 死亡人数仍然很大,其中,2008年发生交通事故265204起,死亡73484人,与1978年相比,交通事故增长147.27%,死亡人数增长 284.81%。酒后和醉酒驾车肇事的情况,1998年,全国共发生5075起,造成2363人死亡。20

13、09年1至8月,共发生3206起,造成 1302人死亡,其中,酒后驾车肇事2162起,造成893人死亡;醉酒驾车肇事1044起,造成409人死亡。醉酒驾车犯罪呈多发、高发态势,严重危害了广大人民群众的生命安全,已经成为引发交通事故的罪魁祸首。为了能够有效的防止酒后驾驶造成的此类危害,研究一种酒后驾驶智能闭锁系统是非常必要的,从而能够强制性防止酒后驾车,降低交通事故的发生率。对于酒后驾车这种现象,各个国家都对酒后驾车执行了严格的规定,但是还有很多人不能严格遵守这个规定,酒后驾车事件还是很频繁,因此研究这种能够自动防止酒后驾车的装置更为必要。本研究设计的智能闭锁系统,能够通过高敏度的呼气式酒精传感

14、器,通过检测司机呼出气体的酒精含量当检测到司机呼出气体内酒精含量超标时,能够阻止驾驶员开启汽车引擎,使汽车无法启动,同时语音报警,提醒驾驶员“注意安全,不要酒后驾车”,从而有效减少交通事故的发生,提高我国道理安全水平,更好地保障我们的交通秩序,保护人们的出行安全,构建和谐的交通环境。创造人类的美好生活和社会的和谐1.3国内外研究现状分析随着自动化技术及检测技术的日益成熟,人们开始研究将自动控制系统应用于汽车上。在我国也开始逐步采用科技手段防止酒后驾驶。青岛盛源达电子科技有限公司最新研究开发、投入生产的“汽车酒后控驾防盗器”是国内新型高新技术。具有酒后报警控制驾驶和高级防盗双重功能。香港一家公司

15、发明了一种名为 iKEY 的车钥匙,能够有效而方便地。这种钥匙将感应器、远程信息处理等技术整合在车钥匙上,来防止醉酒驾驶。在国外最早开始研发针对酒后驾驶的酒精测试仪。1957年1月23日,世界上第一台醉酒呼吸分析仪在瑞典首次投入使用,它可以当场直接测试。它能检测出司机呼出气体中的酒精含量,并将这一结果显示于仪器的显示屏上。交警据此判断该司机是否酒后驾驶。英国布里斯托尔大学生理学家霍尔瓦特设计了一种高智能座驾,其上装有一套名为“个人警察”的监察系统,由红外线摄像机、感应器和带有电脑分析功能的“小黑箱”组成。通过“小黑箱”摄像机录制的司机眼球活动情况以及感应器侦察到的方向盘扭转

16、动作集中起来进行分析,从分析方向盘转动情况仪器中获得的信息与从扫描司机瞳孔移动装置获得的信息发生联系并进行比较,以此来判断司机是否酒后驾驶。市场需求是决定汽车发展的主要动力,根据目前的市场需求来看,在防酒后驾驶控制技术方面还比较少,主要以指纹式酒后禁驾系统为主,指纹式酒后禁驾系统利用了人类指纹的唯一性,从源头上彻底制止酒后驾驶的行为,并且运用全球领先的手指汗液酒精检测手段,防止呼气检测时的相互污染,设计更加人性化,同时不受车内环境、他人因素的干扰,检测结果更加准确。该系统同时具有指纹启动、指纹防盗等功能,系统可同时授权司机亲友代驾指纹,但只要被授权者饮酒就同样会被禁驾。处于国际日本三大汽车制造

17、商丰田、本田、日产,日产汽车公司在防止酒后驾驶的技术上做出了一系列努力,近日又推出一款新的车,应用了可以预防酒后驾驶的技术,防酒后驾驶控制技术可以有效测试司机的酒精浓度,采用多种预防措施防止酒后驾驶,并在危险时刻对汽车采取紧急制动,从而大幅度减少酒后驾驶引发的交通事故。有以下几个趋势:趋势一:使用酒精气味传感器检测车内空气。日产概念车的变速器挡把处设置了一个高灵敏度的酒精气味传感器,它可以在驾驶员启动汽车时,测试驾驶员手掌分泌的汗液。当汗液酒精浓度指标超过预先设定的峰值时,系统会自动停止工作,使汽车无法启动,同时汽车导航系统会发出“酒后驾驶”的警报音。趋势二:监控驾驶员面部表情。日产概念车在仪

18、表盘下方安装了一部微型摄像机,用来监测司机的面部表情。一旦系统通过摄像机发现司机非常困倦、有持续合眼现象,汽车导航系统就会发出警报音和提示语。同时,座椅安全带预收紧装置会启动,缩紧司机的安全带来提醒困倦的驾驶员。趋势三:监测驾驶员驾驶行为。通过持续监测司机的驾驶行为,系统可以识别司机分心走神的种种迹象。当系统监测到类似的行为时,汽车的自动导航系统会发出警报音和提示语,座椅安全带预收紧装置也会立刻收紧安全带提醒司机注意安全。重庆科技学院高等教育自学考试本科毕业论文 2 总体设计方案2 总体设计方案根据任务书的要求,利用单片机设计一个防酒后驾驶控制系统主要分为两部分组成:硬件设计和软件设计。2.1

19、 系统总体功能概述为了满足汽车市场的需要和给客户提供一个安全保险的防酒后驾驶控制系统,本设计综合运用了单片机技术、传感器采集技术、控制技术等来实现对司机的酒精浓度进行测量和控制汽车启动功能。本系统要实现的具体功能为: 能通过高灵敏度的呼气式酒精传感器检测司机的酒精摄入量,当司机体内酒精浓度超标时,控制系统会自动切断汽车启动系统,使汽车无法正常启动。系统可显示司机摄入的酒精浓度,并具有实时监测和光电、语音报警功能。总之,本设计应该具有防酒后驾驶控制系统的基本功能,对防酒后驾驶控制系统的相关技术进行很好的研究和应用,符合防酒后驾驶控制系统的技术发展趋势。2.2 系统硬件总体构架本系统主要由电源模块

20、、酒精传感器、AT89系列单片机、模数转换模块、LED显示模块、报警模块、继电器驱动模块等组成,其功能模块如图2-1所示:显示电路语音报警电路单片机系统A/D转换信号放大控制电路酒精传感器电源供电引擎电源图2.1 系统硬件总体构架其主要任务是采集酒精传感器的输出电压信号,放大后经过ADC0809模数转换和AT89C52单片机处理,当检测到酒精浓度超过标定值时,能够通过LED显示传感器的输出电压值,并通过报警模块和驱动继电器动作,切断汽车引擎电源。2.2 系统软件总体构架本次设计采用模块式的程序编写思路,这样会使整个程序脉络清晰,易于理解分析。软件总体设计思路:主程序主要包括传感器输入、数据采集

21、、数据处理、报警、驱动等子程序总体构架如图2.2所示:主模块数据采集模块子程序模块报警模块显示模块图2.2 系统软件总体构架单片机控制器主要功能是驱动继电器动作从而控制电机的启动;数据采集程序主要将接受到的数据送到A/D转换器中处理,进而将数字信号输入到单片机中;然后,一部分送去LED显示,另外一部分与设定值进行比较,当其超过标定值时,语音报警器提示驾驶员开车危险,使其提高警惕,同时控制继电器的动作,使汽车引擎不能启动。该系统设计采用C语言编程。 3 系统的硬件设计3.1 单片机的选型AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存

22、储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52的主要功能特性有:兼容MCS51指令系统,8k可反复擦写(>1000次)Flash ROM ,32个双向I/O口,256x8bit内部RAM,3个16位可编程定时/计数器中断,时钟频率0-24MHz,2个串行中断,可编程UART串行通道, 2个外部中断源,共8个中断源,2个读写中断口线,3级加密位,低功耗空闲和掉电模式 ,软件设置睡眠和唤醒功能

23、。而在本次设计中只需要用到最基本的4个输入输出I/O口功能。通过汇编或是C语言编程,可以用指令对单片机的各输入输出进行控制,还可以进行各种基本运算。AT89C52单片机引脚图如图3.1所示:图3.1 系统硬件总体构架P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验

24、时,要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在

25、访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能 。

26、P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该

27、位置位后,只有一条 MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则

28、执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。特殊功能寄存器:在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE),并非所有的地址都被定义,从80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能

29、,在这种情况下,复位后这些单元数值总是“0”。 AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。数据存储器:AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的

30、寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。 3.2 酒精传感器的选型MQ-3气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号有着快速的响应恢复特性。MQ-3气体传感器对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。对乙醇蒸汽有很高的灵敏度和良好的选择性长期的寿命和可靠的稳定性。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的

31、低成本传感器。常常用于机动车驾驶人员及其他严禁酒后作业人员的现场检测;也用于其他场所乙醇蒸汽的检测。MQ-3气敏元件有6只针状管脚,其中(两个A两个B)个用于信号取出,2个H脚用于提供加热电流。其中最主要的是R2的选择,当R2的阻值为200k的时候可能输出的电压值已经达到了最大,于是不能正确显示我们所要的结果,所以在调试的时候,将R2用滑动变阻器代替,一般将输出电压调在VDD/2周围即可。MQ-3酒精检测电路如3-2所示:图3.2 MQ-3酒精检测电路3.3模数转换芯片的选型ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,

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

33、部逻辑结构如图3-3所示:图3.3 ADC0809的内部逻辑结构(2) ADC0809引脚结构图3.4 ADC0809的引脚图ADC0809应用说明:(1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2) 初始化时,使ST和OE信号全为低电平。(3) 送要转换的哪一通道的地址到A,B,C端口上。(4) 在ST端给出一个至少有100ns宽的正脉冲信号。(5) 是否转换完毕,我们根据EOC信号来判断。(6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。ADC0809 是一个典型的8 位8 通道逐次逼近式数模转换芯片,可实现8 路模拟信号的分时

34、采集,外接时钟频率一般不高于640 KHz,一次数据转换时间大约为100 s。ADC0809数据采集方式有3 种:延时,查询,中断。它们在电路连接和程序编写中都有所不同。A/D转换电路设计如下图:图3.5 A/D转换电路图3.4 信号放大电路本次选用的酒精传感器为燃料电池型酒精传感器,该燃料电池型酒精传感器基于电化学原理制备而成,电路仅需要电池就可以满足其工作。传感器输出为模拟电压信号,首先通过仪表放大器LM339放大,最后把已放大的模拟电压信号传输至ADC0809的输入端进行模数转换(A/D)。仪表放大器选用的是LM339,LM339集成块内部装有四个独立的电压比较器,该电压比较器的特点是:

35、(1) 失调电压小,典型值为2mV;(2)电源电压范围宽,单电源为2-36V,双电源电压为±1V-±18V;(3) 对比较信号源的内阻限制较宽;(4)共模范围很大,为0(Ucc-1.5V)Vo;(5)差动输入电压范围较大,大到可以等于电源电压;(6)输出端电位可灵活方便地选用。 LM339集成块采用C-14型封装,图3.3为外型及管脚排列图。由于LM339使用灵活,应用广泛,所以世界上各大IC生产厂、公司竟相推出自己的四比较器,如IR2339、ANI339、SF339等,它们的参数基本一致,可互换使用。图3.6 LM339外型及管脚排列图LM339类似于增益不可调的运算放大

36、器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电

37、源一般须接一只电阻(称为上拉电阻,选3-15K)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。本设计中采用电位器模拟经酒精传感器转换的电压信号再经过放大器的输入信号。3.5 时钟电路对于时钟电路:AT89C52单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚19对应的XTAL1和18对应的XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自己振荡器。如下图3-3所示,石英晶体及电容C2和C3接在放大器的反馈回路中构成并联谐

38、振电路。石英晶体的两端分别接到引脚XTAL1和引脚XTAL2,同时石英晶体的两端分别接一个电容C2和C3,电容的另一端接地。对于外接电容C2和C3的大小虽然没有十分严格的要求,但电容容量的大小还是会对振动频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。根据技术资料的推荐,使用石英晶体推荐电容容量为30pF±10pF,使用陶瓷谐振器推荐电容容量为40pF±10pF。因为电路中接的是石英晶体,所以设计中接的两个电容C2和C3的容量都为33pF。图3.7时钟电路3.6 复位电路单片机在启动运行时都要复位,使中央处理器和系统中的其他部件都处于一个确定的初始

39、状态,并从这状态开始工作。AT89C52技术资料给出,当振荡器工作时,RST引脚出现两个机器周期以上的高电平将使单片机复位。复位是单片机的初始化操作,当由于程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱困境,可以按复位键以重新启动,所以复位电路的设计很有必要,复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本设计选用按键电平复位方式。如下图所示,10uF的电容C4与270欧姆的电阻并联后再与一个1千欧姆的电阻串联,电容的正极端接到电源的正极,电容的另一端接到引脚RST。设计中选用的石英晶体大小为11.0952MHz,但复位键按下后,电容和电阻选用的参数值能够保证给复位端RS

40、T提供大于2个机器周期的高电平复位信号。图3.8 复位电路图3.7 数码管显示电路(1)八段数码管八段数码管比七段数码管多路一位小数点,实际是8个LED摆放排列而成。当特定的某几个数码管点亮时,就显示了特定的数字形状。有共阳极和共阴极之分,共阳极是指8个输入端a、b、c、d、e、f、g、dp要输入低电平才会是相应LED点亮,共阴极则须输入高电平。本次设计用的是共阳极的数码管。下图是其结构原理图。图3.9 8段共阴数码管结构图(2)74LS47译码芯片74LS47是常用的BCD对七段显示器译码器/驱动器,可对共阳极七段数码管进行译码功能。如当输入DCBA=0010 则输出abcdefg=0010

41、010。故使显示器显示"2"。其四位BCD码与对应的译码及数码管显示关系为:DCBA=0000,abcdefg=1000000,数码管显示0;DCBA=0001,abcdefg=1111001,数码管显示1;DCBA=0010,abcdefg=0100100,数码管显示2;DCBA=0011,abcdefg=0110000,数码管显示3;DCBA=0100,abcdefg=0011001,数码管显示4;DCBA=0101,abcdefg=0010010,数码管显示5;DCBA=0110,abcdefg=0000011,数码管显示6;DCBA=0111,abcdefg=111

42、1000,数码管显示7;DCBA=1000,abcdefg=0000000,数码管显示8;DCBA=1001,abcdefg=0011000,数码管显示9;3.10数码管显示电路3.8 报警电路 在微机控制系统中,为了生产的安全,对于一些重要的参数或系统的部件,都设有紧急状态报警系统,以便提醒司机注意,或采取紧急措施。其方法就是把传感器采集的数据并进行数据处理、数字滤波,A/D转换之后,与该参数上限定的数值进行比较,如果高于上限值,则进行报警。 本课题中由AT89C52单片机的P2.1口检测到人体内血液酒精浓度超过0.2g/L,即呼出气体中酒精含量为47.43ppm时,将控制报警器发出提醒安全

43、指示,如图3-11所示:图3.11报警电路图3.9继电器驱动电路设计当检测到人体内血液浓度超过标定值时,如果驾驶员有意向开启汽车钥匙(电路里面用按钮表示),那么酒后驾驶智能闭锁系统将驱动继电器动作(电路设计中由单片机的P2.5口控制继电器),切断汽车引擎电源,从而使汽车无法启动,从而有效的防止驾驶员酒后驾车。本课题使用HRS2H-S-DC5V小功率电磁继电器,额定电压3V24V,额定电力消耗200mW360mW。继电器驱动电路如图3-12所示 3.12 继电器控制电路 4 系统的软件设计4.1主程序模块的设计系统电源线接通或是系统复位后,程序从主程序入口进入运行。然后初始化,初始化程序从数据存

44、储器地址20H单元开始,到80H单元全部清零,即每次的初始化将上次存储的数据全部清除,用于存放当前要存储的数据。见图4.1所示:开始程序初始化调节电位器A/D转换线性化处理放大器放大处理是否超过报警限度电压值显示报警处理驱动继电器断开启动机电源图4.1 主程序模块图当检测到酒精气味时,气体传感器MQ_3两个电极段A-B间的电阻将变小,对应于气体传感器负载电阻的分压将变大。因为ADC0809的模拟输入端INO与负载电阻的一端用导线连在了一起。所以单片机再启动测试模数转换芯片之前要选择通道0,写入模数转换芯片,并将用作查询的单片机引脚P1.5置位,然后启动对通道INO端输入的采集电压信号作模数转换

45、,等待转换结束。利用查询方式来检测模数转换是否结束,当单片机引脚P1.5为0时转换为结束等待,当查询到P1.5为1时表示转换结束,可以开始读取数据了。单片机通过I/O口与模数转换芯片的数据输出口相连读取转换后的数据。经过转换后的数字信号和标定值进行比较,若小于标定值,执行继电器的动作,即驱动继电器、启动电机,然后继续对酒精传感器进行数据采集;若大于标定值,不执行继电器动作,继续对传感器信号进行采集,同时,语音、光电报警器提示驾驶员。读取后的数据送到数据存储器单元中,经过单片机动作相应的处理,即要将该电压值转换成酒精浓度值,然后处理后的数据转换成三位十进制BCD码用数码管显示。4.2 控制子程序

46、本系统采用的是继电器直接与单片机的P2.5相接,正常情况下只要置位P2.5继电器就会正常工作。因为机械开关时有抖动,所以需要在程序中加一个软件去抖动,当单片机检测到酒精浓度值不大于标定值时继电器闭合汽车可以正常启动然后立即执行一个10毫秒的延时程序。当单片机检测到的酒精浓度值大于标定值时不能正常点火延时10秒程序返回。控制程序流程如图4.2所示:图4.2 控制子程序流程图4.3数据采集及处理模块对模拟电压信号的数字转换由模数转换芯片ADC0809加单片机AT89C52控制来完成。模拟电压的输入端接在模数转换芯片的IN0通道,再根据单片机与模数转换芯片的连接,然后进行数据采样,将10次采样的数据

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

48、感器输出电压,然后处理判断是否超标,当超标时,如果驾驶员手动开启汽车钥匙,继电器将切断汽车引擎电源。其继电器驱动子程序如图4.4所示: 图4.4 继电器驱动子程序4.5 原程序设计#include<reg52.h>#define ui unsigned intsbit U4_OE=P34;/对各控制引脚进行定义;sbit U4_EOC=P35;sbit U4_ALE=P36;sbit U4_START=P37;sbit U3=P20;sbit R5=P21;void delay(ui x) /延时子程序,延时时间由实参传值确定;ui i;while(x-)for(i=0;i<

49、10;i+) ;/主程序;void main()void display5in0(ui zhi);/各个子程序的声明,延时程序在前则不必;void warning();void AD_IN0();ui aa;U3=1;R5=1;while(1) /设置大循环,模数转换不停进行; AD_IN0(); /调用通道0转换子程序; aa=P0; /将转换后的数字量给变量aa; if(aa=0xff) /判断是否超出量程; warning();/超出则调用警告子程序; else display5in0(aa); /*调用通道0的5V显示子程序;*/ /5V量程通道0显示程序;void display5i

50、n0(ui zhi)ui shu1,shu2;shu2=zhi/51; /对数字量除以256,再乘以量程5,则为显示值的个位; shu1=zhi%51;/求上次运算的余数;shu1=shu1/5;/余数乘以10,乘以5,再除以256,表示小数点位;if(shu2>2|(shu2=2&&shu1>=4) U3=0; R5=0; else U3=1;R5=1;shu2=shu2+0x20;/个位和片选信号相加,0x20是二进制0010 0000,对低四位BCD数据值不影响,即P1.5选中一片数码管点亮,方便的shu1=shu1+0x10; /四位BCD值加上片选信号,0

51、x10选择P1.4对应数码管;P1=shu2; /点亮一片数码管,显示个位数值,其它均关闭; delay(1);/稍加延时,1毫秒以内; P1=shu1;/点亮另一片数码管,显示小数位数值,其它的关闭; delay(1);/稍加延时;/超出量程警告程序,若判断超出量程,数码管显示零并闪烁;void warning() P1=0xf0;delay(3000); P1=0xff; delay(3000);/通道0转换程序void AD_IN0() P3=0;/通道0地址 U4_ALE=1; U4_ALE=0;/地址所存;U4_START=1;/启动转换;U4_START=0; while(U4_EOC!=1) /判断转换是否完成; ;/未完成则等待;U4_OE=1;/完成则输出数字量;5系统软硬件调试5.1仿真与编程软件本次设计首先用KeilC51进行编程开发,然后通过Protues软件进行仿真调试,最后根据调试得出应有的结果。(1) Keil C51开发系统是美国Keil Software公司出品的Keil C51,是51系列兼容单片机C语言软件开发系统。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能 体现

温馨提示

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

评论

0/150

提交评论