基于单片机的防酒后驾驶控制系统设计_第1页
基于单片机的防酒后驾驶控制系统设计_第2页
基于单片机的防酒后驾驶控制系统设计_第3页
基于单片机的防酒后驾驶控制系统设计_第4页
基于单片机的防酒后驾驶控制系统设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)全套资料扣扣:194535455基于单片机的防酒后驾驶控制系统电路设计摘要:对洒后驾车导致交通事故频繁发生的现象, 设计 了一种能够防止酒后驾驶的自动控制系统。该系统由酒精传感器、ADC0809 转换器、 89C51 单片机控制器、语音报警、LED 显示、继电器以及电机等构成。主要研究了 对不同的区间浓度和 电压转换关系做线性化处理。将采集到的模拟电压信号经 A/D 转换,送入单片机,通 过单片机 进行控制计算输出控制信号;当司机体内酒精浓度超标时,该系统能够自动切断汽车启动系统电源,同时发出声光报警,并通过数码管实时显示酒精浓度, 实现了自动控制功能。该系统需要驾车者在汽车点火前先进行吹气测试,如果 测试结 果超过安全水平,汽 车将不能开启。该装置可以用来防止有酒后 驾车的人再次犯错 。关键词:气体传感器,模数转换 ,单片机本科毕业设计(论文)全套资料扣扣:194535455Based on SCM preventing drunken driving control system circuit designAbstract: Aimed at the increasing accidents caused by drunk driving,a anti drunk driving control system is designed. The designed system is constructed with alcohol sensor, the ADC0809 converter, the 89C51MCUcontroller, speech warning system, LED, relay and the motor, etc. The conversion between voltage and concentration in different range is treated as linear relationship. Conversing the voltage signal through the A/D conversion at the control of the single-chip, obtaining the digital voltage signal; displaying the concentration in the digital tube display module. When the alcohol testing result exceeds the safe limit, power supp ly of the starting system will be cut to stop the car from start up. The designed system requires the driver to take a breath-test before the ignition can be turned on and activates a lock if the result is above a certain level. The device is seen as a way to stop people who have been convicted of driving under the influence from offending again.Keywords: Gas sensor, A/D conversion, Single-chip Microcomputer本科毕业设计(论文)全套资料扣扣:194535455目 录第一章 前言 .11.1 选题的依据及意义 .11.2 国内外发展概况 .21.3 本课题的主要研究内容 .3第二章 防酒后驾驶控制系统组成及工作原理 .42.1 系统设计要求与技术指标 .42.2 系统组成 .42.3 系统功能 .5第三章 防酒后驾驶控制系统硬件电路设计 .63.1 酒精传感器测试电路的设计 .63.2 A/D 转换电路的设计 .73.3 单片机最小系统 .103.4 显示电路的设计 .123.4.1 HD7279 介绍 .123.4.2 HD7279 连接 .133.5 报警电路的设计 .153.5.1 光电报警 .153.5.2 声音报警 .163.6 汽车制动控制电路 .17第四章 防酒后驾驶控制系统软件设计 .184.1 软件整体设计思路 .184.2 主程序模块的设计 .184.2.1 显示子程序 .194.2.2 控制子程序 .224.2.2 控制子程序 .234.3 数据采集及处理模块 .244.4 算法子程序模块 .27第五章 系统软件调试 .305.1 显示模块的调试 .305.2 A/D 转换模块的调试 .305.3 报警模块、继电器控制子程序子程序的调试 .305.4 总体调试 .31第六章 总结 .32本科毕业设计(论文)全套资料扣扣:1945354556.1 完善功能 .326.2 心得体会 .32致 谢 .33参考文献 .34附 录 .35附录 A 硬件电路原理图 .35附录 B 程序清单 .37本科毕业设计(论文)全套资料扣扣:194535455第一章 前言一、选题的依据及意义 2010年世界卫生组织的事故调查显示,大约50%60%的交通事故与酒后驾驶有关,酒后驾驶已经被列为车祸致死的主要原因。在中国,每年由于酒后驾车引发的交通事故达数万起;而造成死亡的事故中50%以上都与酒后驾车有关,酒后驾车的危害触目惊心,已经成为交通事故的第一大“杀手 ”。酒和汽车永远是一对矛盾体,酒后驾车,醉酒失事的报道每天在全国的电视网络报纸媒体中重复, “远离酒后驾车,珍爱生命” 类似的公益广告、公益倡导同样时时刻刻出现在公众视野,而事实却是人们难以避免更难以杜绝每时每刻不停发生的因酒后驾车所引发的悲剧。受到酒精影响的司机通常会有如下特征:对信号灯反应慢;逆向行驶;摇摆不定、突然转向、飘忽不定或在道路中线驾驶;乱踩刹车;转弯幅度大;蛇形;没有原因就停车;开车速度极慢;突然转弯或违法转弯;天黑时不开前灯。据统计,驾驶员酒后开车,其发生交通事故的比率为没有饮酒情况下的16倍。由日常道路交通安全违法行为和交通肇事案例来看,机动车驾驶员酒后驾车约占38.6%;而摩托车交通肇事中,酒后驾驶的比例则高达72.3%。根据调查表明,40%的酒后驾车者“过高地相信自己的驾驶技术”。这类驾车者认为自己酒量大,开车技术过硬,总想用酒后驾车来“炫耀”自己的技术,结果造成险象环生。27%的酒后驾车者的“安全意识不强” 。 此外,酒后驾驶者往往存在“侥幸心理”,认为自己以前饮酒驾驶从来没有出过事,也没有被抓过,而且也经常看到其他人酒后驾驶,于是便侥幸酒后驾驶,造成惨剧。有了以上思想作怪,驾驶者往往把酒后开车不当回事,使酒后驾驶屡禁不止。严打酒后驾驶,首先应该从健全法规和加强执行力两个方面入手,维护法律的严肃性,而不是一时的所谓专项整治行动。处罚只是一个方面,减少酒后驾驶,更应该重视教育、预防层面的工作。本 次 课 程 设 计 是 针 对 酒 后 驾 驶 的 控制 系 统 , 当 司 机 体 内 酒 精 浓 度 超 标 时 , 控 制 系 统 会 自 动 切 断 汽 车 启 动 系 统 ,本科毕业设计(论文)全套资料扣扣:194535455使 汽 车 无 法 正 常 启 动 。 阻 止 司 机 酒 后 驾 驶 造 成 事 故 。二、国内外发展概况酒后驾车严重危害交通安全。为检查醉驾, 警察常常使用一种便携式的酒精呼吸检测仪, 通过检测驾驶者呼出的气体判断驾驶者是否饮酒。这种方式比以往的“走直线” 、闻气味先进了很多。我国警方目前使用的酒精呼吸检测仪只能初步显示驾驶员是否饮酒, 有醉驾嫌疑的驾驶员还需要接受血检, 以确定其体内酒精含量是否超标。如何做到防范于未然?近年来,许多国家已开始逐步采用科技手段防止酒后驾驶。青岛盛源达电子科技有限公司最新研究开发、投入生产的“汽车酒后控驾防盗器”是国内新型高新技术。具有酒后报警控制驾驶和高级防盗双重功能,该技术已申请国家专利。酒后控驾防盗器是一款汽车专用酒后安全驾驶的检测和预防设备,同时具有高级防盗功能。在车辆上安装酒后控驾防盗器之后,驾驶人员在车辆启动前需进行吹气检测,当呼出的气体中酒精浓度高于国家交通部门制定的标准时,能及时断开点火电路和发出报警声,并用延时装置使驾驶人员能有机会休息以便醒酒,能有效地防止酒后驾车,该设备不受同车饮酒人员的影响。若从机动车上取下设备,即使有钥匙汽车也无法发动,为汽车增加了一层安全保险,从而实现了防盗功能。本产品采用呼出气体酒精含量测试仪是专用于测试人体呼出气体中酒精含量的仪器。本机敏感元件采用兆度电子先进的纳米半导体热线型酒精传感器,具有极好的灵敏度和出色的重复性;测试程序由人工智能设计的微电脑控制。经历 3 年多与英国合作成功地研制出当今世界第一具有国际领先水平的“司机手指汗液酒精检测、指纹识别防作弊、防盗、防酒后驾车系统”该系统拥有三防为一体,监控司机酒后驾车,拥有全部自主知识产权,申请了多项国内外专利,成为中国第一家研制能在人体汗液中检测出酒精含量的检测仪。此产品的问世能利用科技手段从源头上防止酒后驾车情况的发生,本产品属车载系统可实现实时监控司机酒后驾车,指纹识别系统可有效防止司机酒后请人代为检测等作弊行为。该套指纹式酒后禁驾系统由汗液酒精测试分析仪、指纹识本科毕业设计(论文)全套资料扣扣:194535455别仪、脉搏监测仪构成。酒精钥匙 2007 年萨博在其新款的 9-5 系列车型上,率先使用了 Alcokey 酒精钥匙技术,在车钥匙中集合了迷你型酒精监测装置,体积小于一般的手机,长 80mm,宽 5mm。钥匙上有一个吹气口,在启动发动机前,必须向里面吹气,以监测驾驶者酒精含量。如果检验出酒精含量不超标,钥匙亮起绿色指示灯,发动机电脑即可启动;而如果酒精含量超标,发动机则会自动锁止而不能启动车辆。一些新的光学手段也可应用于对付醉驾。俄罗斯圣彼得堡一家激光公司发明了激光酒精检测仪, 可对驾驶员是否饮酒进行远距离探测。检测时, 检测仪发射一束激光透过挡风玻璃对车内空气进行检测, 如果空气中酒精含量超过百万分之一, 仪器就会报警。还有一些更新锐的检测技术正在研究之中。比如, 英国布里斯托尔大学的研究人员试图通过检测驾驶员眼睛的动作来识别是否醉驾。正常状态下, 驾驶员转动方向盘时, 会提前 0185 s 左右将目光转向一边。而饮酒将明显缩短这个时间差。2 小杯伏特加酒就会使时间差降到 015 s 以下, 4 小杯伏特加会完会消除这一时间差。三、研究内容应用单片机技术设计一个基于单片机的防酒后驾驶控制系统设计。系统能通过高灵敏度的呼气式酒精传感器检测司机的酒精摄入量,当司机体内酒精浓度超标时,控制系统会自动切断汽车启动系统,使汽车无法正常启动。系统可显示司机摄入的酒精浓度,并具有实时监测和光电、语音报警功能1,设计 51 单片机最小系统;2,设计 LED 显示电路;3,设计信号采集转换电路;4,设计控制切断汽车启动系统接口电路本科毕业设计(论文)全套资料扣扣:194535455第二章 防酒后驾驶控制系统组成及工作原理2.1 系统设计要求与技术指标本课题要求采用单片机程序设计方法对各路温度进行采集,数据进行数字控制算法,输出控制信号,控制加热执行机构,同时显示各房间的温度。具体技术要求如下:1,设计 51 单片机最小系统;2,设计 LED 显示电路;3,设计信号采集转换电路;4,设计控制切断汽车启动系统接口电路;2.2 系统组成本系统由硬件与软件两大部分组成,硬件电路组成分为以下几个部分:由酒精浓度数据采集部分、单片机最小系统部分、7279 控制显示部分、声光报警部分、控制继电器部分。其中酒精浓度数据采集部分包括有信号前端的转换、信号放大和 A/D 采样三个方面。其功能模块如图 2-1 所示。信号放大电路A/D转换单片机系统控制电路显示电路语音报警电路光电报警电路酒精传感器测试图 2-1 系统结构框图本科毕业设计(论文)全套资料扣扣:194535455本系统软件整体设计思路采用模块化设计,软件由主模块、声光报警模块、数据采集模块、显示模块、算法模块、存储模块等组成。数据采集程序主要将接收到的数据送到 A /D 转换器中处理,进而将数字信号输入到单片机中;然后,一部分送去 LED 显示,另外一部分与设定值进行比较,当其超过标定值时,语音报警器提示驾驶员开车危险,使其提高警惕性,同时控制继电器的动作,使汽车引擎不能启动。其模块框图如图 2-2 所示主模块声光报警模块数据采集模块显示模块算法模块存储模块图 2-2 系统模块框图2.3 系统功能本系统通过酒精传感器检测驾驶员呼出气体酒精浓度, 由于输出电压为毫伏级的太小,为了提高测温灵敏度再经过放大电路使输出电压控制在 0V-5V,再将输出信号送人 A/D 转换器进行模数转换,将采集的数据送入单片机。经过单片机的逻辑判断处理,根据驾驶员体内酒精浓度和标定值比较来控制继电器的动作,进而控制汽车启动电机的工作。整个系统可以通过自动检测驾驶员体内的酒精浓度来防止驾驶员酒后驾驶。本科毕业设计(论文)全套资料扣扣:194535455第三章 防酒后驾驶控制系统的硬件设计硬件是整个系统正常工作的基础。本系统硬件电路主要由酒精传感器测试电路、信号放大电路、A/D 转换电路、单片机系统、控制电路、显示电路、语音报警电路及光电报警电路组成,其各部分设计如下。3.1 酒精传感器测试电路的设计MR513 型气敏元件通过气体吸附在金属氧化物半导体表面而产生热传导变化及电传导变化的原理,由白金线圈电阻值变化测定气体浓度。MR513 由检测元件和补偿元件配对组成电桥的两个臂,遇可燃性气体时检测元件电阻减小,桥路输出电压变化,该电压变化随气体浓度增大而成比例增大,补偿元件起参比及温度补偿作用。由于这种变化是可逆的,所以能重复使用。当气敏传感器的敏感体电阻阻值发生改变时,对应的电位器的分压值也会发生相应的变化,即一个电压值对应着一个被测酒精气体浓度。对酒精气体浓度的采样就可以转化为对电位器分压的采样。图 1 MQ-3 气敏元件的结构和外形MR 酒精传感器对乙醇蒸气有很高的灵敏度和良好的选择性,具有快速的响应恢复特性 ,具有长期的寿命和可靠的稳定性 ,具有简单的驱动回路等特点。在采样硬件电路中实际要考虑到 MR 的实际技术参数,应为实验所用的 MR 在预本科毕业设计(论文)全套资料扣扣:194535455热 5 到 10 分钟后。传感器测试电路如图图 3-1 传感器测试电路3.2 A/D 转换电路的设计A/D 转换器的功能主要是将输入的模拟信号转换成对应的数字信号。本次设计要求对八路温度采集因此本次设计采用了 ADC0809,它由输入选择、8 位ADC 和驱动这三个部分组成。输入选择部分用于选择模拟量输入 IN0IN7 之一,它由“地址锁存和译码”及“8 通道多路转换模拟开关”组成,0809“输入选择”部分的控制端是地址锁存允许输出端 OE,八位 ADC 是 0809 的核心部分,它由控制逻辑、逐次逼近寄存器 SAR、开关树组,256R 电阻分压器和比较器组成。ADC0809 芯片有 28 条引脚,采用双列直插式封装,如图 1 所示。下面说明各引脚功能。 本科毕业设计(论文)全套资料扣扣:194535455图 1 ADC0809芯片IN0IN7:8 路模拟量输入端。2-12-8:8 位数字量输出端。ADDA、ADDB、ADDC:3 位地址输入线,用于选通 8 路模拟输入中的一路。如表 1 所示。ALE:地址锁存允许信号,输入,高电平有效。 START:A/D 转换启动信号,输入,高电平有效。 EOC:A/D 转换结束信号,输出,当 A/D 转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当 A/D 转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于 640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一+5V。 GND:地。 本科毕业设计(论文)全套资料扣扣:194535455ADC0809 的工作过程是:首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 A/D 转换,之后 EOC 输出信号变低,指示转换正在进行。直到 A/D 转换完成,EOC 变为高电平,指示 A/D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。当检测到酒精气味时,气体传感器的 A-B 间电阻变小,则 ADC0809 的模拟输入端 IN0 的电压变大。采用查询方式对输入模拟信号进行 A/D 转换,然后将数据通过三位八段数码管显示。ADC0809 芯片内部没有时钟脉冲源,可以用单片机提供的地址锁存控制输入信号 ALE 经 D 触发器二分频后,作为 ADC0809 的时钟输入。ALE 端信号的频率是单片机时钟频率的 1/6。单片机的时钟频率是 11.0952MHz,则 ALE 端输出信号的频率为 1.8492MHz,再二分频后为 0.9246Hz,符合 ADC0809 对时钟频率的要求。由于 ADC0809 具有三态输出数据琐存器,其 8 位数据输出端可以直接与数据总线相连。地址选通端 ADDA,ADDB,ADDC 分别与单片机地址总线的低三位 A0,A1,A2 相连,用于选通 IN0-IN7 中的某一通道。由于 ALE 和 START 连在一起,ADC0809 在锁存通道地址的同时启动 A/D 转换。在读取 A/D 转换结果时,OE 产生的正脉冲信号用于打开三态输出锁存器。ADC0809 的 EOC 信号与单片机的 P1.5 相连,作为 A/D 转换是否结束的状态信号供单片机查询。根据测量系统要求的不同以及CPU忙闲程度,通常可以采用程序查询方式、延时方式和中断采样方式。本系统采用的是程序查询方式。EOC接单片机的引脚P1.5,EOC引脚功能:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。所以只要P1.5为高电平时转换结束。 A/D转换电路的设计如下图所示本科毕业设计(论文)全套资料扣扣:194535455图 3-2 ADC0809 转换电路3.3 单片机最小系统单片机最小系统它含有 256 字节数据存储器,内置 8KB 的电可擦除 FLASH ROM,可重复编程,主要由单片机、时钟电路、复位电路组成。对于时钟电路:STC89S51 单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚 19 对应的 XTAL1 和 18 对应的 XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。如图 3-3 所示,石英晶体及电容 C1 和 C2 接在放大器的反馈回路中构成并联谐振电路。石英晶体的两端分别接到引脚 XTAL1 和引脚 XTAL2,同时石英晶体的两端分别接一个电容 C1 和 C2,电容的另一端接地。对于外接电容 C1 和 C2 的大小虽然没有十分严格的要求,但电容容量的大小还是会对振荡频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。根据技术资料的推荐,使用石英晶体推荐电容容量为 30pF10pF,使用陶瓷谐振器推荐电容容量为 40pF10pF。因为电路中接的是石英晶体,所以设本科毕业设计(论文)全套资料扣扣:194535455计中接的两个电容 C1 和 C2 的容量都为 33pF。图 3-3 时钟电路对于复位电路部分,STC89S51 技术资料给出,当振荡器工作时,RST 引脚出现两个机器周期以上的高电平将使单片机复位。复位是单片机的初始化操作,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,可以按复位键以重新启动,所以复位电路的设计很有必要。复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本设计选用按键电平复位方式。如图 7 所示,10F 的电容 C3 与 270 的电阻并联后再与一个 10K 的电阻串联,电容的正极端接到电源的正极,电容的另一端接至引脚 RST。设计中选用的石英晶体大小为 11.0952MHz,但复位键按下后,电容和电阻选用的参数值能够保证给复位端 RST 提供大于 2 个机器周期的高电平复位信号。图 3-4 复位电路本科毕业设计(论文)全套资料扣扣:1945354553.4 显示电路的设计3.4.1 HD7279 介绍HD7279是一片具有串行接口的可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯,片该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。HD7279内部含有译码器,可直接接受BCD码或16进制码,而且具有2种译码方式。HD7279还具有多种控制指令,如左移(A1H)、右移(A0H)、消隐(98H)、闪烁(88H)、段寻址等。1、下载数据且按方式 0 译码D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D01 0 0 0 0 a2 a1 a0 DP X X X d3 d2 d1 d0X=无影响命令由二个字节组成,前半部分为指令,其中a2 ,a1,a0为位地址,具体分配如下:表 1 a2 a1 a0 显示位0 0 0 10 0 1 20 1 0 30 1 1 41 0 0 51 0 1 61 1 0 71 1 1 8d0d3为数据,收到此指令时,HD7279(A)按以下规则(译码方式0)进行译码,如下表:本科毕业设计(论文)全套资料扣扣:194535455表2十六进制 d3 d2 d1 d0 7 段显示00H 0 0 0 0 001H 0 0 0 1 102H 0 0 1 0 203H 0 0 1 1 304H 0 1 0 0 405H 0 1 0 1 506H 0 1 1 0 607H 0 1 1 1 708H 1 0 0 0 809H 1 0 0 1 90AH 1 0 1 0 -0BH 1 0 1 1 E0CH 1 1 0 0 H0DH 1 1 0 1 L0EH 1 1 1 0 P0FH 1 1 1 1 空 (无显示)小数点的显示由DP位控制,DP=1时,小数点显示,DP=0时,小数点不显示。3.4.2 HD7279 连接串行接口HD7279采用串行方式与微处理器通讯, 串行数据从DATA引脚送入芯片,并由CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK引脚的上升沿被写入HD7279的缓冲寄存器。HD7279的指令结构有三种类型:1、不带数据的纯指令,指令的宽度为8个BIT,即微处理器需发送8个CLK脉冲。2、带有数据的指令,宽度为16个BIT,即微处理器需发送16个CLK脉冲。3、读取键盘数据指令,宽度为16个BIT,前8个为微处理器发送到HD7279的指令,后8个BIT为HD7279返回的键盘代码。执行此指令时,HD7279的DATA端在第9个CLK脉冲的上升沿变为输出状态,并与第16个脉冲的下降沿恢复为输入状态,等待接收下一个指令。串行接口的时序如下图:本科毕业设计(论文)全套资料扣扣:1945354551、纯指令CS T1 T3CLK T2DATA2、带数据指令CS T4CLKDATA8 位指令(高位在前) 8 位数据(高位在前)HD7279 与单片机的连接需 4 根接口线,片选线 CS,串行时钟线 CLK,串行数据线 DATA,盘申请线 KEY,其中 CS 为片选信号(低电平有效) 。当微处理器访问HD7279A(读键号或写指令)时,应将片选端置为低电平。DATA 为串行数据端,当向 HD7279A 发送数据时,DATA 为输入端;当 HD7279A 输出键盘代码时,DATA为输出端。CLK 为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY 为按键信号输出端,在无键按下时为高电平;而有键按下时此引脚变为低电平并且一直保持到键释放为止。分别与单片机的 P1.1 到 P1.4 连接。HD7279 电路如图 4-4 所示。本科毕业设计(论文)全套资料扣扣:194535455图 3-4 7279 显示模块3.5 报警电路的设计在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。但对于某些紧急状态,比如系统检测到的错误状态等,为了使操作人员不至于忽视,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。这种报警信号通常有三种类型:一是闪光报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用。3.5.1 光电报警本系统采用单片机引脚 P1.7 直接接光电报警电路,正常情况下,三极管不导通,报警电路不通。当接到检测底电平信号,及酒精浓度值大于标定值时,三极管导通驱动光电报警电路,二极管发光。其电路图如下:本科毕业设计(论文)全套资料扣扣:194535455图 3-5 光电报警电路3.5.2 声音报警报警模块单独采用了蜂鸣器作为声音报警装置,提醒使用人员当前的气体浓度已经超过了警戒线,应该立即停止工作,进行相应的处理,避免危险发生。可以有效地提醒工作人员身边的工作环境,帮助工作人员提高安全警惕。在报警模块的电路中当 P1.6 口的电平是低电平时候,三极管截止;当 P1.6 口电平为高时候,三极管导通,蜂鸣器产生报警声音。其电路图如下:图 4-6 声音报警电路3.6 汽车制动控制电路本科毕业设计(论文)全套资料扣扣:194535455电磁式继电器具有结构简单、工作可靠、坚固耐用、价格便宜等优点应用极其广泛,它是最为典型和常用的继电器。本电路采用常闭继电器由单片机控制,当酒精浓度值大于标定值时,继电器开始工作且开关切断电源,从而使汽车制动,起到保护司机行驶安全的作用。图 3-7 控制继电器电路本科毕业设计(论文)全套资料扣扣:194535455第四章 防酒后驾驶控制系统软件设计系统软件采用汇编语言,在 Windows XP 环境下采用 Keilc51 进行编写,对STC89C51 进行编程以实现各项功能。在整个软件的设计过程中,使用了模块化的结构设计思想使得程序具有灵活可变的特点并且具有较强的可移植性,为系统的二次开发及类似系统的开发提供了极大的便利。4.1 软件整体设计思路本次设计涉及到的程序量非常大,所以采用模块式的程序编写思路会使整个程序脉络清晰,易于理解分析。软件总体设计思路:主程序主要包括传感器输入、数据采集、数据处理、声光报警、驱动等子程序。其中,单片机控制器主要功能是驱动继电器动作从而控制电机的启动;数据采集程序主要将接收到的数据送到 A /D 转换器中处理,进而将数字信号输入到单片机中;然后,一部分送去LED 显示,另外一部分与设定值进行比较,当其超过标定值时,语音报警器提示驾驶员开车危险,使其提高警惕性,同时控制继电器的动作,使汽车引擎不能启动。该系统设计采用汇编语言编程。4.2 主程序模块的设计系统电源线接通或着系统复位后,程序从主程序入口进入运行。然后初始化,初始化程序从数据存储器地址20H单元开始,到80H单元全部清零。即每次的初始化将上次存储的数据全部清除,用于存放当前要存储的数据。当检测到酒精气味时,气体传感器MQ-3两个电极段A-B间的电阻将变小,对应于气体传感器负载电阻的分压将变大。因为ADC0809的模拟输入端IN0与负载电阻的一端用导线连在了一起。所以单片机在启动测试模数转换芯片之前要选择通道0,写入模数转换芯片,并将用作查询的单片机引脚P1.5置位,然后启动对通道IN0端输入的采集电压信号作模数转换,等待转换结束。利用查询方式来检测模数转换是否结束,当单片机引脚P1.5为0时转换未结束等待,当查询到P1.5为1时表示转换结束,可以开始读取数据了。单片机通过I/O口与模数转换芯片的数据输出口相连读取转换后的数据。经过转换后的数字信号和标定值进行比较,若小于标定值,执行继电器的动作,即驱动继电器、启动电机, 然后,继续对本科毕业设计(论文)全套资料扣扣:194535455酒精传感器进行数据采集;若大于标定值,不执行继电器动作,继续对传感器信号进行采集,同时,语音、光电报警器提示驾驶员。读取后的数据送到数据存储器单元中,经过单片机作相应的处理,即要将该电压值转换成酒精浓度值,然后处理后的数据转换成三位十进制BCD码用数码管显示。初始化调 A/D 转换子程序调数据处理子程序调 LED 显示子程序控制继电器闭合,点火大于阀值?声光报警开始YN图 4-1 主程序流程图4.2.1 显示子程序本次软件设计中显示芯片采用的是 HD7279,采用了译码方式 0 显示,其字形表需要和硬件连接来确定,指令码为 95H-97H,显缓区为 40H-42H 其程序名本科毕业设计(论文)全套资料扣扣:194535455为 DTR。首先设置显缓区初值和显示命令字初值,再按照时序图使片选 P1.4 有效并延时 50 s 再调发送字节子程序和发送显示指令,待发送完后再延时 25 s,经查表后得显示码,再调发送字节子程序发送显示码。等发送完后延时 8 s 并使片选无效,同时设置其它工作单元以备下一次发送。显示部分软件设计流程图如图 4-2 所示。图 4-2 显示部分流程图此外显示子程序之中还包含有字节发送子程序,在字节发送子程序中,待发送数据高位在前,低位在后,一位一位的发送。首先在数据线上准备好数据,clk 置高位并延时 8 s 后,再置低位并再延时 8s,一位数据就发送完毕。发Y由 A 查表得字形码A调字节发送子程序使片选有效Clr p1.4延时 50s(R1)A调字节发送子程序延时 25s(R0) A开始置计数器初值03HR5置显缓区初值40HR0置命令字初值97HR1使片选无效Setb p1.4(R0)+1R0返回 RET延时 8s(R1)1R1(R5) 1R5(R5)=0?N本科毕业设计(论文)全套资料扣扣:194535455送字节子程序流程图如图 4-3 所示。本科毕业设计(论文)全套资料扣扣:194535455置计数器初值 08HR7开始A 左移 1 位C(C)P1.2CLK 信号置高延时 8usCLK 清零发完一脉冲延时 8us(R7)-1R7(R7)=0?返回NY图 4-3 发送一字节子程序流程图HD7279 控制数码管显示,要在每次显示数据时把要显示的 3 个位按顺序串行送到数码管集成驱动电路 HD7279 串行输出,以同时驱动 3 个数码管同时点亮。根据 7 段数码管的字型码如表 2 所示将对应的共阴极字型码放在一个表格中,然后通过查表的方式找到要显示的数字送移位寄存器驱动数码管显示。HD7279 的段点亮指令D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D01 1 1 0 0 0 0 0 X X d5 d4 d3 d2 d1 d0此为段寻址指令,作用为点亮数码管中某一指定的段,或 LED 矩阵中某一指定的 LED。指令中,X=无影响;d0- d5 为段地址,范围从 00H3FH。表 4-1 七段 LED字型码显示字符 共阴极字型码 共阳极字型码0 3FH C0H1 06H F9H2 5BH A4H3 4FH B0H4 66H 99H5 6DH 92H6 7DH 82H7 07H F8H8 7FH 80H9 6FH 90H4.2.2 控制子程序本系统采用的是继电器直接与单片机引脚 P2.0 相接,正常情况下只要置位P2.0 继电器就会正常工作。因为机械开关时有抖动,所以需要在程序中加一个软件去抖动成粗,当单片机检测到酒精浓度值不大于标定值是继电器闭合汽车本科毕业设计(论文)全套资料扣扣:194535455可以正常启动然后立即执行一个 10 毫秒的延时程序。当单片机检测到的酒精浓度值大于标定值时不能正常点火延时 10 秒程序返回。控制程序流程图如下取测试值开始大于阀值?置位 P2.0返回延时NY图 4-4 控制子程序流程图4.2.3 声光报警模块声音报警系统由单片机 P1.6 控制光电报警系统由单片机引脚 P1.7 控制。当单片机检测到的酒精浓度值大于标定值时置位 P1.6、P1.7 实现声光报警提醒司机。当单片机检测到的酒精浓度值不大于标定值时延时 10 秒程序返回。声光报警模块的程序框图如下本科毕业设计(论文)全套资料扣扣:194535455读取 P2.0 的值开始P2.0=0?置位 P.16,P1.7返回延时YN图 4-5 声光报警子程序框图4.3 数据采集及处理模块对模拟电压信号的数字转换由模数转换芯片 ADC0809 加单片机 STC89C51 控制来完成。模拟电压的输入端接在模数转换芯片的 IN0 通道,再根据单片机与模数转换芯片的连接,单片机在选择写地址时应该为#7FF8H。然后进行数据采样,将 10 次采样的数据存放在 50H 到 5AH 单元中,采样子程序结束后对所采样的 10 个数据进行了中值平均滤波的方法,中值平均滤波的方法是把一组数据从大到小排列,然后把最小值和最大值去掉,其它的数值取算术平均值即为滤波后的结果。这种方法即能滤除脉冲干扰,又能平滑滤波,对快、慢干扰均有效果,而且还可以提高系统的稳定性和抗干扰能力。采样子程序流图如图 4-6本科毕业设计(论文)全套资料扣扣:194535455所示。表 4-2 为 ADC0809 选择通道的真值表。表 4-2 选择通道的真值表ALE C B A 接通通道1 0 0 0 IN01 0 0 1 IN11 0 1 0 IN21 0 1 1 IN31 1 0 0 IN41 1 0 1 IN51 1 1 0 IN61 1 1 1 IN70 X X X 均不通本系统单片机高 8 位地址位的 P2.7 位与单片机的 位经或非后与模数转换WR芯片的 START 和 ALE 用导线连接。所以单片机在将地址#7FF8H 写入模数转换芯片后,一方面模数转换芯片锁存地址选择线的状态,从而选通相应的模拟通道,同时启动模数转换。模数转换需要一定的时间,这时可以开始对转换是否结束进行不断的查询。ADC0809 中模数转换结束输出标志位是 EOC,转换结束时为高电平有效。该位直接与单片机引脚 P1.5 相连,因为启动模数转换之前 P1.5 位被置位,所以当查询到 P1.5 位为 1 时即表示模数转换结束。最后将转换后的数据读取到单片机累加器 A 中。本科毕业设计(论文)全套资料扣扣:194535455本科毕业设计(论文)全套资料扣扣:194535455启动 A/D 转换开始读出 A/D 转换结果结果存入 50H-5AH 单元转换完?返回NY选 ADC0809 通道 IN010 次取值完成?去掉最大最小值求平均处理程序保存数据YN图 4-6 数据采集及处理子程序4.4 算法子程序模块把转换后得到的数字电压值读取到单片机后,因为,实际的电压值范围在0+5V 之间,而 ADC0809 模数转换芯片对应的是 8 位精度的处理,即从00000000B 到 11111111B,所以单片机还要对它作个除#51 的处理工作。而在处理过程中对于有些数据的处理,可能要碰到双字节相除的情况。为此,在第一位单字节除#51 后,相当于把每一份分成了 0.1V。接下来的小数部分位的除#51则要作双字节的除法,这样才能保证使所有位能显示出来。如果所有位都当单字节除法来运算的话,对于有些要作双字节除法的位上的数字则无法显示,而能是显示 0。相除后对应的每一位分别送到地址为#40H,#41H,#42H 的存储单元保存。 开始结果单元 40H 清 0把数值 51 送给 B寄存器 A 中数据乘 10 除 51整数放 R6,小数放 R7 中调双子节除法程序双字节除法的商给寄存器 A返回寄存器 A 中数据乘 10调双子节除法整数放 R6,小数放 R7 中结果送 40H-42H本科毕业设计(论文)全套资料扣扣:194535455图 4-7 电压数据调整本科毕业设计(论文)全套资料扣扣:194535455移位计数 16计数器 B开始(R2R3)=(R6R7)?0CY(R2R3R4R5)左循环移一位CYF0(R2R3)-(R6R7) AR1F0=1?CY=1?(AR1)R2R3 余数(R5)+1R5 商 1(B)-1=0?0F01F0返回YNYNNYYN图 4-8 移位相减除法流程图程序当中为了显示的精确,在有些位相除时

温馨提示

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

评论

0/150

提交评论