酒精超标自动报警器.docx
《酒精超标自动报警器.docx》由会员分享,可在线阅读,更多相关《酒精超标自动报警器.docx(23页珍藏版)》请在冰豆网上搜索。
![酒精超标自动报警器.docx](https://file1.bdocx.com/fileroot1/2023-6/8/7cb2d199-af30-4d4e-b5d7-d98fb49f7cd9/7cb2d199-af30-4d4e-b5d7-d98fb49f7cd91.gif)
酒精超标自动报警器
第一章绪论
1.1酒精超标自动报警器概述
近年来,随着我国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频繁发生。
世界卫生组织的事故调查显示,大约50%-660%的交通事故与酒后驾驶有关,酒后驾驶已被列为车祸致死的主要原因。
喝酒时酒精的刺激使人兴奋,在不知不觉中就会喝多,当酒精在人体血液内达到一定浓度是,麻痹神经,造成大脑反应迟钝,肢体不受控制等症状。
人对外界的反应能力及控制能力就会下降,处理紧急情况的能力也随之下降。
对于酒后驾车者而言,其血液中酒精含量越高,发生交通事故的几率越大。
为了避免交通悲剧的发生,一种有效地提醒民众防止酒后驾驶的系统的出现就成了现实中的迫切要求。
目前国际公认的酒后驾车的限定有两种,一种是酒后驾车,一种是酒醉驾车。
根据我国2003年的修订规定,当驾驶者每毫升血液中酒精含量大于或等于0.2mg时,就会被认定为酒后驾车;大于或等于0.8mg时,则会被认定为醉酒驾车。
当驾驶者血液中酒精含量达到80mg/100ml时,发生交通事故的几率是血液中不含酒精时的2.5倍;达到100mg/100mg时,发生交通事故的几率是血液中不含酒精时的4.7倍。
即使在少量饮酒的状态下,交通事故的危险也可达到未饮酒状态的2倍左右。
随着公安部五条禁令的公布,酒精检测仪的需求逐渐增加。
目前,酒精检测仪组要还是电化学性质的。
在形式上组要有如下两种:
一种是发光管显示;一种是数码显示。
发光管显示一般常见的分为三段显示:
一段为未饮酒区;一段为饮酒区;一段为酗酒区。
根据测试的情况,相应的指示灯被点亮。
另一种是数显式酒精检测仪,检测的结果直接一数字的形式显示出来。
而本课题正是要利用单片机知识制作一种报警和显示器,用来同时实现上述两种功能。
此报警器利用酒敏传感器,测量空气中酒精浓度,通过A/D转换和单片机分析控制,使LED数码管实时显示浓度值,不同颜色LED灯显示空气中酒精浓度的范围,一旦超过阈值即蜂鸣器报警同时红灯亮。
此设计如果直接装在车内,可以及时提醒驾驶者不要酒后驾车;如果交警使用可以及时制止酒后驾车,减少交通事故。
1.2本文研究内容
本文的主要任务是设计一种酒精浓度自动报警器,通过对空气中酒精浓度的采集,A/D转换器的转换,单片机的分析,最后显示接口显示空气中的酒精浓度,同时LED彩灯会相应点亮,当达到或超过阈值时启动蜂鸣报警器。
本设计实现了发光管和数码管同时显示,能更加精确的确定空气中的酒精浓度。
本文设计任务及要求:
设计一个酒精超标自动报警器,具有以下功能:
1、实时测量并通过3位数码管显示酒精浓度值;
2、酒精含量<20mg/100ml时,安全灯(绿色LED灯)亮;
3、20mg/ml≤酒精含量≤80mg/ml时,警告灯(黄色LED灯)闪烁;
4、80mg/ml≤酒精含量时,危险灯(红色LED灯)闪烁,蜂鸣器报警;
5、酒精含量测试范围:
0~190mg/100ml;
6、测量精度优于0.5%;
第二章CPU最小系统设计
单片机最小系统的,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对89系列单片机来说,最小系统一般应该包括:
单片机、电源电路、晶振电路、复位电路、按键输入和显示输出等。
2.1酒精超标件自动报警器总体设计方案
本设计采用自动检测技术和计算机技术,对人呼出的酒精气体的质量浓度进行自动测量、自动显示,并给出彩灯提示和LED数码管显示。
电路结构主要由酒敏传感器、测量电路、模数转换电路、单片机、驱动显示器等部分组成,系统框图如图2-1所示。
具体的工作过程是:
呼出气体中的酒精质量浓度信号经酒精传感器采样电路转换为0~3V的电压信号,并且该电压信号的大小与气体中的酒精质量浓度大小成正比,经过A/D转换后将数字信号传送给单片机,经单片机内部的一些运算,比较程序处理后输出给LED显示。
图2-1总体框图
1、酒精质量浓度信息:
指空气中的酒精的实际浓度。
2、酒敏传感器:
感应空气中的酒精气体,并将其转换成电压信号。
3、测量电路:
包括采样电路,对传感器输出的微弱信号进行采集和处理。
4、ADC0804:
又称模数转换器,将传感器输出的模拟量转换成数字量。
5、LED灯:
分为红黄绿三种颜色的灯,用来显示不同的酒精浓度。
6、数码管显示:
用来显示具体的酒精浓度。
2.2CPU的选择
本设计采用ATMEL公司生产的AT89S52单片机,AT89S52是一种低功耗,高性能CMOS8位单片机,性价比非常高,采用ATMEL高密度非易失存储器制造技术制造,与工业标准MOS-51指令集和输出管脚相兼容,且片内含有8k的可系统编程的Flash只读程序存储器,256字节的内部RAM,32个I/O口线,三个十六位定时计数器等,如图2.2所示。
图2.289S52芯片
2.3复位电路设计
复位操作可以使单片机初始化,也可以使死机状态下的单片机从新启动,因此非常重要。
单片机的复位都是靠外部复位电路来实现的,在时钟电路工作后,只要在单片机的RESET引脚上出现两个机械周期以上的高电平,单片机就能实现复位。
为了保证系统可靠的复位,在设计复位电路时,一般使RESET引脚保持10ms以上的高电平,单片机便可以可靠的复位。
复位电路中电阻电容的值是根据复位信号的有效脉冲的宽度来计算电容电阻的取值的,也就是说,假设,单片机高电平复位,而高电平至少要持续10ms才有效,就要根据这个时间来设置电容电阻的值。
假设高电平复位有效,一充一放周期是1.386*RC,舍去充放过程中较低的电平,一般的单片机复位脉冲宽度取值:
大概为(0.7~1)RC,其周期为复位脉冲宽度的倒数,因此可以根据周期确定相应的电容电阻值。
其中R1可以为0,因为R1的作用是为了防止电流过大,保护电路。
如果想单片机工作快一点的话就减少电阻的值或者减少电容的值;想单片机工作慢一点的话就加大电阻的值或者加大电容的值。
图2.3复位电路
2.4时钟电路设计
计算机在工作时,是统一的时钟脉冲控制下一拍一拍的进行的。
这个脉冲是有单片机控制器中的时序电路发出的。
时钟电路用与产生单片机工作所需要的时钟信号。
时钟信号可以由两种方式产生:
内部时钟方式和外部时钟发方式。
本设计采用内部时钟方式。
在AT89S52内部有一个高增益反向放大器,用于构成片内振荡器,引脚XTSL1和XTAL2分别是此放大器的输入和输出端。
在XTSL1和XTAL2;两端接一个晶振,就构成了稳定的自激振荡器,其输出的脉冲直接送进内部时钟发生器。
电容C1和C2通常选择30uf左右,可稳定频率并对振荡频率有微调的作用,输出震荡范围是0~24MHZ。
图2.4振荡电路
2.5CPU最小系统
CPU最小系统是单片机运行工作起来所必需的最基本电路组成。
它包括电源电路、时钟电路、复位电路。
最小硬件电路组成见图2-5。
1、电源电路:
向单片机供电。
其中VCC接+3V,GND接地。
AT89S52单片机的工作电压范围为4V~5.5V,所以通常外接5V直流电源。
2、时钟电路:
又称为振荡电路,是单片机工作的时间基准,决定单片机工作速度。
3、复位电路:
确定单片机工作的初始状态,完成单片机的启动过程。
图2-5最小硬件电路框图
其电路图见图2.6
图2.6单片机最小系统电路图
第三章酒精超标自动报警器输入输出口电路设计
3.1酒精超标自动报警器传感器的选择
对于传感器的选择主要从一下几个方面:
1、根据测量对象与测量环境确定传感器的类型2、灵敏度的选择3、频率响应特性4、线性范围5、稳定性6、精度7、输出形式。
其中输出信号的处理方法表3-1。
表3-1输出信号的处理方法
输出形式
输出变化量
传感器的举例
开关信号型
机械触点
双金属温度传感器
模拟信号
电子开关
霍尔开关式集成传感器
电压
热电偶、磁敏元件、气敏元件
电流
光敏二极管
电阻
热敏电阻、应变片
电容
电容式传感器
电感
电感式传感器
其它
频率
多普勒速度传感器、谐振式传感器
由于设计要求为酒精超标检测,所以检测对象为酒精气体,检测范围广,要求有较高的灵敏度和稳定输出的能力。
对照表3.1可知,输出变量为电压。
传感器的输出信号一般比较微弱,有的传感器输出电压最小仅有0.0001V需要加放大电路。
本设计采用的传感器为TP-3型酒敏传感器。
该敏感元件由纳米级SnO2及适当掺杂混合剂烧结而成,具微珠式结构,应用电路简单,可将传导性变化改变为一个输出信号,与酒精浓度相对应。
TP-3型传感器对空气中的低浓度酒精有极高的灵敏度。
采用微处理程序及专门软件来处理传感器的控制信号。
这种传感器具有无需加热、功耗极低、检测范围广、灵敏度高、反应快、寿命长、价格低、体积小、应用电路简单等特点,对空气中的低质量浓度酒精有极高的灵敏度。
采用微处理程序及专门软件来处理传感器的控制信号,检范围为(50~10000)×10-6,电路电压为6V直流电压,负载电阻51Ω,功耗小于120mW,电流小于20mA。
酒敏传感器的硬件连接及采样电路图如图3.2所示,传感器的加热丝及电阻均接5V电压,在上电后加热丝会发热,这时传感器开始工作,如果有酒精气体通过传感器上的金属网,其电阻变小,在原始状态下,传感器的电阻经测量可达到20kΩ以上。
传感器的电阻跟酒精质量浓度成反比关系,质量浓度越大电阻越小,这样由于分压,ADC0809信号输入引脚IN0上的电压就越大,所以IN0上的电压跟酒精质量浓度成正比关系。
通过调节可变电阻,输出电压范围在0.3~3.0V之间,电压变化范围大约为2.7V。
3.2酒敏传感器采样电路图
3.2酒精超标自动报警器检测接口电路设计
传感器输出信号经采样电路输出电压信号,到模数转换器转换成相应的数字信号在将数字信号给单片机。
3.2.1 A/D转换器的选择
A/D转换其的主要技术指标包括分辨率(位数)、量化误差、转换精度和转换时间。
根据本文设计的技术参数要求,1、酒精含量测试范围:
0~190mg/100ml;2、测量精度优于0.5%。
从精度方面考虑方案如下:
方案一:
用8位的A/D转换器,其测量精度为0.39%
方案二:
用12位的A/D转换器,其测量精度为0.02%
从测量精度的方面考虑都符合要求。
从A/D转换器的分类方面考虑方案如下:
1、逐次比较式A/D转换器:
转换时间一般在μs级,转换精度一般在0.1%上下,适用于一般场合。
2、积分式A/D转换器:
其核心部件是积分器,因此转换时间一般在ms级或更长,但抗干扰性能强,转换精度可达0.01%或更高。
适于数字电压表类仪器采用。
3、并行比较式又称闪烁式:
采用并行比较,其转换时间可达ns级,但抗干扰性能较差,由于工艺限制,其分辨率一般不高于8位。
可用于数字示波器等要求转换速度较快的仪器中。
4、改进型是在上述某种形式A/D转换器的基础上,为满足某项高性能指标而改进或复合而成的。
例如余数比较式即是在逐次比较式的基础上加以改进,使其在保持原有较高转换速率的前提下精度可达0.01%以上。
基于以上比较,综合性价比,选择8为主次逼近式A/D转换器:
ADC0809ADC0804
ADC0809的功能是将输入模拟量转换为与其成正比例的数字量,它具有8路模拟输入端口,地址线可决定对哪一路模拟输入做AD转换.
ADC0804的功能与ADC0809基本相同,不同点在于它有一路输入。
对于本设计的要求是有一路的输入信号,所以从性价比的方面考虑选择ADC0804更优。
(图3.3AD0804引脚图)
图3.3ADC0804引脚图
ADC0804是用CMOS集成工艺制成的逐次比较型摸数转换芯片。
分辨率8位,转换时间100μs,输入电压范围为0~5V,增加某些外部电路后,输入模拟电压可为5V。
该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线
CS、RD、WR:
是数字控制输入端,满足标准TTL逻辑电平。
其中CS和WR用来控制A/D转换的启动信号。
CS、RD用来读A/D转换的结果,当它们同时为低电平时,输出数据锁存器Db0~Db7各端上出现8位并行二进制数码。
CS=0时,允许进行A/D转换。
WR由低跳高时A/D转换开始,8位逐次比较需8×8=64个时钟周期,再加上控制逻辑操作,一次转换需要66~73个时钟周期。
在典型应用fCLK=640KHZ时,转换时间约为103μs~114μs。
当fCLK超过640KHZ,转换精度下降,超过极限值1460KHZ时便不能正常工作。
ADC0804数据输出线与AT89S52的数据总线直接相连,AT89S52的RD、WR和INT1直接连到ADC0804,由于用P1.0线来产生片选信号,故无需外加地址译码器。
当AT89S52向ADC0804发WR(启动转换)、RD(读取结果)信号时,只要虚拟一个系统不占用的数据存储器地址即可。
3.3.2分频电路
由于ADC0804最高输出频率为640KHZ而单片机的时钟频率为12MHz,单片机的ALE端口输出的时钟频率为2MHz,所以必须对2MHz进行四分频。
本文采用一片74LS74将CLK端输入的信号进行四倍分频,使输出信号频率满足要求。
在TTL电路中,比较典型的d触发器电路有74LS74。
74LS74是一个边沿触发器数字电路器件,每个器件中包含两个相同的、相互独立的边沿触发d触发器电路。
见图2.4。
图2.474LS74
边沿D触发器在上升沿时输出发生跳变。
SD和RD接至基本RS触发器的输入端,它们分别是预置和清零端,低电平有效。
当CLK时钟信号输入时,D触发器开始工作,输出信号实现了二倍分频,再将第一片的输出信号作为第二片的时钟信号输入,在经D触发器进而实现了四倍分频。
工作原理图见图2.5
图2.5分频电路的工作原理图
3.2.3模拟量检测接口电路图
图2.6AD转换器的设计接口电路图
3.3酒精超标自动报警器输出接口电路设计
输入信号经单片机分析处理后输出想应的控制信号,控制LED灯不同颜色的点亮、蜂鸣器是否报警、LED数码管显示具体的酒精浓度值。
3.3.1LED灯和蜂鸣报警器
当酒精含量<20mg/100ml时,安全灯(绿色LED灯)亮;
当20mg/ml≤酒精含量≤80mg/ml时,警告灯(黄色LED灯)闪烁;
当80mg/ml≤酒精含量时,危险灯(红色LED灯)闪烁,蜂鸣器报警。
其电路图见图3.1
图3.1LED灯和蜂鸣报警器
在蜂鸣报警器电路中,三极管可以选择NPN型也可以选择PNP型的。
由于单片机工作电压为高电平,所以如果选择NPN型只要单片机工作三极管就会导通,同时蜂鸣报警器响。
所以要选择PNP型只有在满足条件下蜂鸣报警器才会响。
其中二极管能实现回流,对电路起到保护作用。
LED灯电路中,三个发光二极管分别显示红、黄、绿三种颜色,串联的电阻其保护作用。
3.3.2LED七段数码管
接通单片机电源,3个七段数码管显示周围酒精浓度一旦酒精浓度。
LED显示器有静态显示和动态显示两种显示方式。
1、LED静态显示方式:
所谓静态显示,就是当显示器显示某一字符时,相应段的放光二极管恒定导通或截至,并且显示器的各位可同时显示。
静态显示时,较小的驱动电流就能得到较大的显示亮度。
但是要求每一个数码管都要接8根I/O,占用的I\O口线资源较多。
2、LED动态显示方式;所谓动态显示就是一位一位的轮流点亮显示器的各个位,对于显示的每一位而言,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
在多位LED显示时通常将所有位的段选线并联在一起,由一个8位I/O控制,形成段选线的多路复用。
本设计采用静态的LED显示,见图3.2。
在本次设计中由于无需小数点显示,所以就用了其中的7个输入口和7个输出口,第3和第8引脚均接地。
图3.2LED静态显示原理图
其中LED显示块有共阴极和共阳极两种,本设计采用共阴极,见图3.3。
图3.3共阴极原理图
3.3.3输出量显示接口电路
在驱动器输出端和七段译码显示器输入端之间加了7个430Ω的保护电阻,驱动器输入端与单片机的P00至P06端相连,由其提供驱动信号。
在单片机中设置了相关的程序,根据信号采集电路提供的信号强弱来做出相应的显示。
电路图见图3.4。
图3.4输出接口电路图
第4章酒精超标自动报警器的软件设计
4.1软件实现的功能综述
软件方案主要包括数据采集、数据处理、显示、声光报警等子程序。
仪器开机后经初预热阶段后测量结果。
测量时数据采集程序把数据送入ADC0804转换器,进行A/D转换。
转换后的结果送入AT89S52单片机,由数据处理程序完成数据间的转换和数制间转换。
当测量数据超过阈值时报警子程序启动,发出声光报警。
软件主程序流程图酗酒报警器的软件采用S52汇编语言编写,使用模块化设计,层次分明,功能强,易于调试,具有很强的可扩充性和较强的可靠性。
系统程序主要完成A/D转换、数码显示、语音报警等功能。
由于酒敏传感器测软件对酒敏传感器的测量信号进行A/D转换,将测量数值与规定标准进行比较后判断饮酒程度,对不同等级的饮酒程度调用相应的显示、报警程序。
该程序实现了显示周围空气中酒精浓度值,通过不同颜色的灯亮来判断是否达到阈值,超过阈值时启动蜂鸣报警器。
4.2流程图设计
4.2.1主流程图设计
图4-1主程序流程图
4.2.2模拟量检测流程图
图4-2ADC0804单次采样流程图
4.2.3中断的流程图
图4-3中断流程图
4.2.4LED七段数码管显示的流程图
图4-4LED七段数码管显示流程图
4.2.5LED灯闪烁点亮流程图
设置:
在显示时LED灯中的发光二极管每秒闪烁两次,晶振频率为12MHZ。
经计算可知:
取T0定时50ms,计数10次可实现。
计算定时初值:
T0=216-50000us÷1us=65536-50000=15536=3CBOH
TH0=3CH;TL0=B0H.
所以,TMOD为00000001B=01H
图4-5LED灯闪烁的流程图
4.2.6延时
延时时间=(2T×R6+3T)×R7+1×T
其中T为指令的机器周期,R6为内循环次数,R7为外循环次数。
延时50ms的程序清单:
DEL:
MOVR7,#100
LOOP2:
MOVR6,#248
LOOP1:
MOVR6,LOOP1
NOP
DJNZR7,LOOP2
RET
第5章课程设计总结
本设计应用现代自动检测技术,采用合适的传感器对酒精质量浓度进行检测,并对传感器输出的信号进行处理,最终进行显示和报警,达到自动检测的目的。
该报警器基于单片机设计,具有体积小、使用方便的特点,具有较高的实用价值,可以广泛推广应用。
参考文献
[1]姜永华,李峥.一种基于ADC0804芯片的DDS技术实现方法[J].宇航计测技术,2005,25(3):
6-9.(丁云编发)
[2]张伟.单片机原理及应用[M].北京:
机械工业出版社,2002.
[3]施文康.检测技术[M].北京:
机械工业出版社,2002.
[4]梅丽凤,王艳秋,任国臣等.单片机原理及接口技术[M].北京:
清华大学出版社,2009.2.
[5]赵晶,Prote199高级应用[M].北京:
人民邮电出版社,2008.8.
[6]张国雄,测控电路[M].北京:
机械工业出版社,2008.1.
附录1
附录2
A/D转换程序清单如下:
START:
MOVR0,#30H
MOVR6,#01H
MOVR7,#01H
CONV1:
MOVDPTR,#7FF8H
CONV2:
MOVX@DPTR,A
MOVR5,#OAH
DLX:
DJNZR5,DLX
WAIT:
JBP3.3,WAIT
MOVXA,@DPTR
MOV@R0,A
MOVR6,#01H
ACALLDATADSP
LJMPSTART
LED数码管工作的程序清单:
ORG0000H
SRART:
MOVDPTR,#TABLE
S1:
MOVA,#00H
MOVCA,@A+DPTR
CJNEA,#01H,S2
LJMPS1
S2:
MOVPP0,A
LCALLDELAY
INCDPTTR
LJMPS1
DELAY:
MOVR5,#20
D2:
MOVR6,#20
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
DJNZR5,D2
RET
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,OF8H,80H,90H,DB,O1H
END
灯闪烁的程序清单:
ORG0000H
LJNPMALN
ORG000H
LJMPITO
ORG0100H
MALN:
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#OBOH
MOVR7,#0AH
SETBTRO
SJMP$
延时50ms的程序清单:
DEL:
MOVR7,#100
LOOP2:
MOVR6,#248
LOOP1:
MOVR6,LOOP1
NOP
DJNZR7,LOOP2
RET