为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

【毕业设计】车载酒精测试仪的设计

2017-09-26 50页 doc 246KB 27阅读

用户头像

is_215732

暂无简介

举报
【毕业设计】车载酒精测试仪的设计【毕业设计】车载酒精测试仪的设计 I 车载酒精测试仪的设计 摘 要 近年来,我国汽车保有量在不断增长,与此同时,车辆运行带来的交通事故发生率也在不断攀升。在诸多交通事故之中,有很多人为的因素够成了交通安全的隐患。其中,酒后驾车所造成的人员伤亡及财产损失最为严重。但是现阶段,为了减少或杜绝酒后驾车的行为,交管部门通常只是采用呼气式酒精测试仪对驾驶人员进行现场测试,以确定驾驶人员是否饮酒及其酒精含量, 由于这种方法没有安装在汽车内部,只能由交通监管人员设卡实施,使许多酒后驾驶行为逃避了监控。因此,并不能从根本上杜绝酒后驾驶...
【毕业设计】车载酒精测试仪的设计
【毕业设计】车载酒精测试仪的设计 I 车载酒精测试仪的设计 摘 要 近年来,我国汽车保有量在不断增长,与此同时,车辆运行带来的交通事故发生率也在不断攀升。在诸多交通事故之中,有很多人为的因素够成了交通安全的隐患。其中,酒后驾车所造成的人员伤亡及财产损失最为严重。但是现阶段,为了减少或杜绝酒后驾车的行为,交管部门通常只是采用呼气式酒精测试仪对驾驶人员进行现场测试,以确定驾驶人员是否饮酒及其酒精含量, 由于这种没有安装在汽车内部,只能由交通监管人员设卡实施,使许多酒后驾驶行为逃避了监控。因此,并不能从根本上杜绝酒后驾驶行为,酒后驾驶行为仍时有发生。 本次设计提出一种基于单片机的车载酒精检测和控制电路的设计,通过在汽车内安装由酒类气敏传感器等元件构成的酒精检测电路,来检测驾驶人员的酒精含量,并控制汽车的启动与否,传感器检测到酒精含量,通过PCF8591芯片电路将模拟变量转换为数字量,由单片机控制报警电路,软件实现酒驾的判断。与传统的酒精检测方式比,本设计有着更多的优点和更好的应用前景,为最终消灭酒后驾驶现象创造条件。 关键词:酒精测试,单片机,酒精传感器 II Design of Vehicle Alcohol Testing Equipment ABSTRACT In recent years,the number of vehicles in China is growing, at the same time, the incidence of traffic accidents are also increasing. Among so many traffic accidents, there are a lot of human factors has become the hidden trouble of traffic safety enough. Driving is one of the most serious casualties and property losses. But at this stage, in order to reduce or to eliminate drunk driving behavior, traffic administration usually just adopt the breath alcohol tester to field test of drivers to determine whether the driver has drunk and alcohol content, since the equipment is not install inside the vehicle. It is only to set up checked posts by transportation regulators, so many drunk driving behavior escape the monitor. This design put forward a kind of based on single chip microcomputer on-board alcohol detection and control circuit design, by installed in the car the alcohol detection circuit composed of elements such as gas sensors, to detect the alcohol content of drivers, and controls the motor start or not. Sensor detects that the alcohol content, through PCF8591 converts analog variable to digital quantity, than single-chip microcomputer control alarm circuit, and software realizes the judgement of the drunk driving. Than with traditional alcohol detection method, this design has more advantages and better application prospect, to create conditions for eventually realizing eliminate drunk driving . KEY WORDS: alcohol test, MCU, alcohol sensor III 目 录 摘 要 ........................................................................................................................................... I ABSTRACT .............................................................................................................................. II 1 绪论 ........................................................................................................................................ 1 1.1 课研究意义 .............................................................................................................. 1 1.2 国内外发展情况 .......................................................................................................... 1 1.3 研究内容 ...................................................................................................................... 2 2 系统设计 ................................................................................................................................ 3 2.1 系统总体介绍 .............................................................................................................. 3 2.2 系统功能介绍 .............................................................................................................. 3 2.3 设计方案的比较与论证 .............................................................................................. 3 3系统硬件设计 ......................................................................................................................... 5 3.1 微处理器 ...................................................................................................................... 5 3.1.1 AT89C51单片机介绍 ......................................................................................... 5 3.1.2单片机复位电路 ................................................................................................. 9 3.1.3 单片机晶振电路 .............................................................................................. 10 3.1.4 电源电路 .......................................................................................................... 11 3.2 A/D转化 ..................................................................................................................... 11 3.2.1 PCF8591的介绍 ............................................................................................... 11 3.2.2 A/D转换电路图 ............................................................................................... 13 3.3酒精测试 ..................................................................................................................... 13 3.3.1呼气酒精浓度与人体血液浓度关系 ............................................................... 13 3.3.2 酒精传感器 ...................................................................................................... 14 3.3.3 滤波放大电路 .................................................................................................. 16 3.4 LCD显示电路 ............................................................................................................ 17 3.4.1 LCD液晶屏简介 .............................................................................................. 17 3.4.2 LCD1602显示电路 .......................................................................................... 21 3.5 继电器控制和报警电路 ............................................................................................ 21 3.5.1报警电路 ........................................................................................................... 21 3.5.2 继电器控制电路 .............................................................................................. 22 4 软件设计 .............................................................................................................................. 24 4.1 Protues软件 ................................................................................................................ 24 4.2 系统软件设计 ............................................................................................................ 25 4.2.1 采集模块软件设计 .......................................................................................... 25 IV 4.2.2 显示模块 .......................................................................................................... 25 4.2.3报警模块 ........................................................................................................... 26 4.2.4主处理模块 ....................................................................................................... 26 5总 结 ..................................................................................................................................... 28 致 谢 ........................................................................................................................................ 29 参 考 文 献 ............................................................................................................................ 30 附录? 总体电路图 ................................................................................................................ 32 附录? 程序 ............................................................................................................................ 33 车载酒精测试仪设计 1 1 绪论 1.1 课题研究意义 随着经济的发展,汽车工业也发展迅猛,车辆保有数目逐年攀升。在带给人们便利的同时,汽车也不可避免带来很多安全事故隐患,而酒后驾车,和醉酒驾车所引发的交通事故日益增多,严重威胁着人们的生命和财产安全。因此,检测司机是否酒驾或者醉驾,并采取适当措施减少交通事故的发生,是一项非常有实际意义的研究课题。交管部门通常是采用呼气式酒精探测仪对驾驶人员经行现场检测,以确定驾驶人员是否饮酒。目前市场上警用酒精探测仪品类繁多,功能强大,灵敏度高。但由于它没有安装在汽车内部,只能由交警人员进行实施,因此,并不能从根本上杜绝酒后驾车,酒驾或者醉驾事件仍时有发生。基于单片机的车载超低功耗酒精测试控制仪,可以安装在汽车内部,当驾驶员进入驾驶室后,可以自动对酒精浓度进行探测,以确保行车的安全,系统根据检测到的酒精含量是否超标来控制汽车打火装置打开或关闭,如果超标,则驾驶人员无法启动汽车。 1.2 国内外发展情况 2007年,萨博在其新款的9-5系列车型上,率先使用了Alokey酒精钥匙技术,这是一种在车钥匙中集合迷你型酒精检测装置的新技术,其体积比一般的手机还要小,要是上设置吹气口,想要启动发动机必须向里面吹气,如果检测出酒精含量不超标,即可启动发动机;而酒精含量超标,发动机则会自动锁住而不能启动车辆。以此来监测驾驶者的酒精含量。 与此同时,日产汽车研发的新的酒精探测仪,它没有与钥匙结合,而是独立连接在汽车的电脑上。同年,日产在其一款概念车全面应用防止酒后驾车的各项技术。该车安装了传感器在司机座位上和挡杆上,通过感知身体发出的气体检测酒精含量。如果酒精含量超标,汽车的警报系统会发出鸣响警报,并自动锁住变速器,使汽车无法行使。并装有摄像机在该车的仪表板内,结合感应行驶状况驾驶人员的闭目时间,判断饮酒或打盹情况,从而警示和停车。 目前国内外酒精检测仪主要采用电化学式的酒精测试仪。我国自主研发的酒精测试仪是具有世界先进水平的防醉驾酒精锁,采用高性能的电化式传感器,使用独特的整机线路系统设计,使本系统完全满足车载设备的要求,并通过欧洲eMarK认证,荣获2007年度“香港电子业商会创新科技产品奖”,是电子业商会推荐使用的防醉驾酒精测试仪,本产品完全兼容欧洲、美国、日本等国家。另外,我国近两年来也在积极研发指纹式酒精监测技术,这种技术检测酒精含量是通过手指分泌的汗液中的酒精,同时,还可以识别驾驶人员的指纹和脉搏。在很短时间内分析出驾驶人员的汗液中酒精含量是否超 标。不过这项技术还未成熟。 陕西科技大学毕业论文(设计说明书) 2 1.3 研究内容 本文提出了一种基于单片机的超低功耗酒精测试控制仪,该仪器安装在汽车,当驾驶员进入驾驶室后,可以自动对酒精浓度进行探测,以确保行车的安全,系统根据检测到的酒精含量是否超标来控制汽车打火装置打开或关闭,如果超标,则驾驶人员无法启动汽车。 酒精检测电路:酒精检测电路结合酒精传感器MQ-3和I/V转换器ISO-A4-P1-0等电路器件,将酒精浓度信号转化为0,5V的电压,以供单片机采集判断。MQ-3是一种二氧化锡半导体型酒精气体传感器,对酒精具有高灵敏度和快速的响应性。I/V转化器ISO-A4-P1是一种将电流信号转换成按比例输出的电压信号的混合集成电路。该IC内部具有一组高隔离的DC电源和电流信号高效率耦合隔离变换电路等,可以将直流电流小信号进行隔离放大,直接转换成直流电压信号输出。具有很小的输出电阻,较强的带负载能力,能实现小信号远程无失真传输,全量程内有很高的线性度。 单片机系统:单片机系统主要有AT89C51、PCF8591、数码管、继电器等部分组成。通过酒精检测电路转换而来的0,5V电压,输入到PCF8591输入端,经过PCF8591转换,输出8位二进制数到单片机端口,然后转换成3位十进制数,显示在数码管上,同时判断当前数是否大于预制数。大于预制数,单片机P3.5输出0,继电器得电,其常闭点断开,汽车起动机不能正常启动;小于预制数,单片机P3.5端口输出1,继电器失电,其常闭点闭合,汽车正常启动。 软件系统:单片机系统的的主程序用于设定中断系统和定时器的初值,然后一直等待定时中断的产生。定时中断程序是实现系统功能的核心部分,进入定时中断程序,PCF8591进行模数转换和二进制到十进制的转换以及根据当前值与预置值进行比较,从而控制其汽车能否正常启动,最后,重装定时器初值,返回主程序,等待下一次定时中断。 车载酒精测试仪设计 3 2 系统设计 2.1 系统总体介绍 本次设计采用AT89C51单片机为主控芯片,用酒精传感器进行数据采集,经过PCF8591的模数转换,由单片机进行内部处理,再将得到的数据储存,送入显示模块LCD1602,显示酒精浓度,通过单片机和程序控制继电器,使汽车断电,无法行驶。系统总体的框图如下图2-1: 汽车供电系统 报警 A/D转换电路酒精传感器调理电路单片机点火装置 显示 图 2-1 系统总体框图 2.2 系统功能介绍 本系统利用酒精传感器采集酒精浓度信息,由单片机来进行内部处理,与酒驾时的酒精浓度比较,若超出则判断酒驾,LCD显示酒精浓度,汽车无法启动。主要功能为: a) 测试酒精浓度; b) 显示酒精浓度; c) 蜂鸣器进行报警; d) 汽车断电; 2.3 设计方案的比较与论证 方案一 1) 硬件组成: 由酒精传感器、89C51系列单片机控制器、PCF8591转换器、LCD显示器、语音报警、继电器等组成。 2) 工作原理: 在系统中,由酒精传感器做成测量工具,对酒精含量这一化学变量进行检测,并输送到A/D转换器。A/D转换器将数据进行模数转换后输出到89C51系列单片机。通过单片机控制,根据给定量与测量量比较,得出酒精浓度是否超标,控制语音报警器。LED显示器用于实时的显示测量的酒精浓度。 方案二 1) 硬件组成: 陕西科技大学毕业论文(设计说明书) 4 由ARM、LCD液晶显示器、声光报警器、燃料酒精传感器、气泵装置等组成。 2) 工作原理: 在系统中,当人体呼出气体从这里流出,检测气流压力,达到预先规定的数值时,打开气泵装置抽气,酒精气体在燃烧室内反应后在电池两级产生微弱的电压输出,电压模拟信号被送入A/D 转换器,经过A/D转化后的数字信号输入到指定函数,计算结果最终显示到LCD液晶显示屏上。 3) 系统原理框图: 酒精传感器调理电路液晶显示 微控 制器 加热回路报警 图2-2 方案二 系统框图 经上分析,方案一用89C51单片机作为控制器,在进行A/D转换和LCD显示时较为方便,可实现性高。在结构上简单明了,相对编写程序思路较为简单。方案二用由ARM、LCD液晶显示器、声光报警器、燃料酒精传感器、气泵装置等组成,采用了气泵装置,加大了元器件的成本,同时也增大了控制仪的体积,虽然较为准确,但实现起来相对复杂,不便于实现。因此,我选择方案一的设计。 车载酒精测试仪设计 5 3系统硬件设计 本系统主要由微处理器、模数转换模块、显示模块、报警模块、继电器模块等组成。下面介绍各部分原理及电路图。 3.1 微处理器 3.1.1 AT89C51单片机介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,简称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。 当前市场上的单片机有51系列,AVR系列、STC系列等单片机,考虑到设计需要数据存储功能,又要确保其高速、抗干扰能力强的特点,在考虑功能需求及成本的基础上,选择了ATMEL公司研发的AT89C51 8位单片机作为本系统的控制器,有40个引脚,如图3-1所示: U21939XTAL1P0.0/AD038P0.1/AD137P0.2/AD21836XTAL2P0.3/AD335P0.4/AD434P0.5/AD533P0.6/AD6932RSTP0.7/AD7 21P2.0/A822P2.1/A923P2.2/A102924PSENP2.3/A113025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15 110P1.0P3.0/RXD211P1.1P3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0615P1.5P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RD AT89C51 图3-1 AT89C51引脚 1)它具有以下特性: ? 与MCS-51 兼容; ? 4K字节可编程闪烁存储器; ? 寿命:1000写/擦循环; ? 数据保留时间:10年; 陕西科技大学毕业论文(设计说明书) 6 ? 全静态工作:0Hz-24Hz; ? 三级程序存储器锁定; ? 128×8位内部RAM,片内振荡器和时钟电路; ? 32可编程I/O线,低功耗的闲置和掉电模式; ? 两个16位定时器/计数器; ? 5个中断源,可编程串行通道。 2)管脚说明 ? VCC:供电电压; ? GND:接地; ? P0口:P0口为一个8位漏级开路双向I/O口,每一位可驱动8个LSTTL负载。当P0口作为普通输入接口时,应先向口锁存器写“1”。需要输出高电平时,要接上拉电阻; ? P1口:P1口是一个内部自带上拉电阻的8位双向I/O口,每一位可驱动4个LSTTL负载。当P1作为输入接口时,应先向口锁存器写“1”。P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收; ? P2口:P2口为一个内部自带上拉电阻的8位双向I/O口,每一位可驱动4个 LSTTL负载,当P2口作为输入接口时,应先向口锁存器写“1”。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号; ? P3口:P3口管脚是8位自带上拉电阻的双向I/O口,每一位可驱动4个LSTTL负载。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作AT89C51的一些特殊功能口,如图3-1所示。P3口同时为闪烁编程和编程校验接收控制信号; ? RST:复位输入,高电平有效。当振荡器复位器件时,保持RST脚两个机器周期以上的高电平时间; ? ALE/PROG:地址锁存使能信号输出端。存取片外存储器时,用于锁存低8位地址。即使不访问片外存储器:端仍以时钟振荡频率1/6的固定频率向外输出脉冲信号,因此,它可用作对外输出的时钟。然而要注意的是:每当访问片外存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效; _______ ? PSEN:外部程序存储器的选通信号。低电平有效,在由片外程序储器取指期间,每________________个机器周期两次PSEN有效。但在访问片外数据存储器时,这两次有效的PSEN信号将不 车载酒精测试仪设计 7 出现; ______ ? EA/VPP:片外程序存储器屏蔽控制端,低电平有效。当EA保持低电平时,将屏蔽片___ 内的程序存储器,只访问片外程序存储器。当EA端保持高电平时,将访问片内程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1,反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2,来自反向振荡器的输出。 振荡器特性,XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除,整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 3) I/O引脚配置: I/O口引脚为:32个通用I/O口,其中P1/P2/P3是准双向口/弱上拉(普通8051传统I/O)P0是开漏输出,作为总线扩展时,可以不用加上拉电阻,作为I/O 口用时,需加上拉电阻。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。P3口除作为一般I/O口外,还有其他一些复用功能,见表3-1: 表3-1 P3口引脚复用功能 引脚号 复用功能 RXD(串行输入口) P3.0 TXD(串行输出口) P3.1 INT0(外部中断0) P3.2 INT1(外部中断1) P3.3 T0(定时器0的外部输入) P3.4 T1(定时器1的外部输入) P3.5 WR(外部数据存储器写选通) P3.6 RD(外部数据存储器读选通) P3.7 1) 定时/计数器0和1 AT89C51单片机有三个定时/计数器。其中定时/计数器0和1的控制和实现由两个 陕西科技大学毕业论文(设计说明书) 8 特殊功能寄存器完成。TMOD用于设置定时/计数器工作方式,TCON用于控制定时/计数器启动和中断申请。TMOD寄存器的各位信息见表3-2。 表3-2 寄存器TMOD描述 位 D7 D6 D5 D4 D3 D2 D1 D0 TTTMOD GATE C/ M1 M0 GATE C/ M1 M0 ? GATE:门控位。GATE=0时,当软件使TCON中的TR0或TR1设置为“1”,则启动定时/计数器工作;GATE=1时,软件使TCON中的TR0或TR1设置为“1”,同时外部中断引脚 或 也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了 或 引脚为高电平这一条件。 TTT? C/:定时/计数模式选择位。C/=0为定时模式;C/=1为计数模式。 ? M1M0:工作方式设置位。定时计数器有四种操作模式,由M1M0进行设置,见表3-3: 表3-3 定时/计数器工作方式设置表 工作 功能说明 M1M0 方式 方式0 13 位定时器/ 计数器,兼容8048 定时器模式,TL1 只用低5 位参与分 00 频,TH1 整个8 位全用 方式1 16 位定时器/ 计数器,TL1、TH1 全用 01 方式2 8 位自动重装载定时器,当溢出时将TH1 存放的值自动重装入TL1 10 方式3 T0分成两个独立的8位定时计数器;T1此方式停止计数 11 控制寄存器TCON的第四位用于控制外部中断,高四位用于控制定时/计数器的启动和中断申请。其格式见表3-4 表3-4 寄存器TCON描述 位 D7 D6 D5 D4 D3 D2 D1 D0 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 ? TF1: 定时器/计数器1溢出标志位。当T1被允许计数后,T1从初值开始加1计数,最高位产生溢出时,置“1”TF1,并向CPU请求中断,当CPU响应时,由硬件清“0”TF1,TF1也可以由程序查询或清“0”。 ? TR1: 定时器T1的运行控制位。该位由软件置位和清零。当GATE(TMOD.7)=0,TR1=1时就允许T1开始计数,TR1=0时禁止T1计数。当GATE(TMOD.7)=1,TR1=1且INT1输入高电平时,才允许T1计数。 ? TF0: 定时器/计数器0溢出标志位。其功能与TF1类同。 ? TR0:定时器T1的运行控制位。其功能与TF1类同。 ? IE1: 外部中断1中断请求标志位。当主机响应中断转向该中断服务程序执行时,由 车载酒精测试仪设计 9 内部硬件自动将IE1位清0 。 ? IT1:外部中断1触发方式控制位。IT1=0时,外部中断1为低电平触发方式,当 INT1(P3.3)输入低电平时,置位IE1。采用低电平触发方式时,外部中断源(输入到INT1 )必须保持低电平有效,直到该中断被CPU响应,同时在该中断服务程序执行完之前,外部中断源必须被清除(P3.3 要变高),否则将产生另一次中断。当IT1=1时, INT1则外部中断1端口由“1”?“0”下降沿跳变,激活中断请求标志位IE1,向主机请求中断处理。 ? IE0:外部中断0中断请求标志位,其功能与IE1类同。 ? IT0:外部中断0触发方式控制位,其功能与IT1类同。 3.1.2单片机复位电路 AT89C51 有以下几种复位方式: 上电复位; 看门狗复位; 掉电复位; 外部复位(仅在外部复位引脚处于使能状态)。 上述任一种复位发生时,所有的系统寄存器恢复默认状态,程序停止运行,同时程序计数器PC清零。复位结束后,系统从向量0000H处重新开始运行。 任何一种复位情况都需要一定的响应时间,系统提供完善的复位流程以保证复位动作的顺利进行。对于不同类型的振荡器,完成复位所需要的时间也不同。因此,VDD 的上升速度和不同晶振的起振时间都不固定。RC 振荡器的起振时间最短,晶体振荡器的起振时间则较长。在使用的过程中,应注意考虑主机对上电复位时间的要求。 在这里所用的复位为外部复位。外部复位引脚为施密特触发结构,高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。复位引脚处于低电平时,系统正常运行。当复位引脚输入高电平信号时,系统复位。外部复位操作在上电和正常工作模式时有效。需要注意的是,在系统上电完成后,外部复位引脚必须输入低电平,否则系统将一直保持在复位状态。外部复位的时序如下: 1)外部复位:系统检测复位引脚的状态,如果复位引脚不为低电平,则系统会一直保持在复位状态,直到外部复位结束; 2)系统初振荡器开始工作始化:初始化所有的系统寄存器; 3)振荡器开始提供系统时钟; 4)执行程序:上电结束,程序开始运行。 5)外部复位可以在上电过程中使系统复位。良好的外部复位电路可以保护系统以免进入未知的工作状态。产生复位信号的电路逻辑如图3-2所示: 陕西科技大学毕业论文(设计说明书) 10 RST/Vpd施密特触复位电路发器 Voc 片内 RAM VSS 图3-2 复位信号的电路逻辑图 U1整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特1939XTAL1P0.0/AD038P0.1/AD1触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采37P0.2/AD21836XTAL2P0.3/AD3样,然后才得到内部复位操作所需要的信号。复位电路如图3-3所示: 35P0.4/AD434P0.5/AD533P0.6/AD6932RSTP0.7/AD7C3 21P2.0/A822R4P2.1/A92310uF10kP2.2/A102924PSENP2.3/A113025ALEP2.4/A123126EAP2.5/A1327 P2.6/A1428P2.7/A15图3-3 复位电路 110P1.0P3.0/RXD复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位211P1.1P3.1/TXD312P1.2P3.2/INT0电路的电容充电来实现的,它在系统上电的过程中能够为复位引脚提供一个缓慢上升的413P1.3P3.3/INT1514P1.4P3.4/T0615复位信号。这个复位信号的上升速度低于VDD 的上电速度,为系统提供合理的复位时P1.5P3.5/T1716P1.6P3.6/WR817序,当复位引脚检测到高电平时,系统复位结束,进入正常工作状态。图3-4可同时满P1.7P3.7/RD AT89C51足上电自动复位和手动复位两种需要。 3.1.3 单片机晶振电路 对于本芯片来说,主要有两种晶振来源:外部石英/陶瓷振荡器和内部高速RC振荡器。 1) 外部石英/陶瓷振荡器 图3-4,XTAL1/XTAL2/VSS引脚与石英/陶瓷振荡器以及电容C之间的距离越近越好。 车载酒精测试仪设计 11 C133pF X1CRYSTALU11939XTAL1P0.0/AD038C2P0.1/AD13733pFP0.2/AD21836XTAL2P0.3/AD335 P0.4/AD434P0.5/AD533图3-4 外部石英/陶瓷振荡器 P0.6/AD6932RSTP0.7/AD72) 内部RC振荡器 21P2.0/A822P2.1/A9常温下内部R/C 振荡器频率为:5.2MHz , 6.8MHz。精度要求不高时,可选择使23P2.2/A102924PSENP2.3/A113025用内部时钟,但因为有制造误差和温漂,应认为是4MHz , 8MHz 。 ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A153.1.4 电源电路 110P1.0P3.0/RXD211P1.1P3.1/TXDMCU所需电压在3.4V-5.5V范围内,在此选取典型电压5.0V;其余模块诸如312P1.2P3.2/INT0413P1.3P3.3/INT1514LCD1206、ADC0832的采用5V电压,故整个电路采用5.0V电压源。而汽车中的电子控P1.4P3.4/T0615P1.5P3.5/T1716P1.6P3.6/WR制电压则是12V,因此,这里需要用到电源稳压芯片7805,将12V电压转换成5V电压。AT89C51817P1.7P3.7/RD电路图如图3-5所示,其中C1、C2、C3、C4增强电源抗干扰能力。 U17805 13VIVO 2GNDC1C2C3C450uF50uF50uF50uF 图3-5 电源电路 3.2 A/D转化 3.2.1 PCF8591的介绍 2本设计A/D转化采用PCF8591芯片。PCF8591是具有IC总线接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出,这就是说,它既可以作A/D转换也可以作D/A转换。A/D转换为逐次比较型。引脚图如图3-6所示,结构图如图3-6所示。电源电压典型值为5V。 AIN0-AIN3:模拟信号输入端 A0-A3:引脚地址端 VDD,VSS:电源端(2.5-6V) 2SDA:IC总线的数据线 2SCL:IC总线的时钟线 OSC:外部时钟输入端,内部时钟输出端。 陕西科技大学毕业论文(设计说明书) 12 EXT:内部、外部始终选择线,使用内部时钟时EXT接地 AGND:模拟信号地 AOUT:D/A转换输出端 UREF:基准电源线 图3-6 PCF8591的引脚图 2PCF8591采用典型的IC总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。飞利浦公司规定A/D器件地址为1001.引脚地址为A2A1A0,其值由 232用户选择,因此IC系统最多可接2=8个具有IC总线接口的A/D器件。地址的最后一位为方向为R/W,当主控器对A/D器件进行读操作时为1,进行写操作时为0.总线操作时,由器件地址、引脚的地址和方向位组成的从地址为主控器发送的第一个字节。 控制字节用于实现器件的各种功能,如模拟信号由哪几个通道输入等。控制字节存放在控制寄存器中。总线操作时为主控器发送的第二个字节。其格式如下所示: MSB LSB 0 X X X X X X D7 D6 D5 D4 D3 D2 D1 其中:D1、D0两位是A/D通道编号:00通道0,01通道1,10通道2,11通道3。 D2自动增益选择(有效位为1)。 D5、D4模拟量输入选择:00为四路单输入、01为三路查分输入、10为单端与差分配合输入、11为模拟输出允许有效。 当系统为A/D转换时,模拟输出允许为0。模拟量输入选择位取值由输入方式决定,四路单输入时取00,三路差分输入时取01,单端与差分输入时取10,二路差分输入时取11。最低两位时通道编号位,当对0通道的模拟信号进行A/D转换时去00,当对1通道的模拟信号进行A/D转换时取01,当对2通道的模拟信号进行A/D转换时取10,当对3通道的模拟信号进行A/D转换时取11。 在进行数据操作时,首先是主控器发出起始信号,然后发出读寻址字节,被控器做出应答后,主控器从被控器读出一个数据字节,主控器发出应答后,主控器从被控器读出第二个数据字节,主控器发出应答...一直到主控器从被控器读出第N个数据字节,主控器发出非应答信号,最后主控器发出停止信号。 车载酒精测试仪设计 13 3.2.2 A/D转换电路图 在电路连接方面,采用2通道连接,由2通道进行信号输入并进行模数转换,如图3-7所示。 图3-7 A/D转换电路图 3.3酒精测试 酒精检测电路由高精度酒精传感器、信号调理放大电路、滤波电路和模数转换电路等组成。主要功能是检测驾驶员呼出的酒精含量,将化学信号转化为模拟信号,并通过信号调理放大电路对模拟信号进行放大处理以及通过滤波电路滤波,再将进行处理后的信号送到PCF8591,将模拟信号转化为数字信号,从而使单片机判断检测到的酒精浓度是否超标。测试电路信号调理放大电路是将酒精传感器传来的模拟信号进行放大整形,便于转换为数字信号。 3.3.1呼气酒精浓度与人体血液浓度关系 机动车驾驶人员“酒后驾车”及“醉酒驾车”极易发生道路交通事故,严重危害了道路交通安全和人民生命财产安全。人饮酒后,酒精通过消化系统被人体吸收,经过血液循环,约有90,的酒精通过肺部呼气排出,因此测量呼气中的酒精含量,就可判断其醉酒程度。 从理论上说,要判断是否是酒后驾驶,最准确的方法应该是检查驾驶人员血液中的酒精含量。血液中的酒精含量可以通过检查血液、呼气、唾液和小便得到。在违章处理或者公路交通例行检查中,要在现场抽取血液往往是不现实的,而送到医院再抽取血液 陕西科技大学毕业论文(设计说明书) 14 则会因为路上花去的时间使血液中的酒精浓度与在现场时有所不同。最简单可行的方法是现场检测驾驶人员呼气中的酒精含量。 为了规范警用呼气酒精测试仪的性能,2001年我国公安部制定了国家公共安全行业标准“呼出气体酒精含量探测器GA307—2001”。该标准中对呼气酒精测试仪的各方面性能作了定量规定,其中一些重要性能如示值误差、重复性、抗干扰能力、吹气压力和吹气连续性监视等指标都直接影响检测精度。该文就此略加分析如下:示值误差和重复性是直接影响检测精度的指标,其中示值误差要求在整个工作范围(温度从0? 至40? ,相对湿度从20, RH90,RH)都要满足如下要求:?10,(量程:0.400 mg,L,1.000mg/L)?0.040 mg,L(量程:0.200 mg,L,0.400mg,L)?0.025 mg,L(量程:<0.2000mg,L) ,重复性是反映仪器测量值稳定性的指标。 3.3.2 酒精传感器 传感器是一种能把物理量或化学量转变成便于利用的电信号的器件。国际电工委员会(IEC:International Electrotechnical Committee)的定义为:“传感器是测量系统中的一种前置部件,它将输入变量转换成可供测量的信号”。按照Gopel等的说法是:“传感器是包括承载体和电路连接的敏感元件”,而“传感器系统则是组合有某种信息处理(模拟或数字)能力的传感器”。传感器是传感器系统的一个组成部分,它是被测量信号输入的第一道关口。 酒精传感器属于化学传感器中气体传感器,酒精传感器的种类有很多,如采用旁热型半导体式酒精气敏元件MQ3、两电极电化学式酒精气体传感器ME3A-C2H5OH、HS-3C型酒精传感器、自加热型半导体式酒精气体敏感元件MQ213等类型,每一种酒精传感器都有其独特的特点。在本设计中采用旁热型半导体式酒精气敏元件MQ3,它对乙醇蒸汽具有很高的灵敏度和良好的选择性,快速的响应恢复,长期的寿命和可靠的稳定性,探测范围为10,1000ppm,尤其适用于酒后驾驶人员的检测。 旁热型半导体式酒精气敏元件MQ3具有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。MQ3型气敏传感器由微型Al2O3,陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成。其一为加热回路,其二为信号输出回路,它可以准确反映传感器表面电阻值的变化。传感器的表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的。二者之间的关系表述为:RS,RL=(VC-VRL),VRL,其中VC为回路电压为10V。负载电阻RL可调为0.5,200K。加热电压Uh为5V。上述这些参数使得传感器输出电压为0,5V。MQ3型气敏传感器的结构和外形如图3-8所示,标准回路如图3-9所示,传感器阻值变化率与酒精浓度、外界温度的关系图如图3-10所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需将传感器预热5分钟。 车载酒精测试仪设计 15 图3-8 MQ3型传感器结构和外形 图3-9 MQ3型传感器标准回路 阻270度 值 变0 化.3 220度 率 0 390度 .2 170度 0 .1 100度 24 乙醇浓度/10负六次方 00 00 00 图3-10 传感器阻值变化率与酒精浓度、外界温度的关系 表3-5 MQ3标准工作条件 符号 参数名称 技术条件 备注 回路电压 V ?15V ACorDC C 加热电压 V 5.0?0.2V ACorDC H 负载电阻 可调 V H 31??3? 加热电阻 室温 R L 加热功耗 P ?900mW H 陕西科技大学毕业论文(设计说明书) 16 表3-6 MQ3环境条件 符号 参数名称 技术条件 备注 使用温度 Tao -10?~50? 储存温度 Tas -20?~70? 相对湿度 小于95,RH RH 21,(标准条件)氧 最小值大于2, 氧气浓度 气浓度会影响灵敏度 O 2 特性 3.3.3 滤波放大电路 MQ3酒精传感器感应驾驶员呼出气体中的酒精含量,并将酒精这一化学量转化为电信号,送给放大调理电路,将模拟的电信号放大整形后输送给滤波电路,使输出的电压趋于平滑,再将这一信号送至PCF8591化为数字信号。 图3-11 滤波放大电路 图3-11 滤波放大电路 当传感器检测到被测气体时,比较器LM393管脚2的电压值,跟传感器检测到气体的浓度成正比,当浓度值超过电位器RP设定的阀值时,比较器2脚的电位高于3脚的电位,这个时候,比较器1脚输出低电平,LED灯亮,R3为LED灯限流电阻,C1为滤波电容。传感器输出低电平,反之,当没有信号的时候,传感器输出高电平,等于电源电压。 在该电路中,选择AOUT端口,即模拟量输出,将AOUT脚接PCF8591的输入端,在正常情况下,既没有被测气体的情况下,设定传感器输出电压值为参考电压,这时,AOUT端的电压在1V左右,当传感器检测到被测气体时,电压每升高0.1V,实际被测气体的浓度增加20ppm(简单的说:1ppm=1mg/kg=1mg/L=1×10-6 常用来表示气体浓度, 车载酒精测试仪设计 17 或者溶液浓度),根据这个参数就可以在单片机里面将测得的模拟量电压值转换为浓度值。 3.4 LCD显示电路 液晶显示电路用来显示测定得到的酒精的浓度。液晶显示电路采用LCD1602,这是一款低功耗的点阵图形式LCD,可以工作在5V供电的情况下,具有多功能指令,内部带有中文字库,既可以工作于串行方式又可以工作于并行方式,很容易与8位的单片机相连。液晶显示电路与单片机的连接采用并行工作模式。在本设计中单片机的P2.0,P2.2端口分别接LCD1602的RS、R/W以及E端,P0.0,P0.7端口分别接LCD1602的DB0,DB7端。 3.4.1 LCD液晶屏简介 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。 1)线段显示:点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。 2)字符显示:用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 3)汉字显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为 陕西科技大学毕业论文(设计说明书) 18 1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。 1602LCD主要技术参数: 1)显示容量:16×2个字符 2)芯片工作电压:4.5—5.5V 3)工作电流:2.0mA(5.0V) 4)模块最佳工作电压:5.0V 5)字符尺寸:2.95×4.35(W×H)mm 引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-7所示: 表3-7 LCD的引脚接口 编号 符号 引脚说明 编号 符号 引脚说明 电源地 数据 1 VSS 9 D2 电源正极 数据 2 VDD 10 D3 液晶显示偏压 数据 3 VL 11 D4 数据命令选择 数据 4 RS 12 D5 读/写选择 数据 5 R/W 13 D6 使能信号 数据 6 E 14 D7 数据 背光源正极 7 D0 15 BLA 数据 背光源负极 8 D1 16 BLK 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器 车载酒精测试仪设计 19 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令 第7,14脚:D0,D7为8位双向数据线 第15脚:背光源正极 第16脚:背光源负极 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1602液晶模块内部的控制器共有11条控制指令,图3-14所示:(说明:1为高电平、0为低电平) 指令集 : 指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙 指令10:写数据 指令11:读数据 读写操作时序如图3-12和3-13所示: 陕西科技大学毕业论文(设计说明书) 20 图3-12 读操作时序 图3-13 写操作时序 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-14是1602的内部显示地址。 图3-14 1602LCD内部显示地址 车载酒精测试仪设计 21 例如第二行第一个字符的地址是40H,不可以直接写入40H就可以将光标定位在第二行第一个字符的位置,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,就能看到字母“A”。 3.4.2 LCD1602显示电路 液晶显示电路与单片机的连接采用并行工作模式。在本设计中单片机的P2.0,P2.2端口分别接LCD1602的RS、R/W以及E端,P0.0,P0.7端口分别接LCD1602的DB0,DB7端。 图3-15 LCD显示电路 3.5 继电器控制和报警电路 3.5.1报警电路 报警电路是利用蜂鸣器作为报警器,当酒精含量超标时,发出禁止行车警告音;不超标时,发出允许行车提示音,由P2.5(Ring)驱动蜂鸣器来实现。由于蜂鸣器是由单片机驱动,则要在电路中加一个放大电路。为了减少电源输出纹波对放大电路的影响,在电源的管脚增加一个0.1μF的电容来实现滤波,以减小输入端受到的干扰。 陕西科技大学毕业论文(设计说明书) 22 3.5.2 继电器控制电路 继电器控制电路是本设计中的执行单元,相当于开关,控制点火装置的打开和关闭、车灯的亮灭和喇叭的响与不响。当酒精浓度超标时,继电器自动切断电源,驾驶员不能点火发动汽车。 本设计中的继电器采用电磁继电器,电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。 图3-16 电磁继电器 继电器启动的结果是把常闭触点所接的外电路断开和把常开触点所接的外电路接通。当线圈断电时,铁芯失去磁性,由于接触铜片的弹性作用,使铁板离开铁芯,恢复与第一个触点(常闭触点)的接通,这一过程称为电磁继电器的复位。因此,可以用很小的电流去控制其他电路的开关。整个继电器由塑料或有机玻璃防尘罩保护着,有的还是全密封的,以防触电氧化。 图3-16所示,当控制电路中的开关闭合时,电磁铁便具有磁性,将衔铁吸下,使继电器触点接触,与触点相连接的电源电路便接通;当控制开关断开时,电磁铁的磁性被撤消,继电器触点弹开,电源电路亦随之断开。 特点:简单,维修容易,成本低,多型式和多规格,也可以做成直流、交流或交直流供电。 车载酒精测试仪设计 23 图3-17 报警和继电器电路 陕西科技大学毕业论文(设计说明书) 24 4 软件设计 4.1 Protues软件 Protues是英国Labcenter electronics公司开发的EDA工具软件。除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路仿真的功能外,其中一个重要的功能是,电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。Protues组合了高级原理图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。 Protues产品系列包含了VSN技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块有一个易用而又功能强大的ISIS原理布图工具,PROSPICE混合模型SPICE仿真,ARE、S PCB设计。 软件具有以下特点: 1)支持许多通用的微控制器,如ARM7、PIC、AVR、HC11、以及8051。 2)交互的装置模型包括: LED和LCD显示,RS232终端、通用键盘、开关、按钮等。 3)强大的调试功能,知访问寄存器和内存,设置断点和单步运行模式。 4)支持如IAR、Keil和Hitcch等开发工具的c源码和汇编的调试。 5)内置超过6000标准的SPICE模型,完全兼容制造商提供的SPICE模型。 6)DLL接口为应用提供特定的模式。 7)基于工业标准的SPICE3F5混合模型的I”路仿真器”。 8)14中虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等。 9)高级仿真包括强大的基于图形的分析功能:模拟、数字和混合瞬时图形,频率、转换、噪声、傅立叶,交流、直流和音频曲线。 10)模拟信号发生器包括直流、正弦、脉冲、分段线性、音频、指数、单频FM、数字信号发生器包括尖脉冲、脉冲、时钟和码流。 11)集成Protues和PCB设计形成完整的电子设计系统。 ISIS是Protues系统的中心,它不仅是一个图标库。它是具有控制原理图画图的外观的超强设计环境。无论是实现复杂的设计仿真以及PCB的设计,还是设计精美的原理图ISIS都是最好的工具。双击桌面上的ISIS 6 Profcssional图标或者单击屏幕左下方的“开始”-“程序”-“Protues”-“ISIS 6 Profcssional”菜单启动了Protues ISIS集成环境。 Protues ISIS的工作界面是一种标准的Windows界面。包括:标题栏、主菜单、工具栏、预览窗口、挑选元器件按钮、库管理按钮、原理图编辑窗口、元件列表、对象选择按钮、预览对象方位控制按钮、仿真控制按钮、状态栏。 车载酒精测试仪设计 25 4.2 系统软件设计 软件部分根据系统功能进行模块化编程。系统软件主要包括采集模块、显示模块、报警模块和主处理模块,实现酒精含量检测、酒精含量是否超标判别、酒精含量显示、声光报警等功能。系统初始化后,对酒精传感器进行加热,自动进入测量状态,然后采集酒精含量电压信号,与设定的精度浓度进行比较,如果高于这个醉驾浓度浓度,则显示该浓度,指示灯闪烁进行报警,如果高于酒驾浓度,蜂鸣器鸣响,进行报警,同时切断汽车的点火电路,驾驶人员不能发动汽车;如果低于这个浓度,则显示所测的酒精浓度,同时驾驶人员启动发动机。 4.2.1 采集模块软件设计 采集模块主要是获得酒精传感器采用旁热型半导体式酒精气敏元件MQ3以及通过信号调理放大电路、滤波电路处理过的数据,该部分主要通过PCF8591转换来完成数据的采集任务,采集的模拟参考电压采用片内的参考电压,数据采集的间隔时间通过定时器A来完成,就是在每次定时器A中断到来是读取A/D转换采集得到的数据,在读数据之前先停止A/D转换,在读取数据完毕后启动A/D转换,如果得到数据,则设置一个标志位主程序,告诉主程序已经得到新的数据。整个模块采用的中断服务程序的结构完成,图4-1为该模块的程序流程图,程序清单见附录II。 定时器中断来临 停止A/D转换 读取数据 启动A/D 设置标志 图4-1 采集模块软件流程图 4.2.2 显示模块 该部分主要是完成数据的显示功能,在硬件设计中,显示电路直接与单片机的数据I/O口进行连接。单片机的P2.0端口控制LCD液晶显示器的寄存器选择输入端RS,P2.1 陕西科技大学毕业论文(设计说明书) 26 端口控制LCD液晶显示器的的读写输入R/W端,P2.2端口控制LCD液晶显示器的读写使能端E;单片机的P0.0,P0.7端口控制LCD液晶显示器的DB0,DB7。源程序见附录II。 开 始 初始化 发送行地址 发送列地址Y 是否为忙, N 发送要显示的地址 结束 图4-2 显示模块软件流程图 4.2.3报警模块 报警模块包括初始化端口和数据产生两部分。血液中酒精浓度大于80mg/100ml时,报警器就会报警,由血液中酒精浓度与呼出气体浓度关系:BAC(in mg,L)=BrAC(in mg,L)x 2 200(BAC是血液酒精浓度的英文缩写,则是呼气酒精浓度的缩写,括号中的inmg,L表示以每升中多少毫克为单位),当检测到的酒精浓度达到0. 37mg/100ml时就会报警,报警阀值由主控模块控制。单片机的P1.5端口控制蜂鸣器,单片机的P1.5端口控制继电器,若达到预设浓度,蜂鸣器报警,继电器切断电路。报警模块源程序见附录II。 4.2.4主处理模块 主处理模块主要是将各个模块进行调谐处理和实现数据交互。主处理模块首先完成初始化工作,初始化后进入循环处理,再循环处理中主处理获得采集模块的数据,并将数据进行处理,根据处理后的结果来进行显示或者报警。由于的上限值需要设置,另外考虑到对数据的保存,因此主程序先检查门线是否在FLASH里面有,如果没有则进行 车载酒精测试仪设计 27 等待设置数据,设置完后才进入下一步处理,也就是在有设置数据的情况下才能正常运行。主处理模块流程图如图4-3所示。源程序见附录II。 开始 系统初始化 Y系统参数设置是否有中断? N 检测酒精浓度 是否大于预设值? Y 切断点火装置 N 报警 显示酒精浓度 低功耗状态 结束 图4-3 主控模块流程图 通过以上的软件设计,系统前端就可以把酒精传感器检测到的酒精含量信号经单片机判断后产生相应的控制信号以控制汽车点火电路,从而实现对酒后驾车的有效控制。 陕西科技大学毕业论文(设计说明书) 28 5总 结 这次毕业设计是对大学四年所学知识的一个很好地应用和总结,其中涉及到很多方面的专业知识。首先,我对51系列单片机的使用有了不同于以往的认识。从书本上的理论到现实中的硬件电路制作、软件编制以及软硬件调试,难度大大地增加。但是通过这一过程我对单片机的认识更加深刻,熟练掌握了单片机最小系统,单片机在进行外部存贮器的扩展时,用P0口做数据口,同时P0口通过地址锁存器,锁存低8位的地址信号,高8位的地址信号由P2口承担。通过单片机最小系统来设计相关电路,我熟练掌握了单片机的指令系统和相关扩展,在这对我今后从事该方面的学习工作是一个很好的基础。在酒精传感器的连接方面,需要添加调理放大电路,因为酒精传感器传出来的模拟信号不稳定,需要进行放大整形。在这方面的设计中,我选择了运算放大器和滤波器来连接电路,使我对模拟电路的知识再一次提高了认识。在电路的显示方面,我选择了LCD,因为LCD的显示比LED的显示更加全面。 在总体的软件设计方面,主处理模块首先完成初始化工作,初始化后进入循环处理,再循环处理中主处理获得采集模块的数据,并将数据进行处理,根据处理后的结果来进行显示或者报警。 与市面上大多数的酒精探测控制仪相比,我们设计的酒精探测控制仪是低功耗的,性价比更高,与普通的由51系列单片机为主控系统的酒精探测控制仪相比具有较好的的经济效益。应用主控模块输出的控制信号去控制LCD显示模块以及报警模块工作,使的产品性能稳定,便以安装容易操作。由于本系统安装在汽车上,自动测量、智能化程度高、功耗低,对预防酒后驾车具有很好的效果,在实际应用中具有很好的推广价值。 本文尽管对该课题做了一些研究工作,但还有很多为题需要进一步深入研究: 1、酒精检测的环境优化:本文在设计的过程中未考虑到环境的因素,可能会使检测的结果有误差。 2、软件优化:由于在初始状态下,由酒精传感器传入的电压为1V,换算到酒精浓度则为20mg/ml,本设计中未消除这个误差。 车载酒精测试仪设计 29 致 谢 通过几个月的设计,我的毕业设计已圆满完成。在此过程中,我得到了学校、老师和同学无私的帮助。正因为在他们的帮助下,我才能顺利的完成设计任务,在此我对他们表示由衷的感谢。 首先,感谢我的指导老师谭歆老师。谭老师从论文一开始方向的选定到最后整篇论文的完成都非常耐心的指导,他孜孜不倦的为我解答我的每一个疑问,给我提供了大量的资料,告诉我应该注意的细节问题,为我指出我的错误,他对课题的深刻见解使我受益匪浅。谭老师时常牺牲自己休息的时间来为我们辅导,记得有次谭老师连续为我辅导了三个小时,耽误了自己回家的时间。谭老师诲人不倦的工作作风,一丝不苟的工作态度,严肃认真的治学风格给我留下深刻的影响,值得我永远学习。在此,谨向导师谭歆老师致以崇高的敬意和衷心的感谢~ 感谢所有的代课老师,本文最终得以顺利完成,也是与其他老师的帮助分不开的,虽然他们没有直接参与我的论文指导,但也给我提供了不少的意见,提出了一系列可行性的建议,感谢他们教给我扎实的专业基础知识,如果没有他们传授的理论知识,我也没法上升到实践,从而将理论与实践相结合。在此向他们表示深深的感谢~ 与此同时,感谢我们组的其他几位同学,由于大家相互陪伴与鼓励,是他们营造了一个良好的学习氛围和环境,使我能顺利完成毕业设计任务,愿他们学业、事业都蒸蒸日上~ 感谢我的父母和家人,你们永远是我最坚强的后盾。每次想起你们,我总是充满了动力和信心,永远爱你们。 感谢我的大学的每一位同学,感谢你们在人生最重要的四年中陪我一起愉快地走过。从遥远的家来到这个陌生的城市,是你们在我失败时鼓励我,在我骄傲时提醒我,在我彷徨时安慰我,在我前进时支持我。我把最诚挚的谢意送给你们,同时也希望你们再接再厉,为了明天,加油~ 陕西科技大学毕业论文(设计说明书) 30 参 考 文 献 [1]陈丽.基于单片机的防酒后驾驶控制系统设计[J].传感器与微系统,2009年02期: 94-96. [2]朱泽飞,任志峰.基于ARM和MiniGUI的呼气式酒精测试仪研究[J].计算机测量与控制,2009年17期:1167-1170. [3]岳睿.警用呼气式酒精传感器的研究进展[J].化学传感器, 2006年09月,26 (3):6-11. [4]刘雨棣.单片机原理与接口技术[M].西安:西安电子科技大学出版社,2008. [5]李国忠,陈刚.单片机应用技能实训[M].北京:人民邮电出版社,2006. [6]胡大可.MSP430系列单片机C语言程序设计与开发[M]. 北京:北京航天航空大学出版社,2009. [7]胡大可.MSP430系列低功耗16位单片机原理与应用[M]. 北京:北京航天航空大学出版社,2009. [8]谭秋林,许姣.基于C8051F040酒精浓度测试仪的研究[J].传感技术学报,2009年10 期:1378-1381. [9]张俊谟.单片机中级教程——原理与应用[M].北京:北京航天航空大学出版社, 2006. [10]陈继德. 基于PIC16F877呼气式酒精测试仪的设计[J]. 中国仪器仪表,2005年01期 期:77-79. [11]李艳丽.温度采集报警系统的设计和实现[J]. 微计算机信息,2008年09期:150-152. [12]童诗白等. 模拟电子技术基础[M]. 北京:第四版.高等教育出版社,2006 . [13]安家文,刘玉平.一种小巧灵便的酒后驾车检测仪[J].河南机电高等专科学校学报,2004年09月,12(15):54-57. [14]谭浩强.C语言程序设计[M]. 北京:第2版.清华大学出版社,2001. [15]谌永华,刘沂玲.呼出气体酒精含量探测器检定装置的研制[J].中国计量,2006年第9期:49-50. [16]黎小桃, 刘祖明, 周福明(Protel 99 SE入门与提高[M] (北京:电子工业出版社,2009. [17]王东锋,王会良,董冠强(单片机C语言应用100例[M] (北京:电子工业出版社,2009. [18]兰吉昌(单片机C51完全学习手册[M](北京:化学工业出版社,2009. [19]吕俊芳, 钱政, 袁梅(传感器接口与检测仪器电路[M] (北京:国防工业出版社,2009. [20]赵阳(电磁兼容工程入门教程[M] (北京:机械工业出版社,2009. [21]Italian Conference on Sensors and Microsystems Di Natale, C. Proceedings of the 7th Italian Conference :sensors and microsystems : Bologna, Italy, 4-6 February 2002 [M]. Singapore ;River Edge, N.J. :World Scientific,c2002. 车载酒精测试仪设计 31 [22]杨居义,马宁,靳光明. 单片机原理与工程应用[M].北京:清华大学出版社,2009. [23]梅丽凤,王艳秋等. 单片机原理及接口技术[M].北京:清华大学出版社,北京交通大学出版社,2004. [24]陈忠平,曹巧媛等. 单片机原理及接口[M].北京:清华大学出版社,2007. [25]段晨东,张文革等. 单片机原理及接口技术[M]. 北京:清华大学出版社,2008. [26]朱蕴璞.传感器原理及应用[M]. 北京:国防工业出版社,2005. [27]李宗睿,许振忠,王俊红. 主动呼吸式酒精探测仪[J].北华航天工业学院学报,2009年第5期15-17. [28]杨文斌.车载酒精锁[J].山西电子技术.2010年第03期91-94. [29]李丽华,黄秋野,王琦.基于单片机的酒精浓度检测仪[J].科技广场.2009年第03期166-168. 陕西科技大学毕业论文(设计说明书) 32 附录? 总体电路图 车载酒精测试仪设计 33 附录? 程序 #include //文件头 #include #define PCF8591 0x90 //PCF8591 地址 #define uchar unsigned char //1602引脚定义 sbit RS = P2^6; //复位端 sbit RW = P2^5; //写数据端 sbit EN = P2^7; //使能端 sbit beep=P1^5; sbit dian=P1^4; /*************************此部分为I2C总线的驱动程************************/ #define _Nop() _nop_() /*定义空指令*/ sbit SCL=P2^1; //I2C 时钟 sbit SDA=P2^0; //I2C 数据 bit ack; /*应答标志位*/ void delay(unsigned int i) { unsigned char j; for(i; i > 0; i--) //循环 600*255 次 for(j = 255; j > 0; j--); } /******************************************************************* 起动总线函数 函数原型: void Start_I2c(); 功能: 启动I2C总线,即发送I2C起始条件. ********************************************************************/ void Start_I2c() 陕西科技大学毕业论文(设计说明书) 34 { SDA=1; /*发送起始条件的数据信号*/ _Nop(); SCL=1; _Nop(); /*起始条件建立时间大于4.7us,延时*/ _Nop(); _Nop(); _Nop(); _Nop(); SDA=0; /*发送起始信号*/ _Nop(); /* 起始条件锁定时间大于4μs*/ _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; /*钳住I2C总线,准备发送或接收数据 */ _Nop(); _Nop(); } /******************************************************************* 结束总线函数 函数原型: void Stop_I2c(); 功能: 结束I2C总线,即发送I2C结束条件. ********************************************************************/ void Stop_I2c() { SDA=0; /*发送结束条件的数据信号*/ _Nop(); /*发送结束条件的时钟信号*/ SCL=1; /*结束条件建立时间大于4μs*/ _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; /*发送I2C总线结束信号*/ 车载酒精测试仪设计 35 _Nop(); _Nop(); _Nop(); _Nop(); } /******************************************************************* 字节数据发送函数 函数原型: void SendByte(UCHAR c); 功能: 将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对 此状态位进行操作.(不应答或非应答都使ack=0) 发送数据正常,ack=1; ack=0表示被控器无应答或损坏。 ********************************************************************/ void SendByte(uchar c) { uchar BitCnt; */ for(BitCnt=0;BitCnt<8;BitCnt++) /*要传送的数据长度为8位 { if((c<0;b--) for(a=3;a>0;a--); } bit lcd_busy() { bit result; RS = 0; RW = 1; EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0&0x80); EN = 0; return result; } void lcd1602write_dat(uchar dat) //写数据 { while(lcd_busy()); RS = 1; RW = 0; EN = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); 陕西科技大学毕业论文(设计说明书) 40 EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); EN = 0; } void lcd1602write_com(uchar com) //写指令 { while(lcd_busy()); RS = 0; RW = 0; EN = 0; _nop_(); _nop_(); P0 = com; _nop_(); _nop_(); _nop_(); _nop_(); EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); EN = 0; } void lcd1602init() //初始化 { lcd1602write_com(0x38); //16*2显示,5*7点阵,8位数据接口 lcd1602write_com(0x0c); //显示开,不显示光标 lcd1602write_com(0x06); //写一个字符后地址指针自动加1 lcd1602write_com(0x01); //显示清屏 } //写字符串到LCD1602 车载酒精测试仪设计 41 //add地址,*str字符串,nums字符串个数 void lcd1602write_str(uchar add,uchar *str,uchar nums) { uchar i; lcd1602write_com(add); for(i=0;i=limit1) { P3=0x00; delay(60); //调用延时程序 P3=0xff; delay(60); //调用延时程序 } if(nongdu>=limit2) //若实际浓度超过报警浓度 { TR0=1; dian=0; //开定时器报警 } else //实际浓度没有超过报警值 { 车载酒精测试仪设计 43 TR0=0; //关闭定时器0 beep=1; dian=1; //关闭蜂鸣器 } } } void Timer0Interrupt(void) interrupt 1 //定时器0中断函数 { uchar num; TH0 = 0x3C; TL0 = 0xB0; num++; if(num==10) //到达500MS { num=0; beep=~beep; //蜂鸣器滴滴叫 } }
/
本文档为【【毕业设计】车载酒精测试仪的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索