基于单片机的酒精浓度检测系统.docx
- 文档编号:25011825
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:46
- 大小:1.41MB
基于单片机的酒精浓度检测系统.docx
《基于单片机的酒精浓度检测系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的酒精浓度检测系统.docx(46页珍藏版)》请在冰豆网上搜索。
基于单片机的酒精浓度检测系统
摘要
随着经济的快速发展,私家车数量增长迅速,但酒后驾驶、醉酒驾驶导致的交通事故比例在不断增加,给人民的生命财产造成巨大的损失。
为了预防和减少交通事故的发生,设汁了一种基于单片机的酒精浓度检测系统,本设计釆用MQ-3气敏传感器采集气体相关数据,经过酒精浓度传感器模块进行调制和数据转化处理,最后将数据传送给单片机进行A/D转换和执行相应的功能。
具有液晶实时显示气体中酒精浓度,通过按键进行阀值设定,超过设定的阀值会发光报警等功能。
关键词:
单片机;酒精浓度检测系统;气敬传感器
Abstract
Withtherapideconomicdevelopment,thenumberofprivatecarsisgrowingrapidly,buttheproportionoftrafficaccidentsofdrunkdriving,drunkdrivingcauseisincreasing,causinghugelossestothelivesandpropertyofthepeople・Inordertopreventandreducetheoccurrenceoftrafficaccidents,designedakindofalcoholconcentrationdetectionsystembasedonsinglechip,usingtherelevantdataofMQ-3gassensorscollectgasinthisdesign,modulationanddataconversiontreatmentafteralcoholconcentrationsensormodule,thedataistransmittedtotheMCUA/Dconversionandexecutesthecorrespondingfunction.Aliquidcrystaldisplaythealcoholconcentrationinair,forthreshoIdsetbythekey,morethanthesetthresholdvaluewillbeluminousalarmfunction.
Keywords:
singlechipmicrocomputer;alcoholconcentrationdetectionsystem;gassensor
第一章前言1
1.1概述1
2.1总体方案设计2
2.2单片机系统总体设计2
2.3芯片简介3
2.3.1STC12C5A16AD单片机3
2.3.2MQ-3酒精传感器5
2.3.3EEPR0M-24C02阀值存储芯片9
2.3.4LCD1602显示模块12
第三章硬件电路设计16
3.1主程序/CPU模块16
3.2AT24C02阀值存储模块16
3.3MQ-3传感器调理电路17
3.4LCD液晶显示模块18
3.5按键单元设计18
第四章系统软件设计19
4.1主程序设计19
4.2LCD1602显示程序设计20
4.324C02阀值存储程序设计20
4.4系统调试20
总结21
致谢错误!
未定义书签。
参考文献22
附录23
第一章前言
1.1概述
随着经济的高速发展,更多的人拥有私家车,而且近儿年的增长率在不断提高,酒后驾车造成的交通事故也频繁发生,占据交通事故的很大比重。
在中国,每年山于酒后驾车引发的交通事故达数万起,其危害触LI惊心,已成为交通事故的第一大“杀手”。
饮酒后酒精在人体血液内达到一定浓度时,会产生麻痹神经、大脑反应迟缓、肢体不受控制等症状。
人对外界的反应能力及控制能力都会下降,处理紧急情况的能力也随之下降。
对于酒后驾车者而言,其血液中酒精含量越高,发生交通事故的儿率越大。
酒后驾车发生事故的机率高达27%。
随着摄入酒精量的增加,选择反应错误率显著增加,当血液中酒精含量山0.5%。
增至1%。
发主车祸的可能性便增加3倍,如果增至1.5%0,可能性再增加6倍。
机动车驾驶人员“酒后驾车”及“醉酒驾车”极易发生道路交通事故,严重危害了道路交通安全和人民生命财产安全。
根据世界卫组织的事故调查,大约50%-69%的交通事故与酒后驾驶有关,酒后驾驶已经被列为车祸致死的主要原因。
人饮酒后,酒精通过消化系统被人体吸收,经过血液循环,约有90%的酒精通过肺部呼气排出,因此测量呼气中的酒精含量,就可判断其醉酒程度。
开车司机只要将嘴对着传感头使劲吹气,仪器就能发上显示出酒精浓度的高低,从而判断该司机是否酒后驾车,避免事故的发生。
最理想的办法是将酒精检测系统应用在机动车内,司机一进入车内检测仪就检测司机的酒精含量,如果超出允许值,机动车系统控制引擎无法启动,这样就可从根本上解决酒后驾车问题。
为了实现对人权的尊重,对生命的关爱,使更多人的生命权、健康权及幸福美满的家庭能得到更好的保护,需要设计一种智能的酒精检测系统能够检测驾驶员体内酒精含量。
本论文研究的是一种以气敬传感器和单片机为主,监测酒精浓度,并具有显示和报警功能的基于单片机的酒精检测系统。
酒精检测系统在生产生活中也有重要的应用,比如,在一些环境要求严格的生产车间,用这种酒精浓度探测仪,可随时检测车间内的酒精气体浓度,当酒精气体浓度高于允许限定值时,发出警报、提醒,有着相当的前景和意义。
第二章总体方案设计
2.1总体方案设计
本设计研究的是一种以曲-3型气敏传感器和STC12C5A16AD单片机为主,并具有灯光报警及LCD1602来实时显示数据功能的酒精浓度检测系统。
其可检测出空气环境中酒精浓度值,并需要根据不同环境不同驾驶员的水平设置不同的阈值,对超过的阈值进行灯光报警,来提示危害。
所以需要增设键盘控制模块实现人机交互功能,超过阈值进入灯光报警功能。
如下框图2-1
独立按键
图2-1系统结构框图
2.2单片机系统总体设计
当启动该系统时,气敬传感器检测到酒精气体信号,然后对气敬传感器的输出信号进行调制,最后经过STC12C5A16AD单片机内部的A/D转换部分进行模数转换。
单片机对转换后的数字信号进行相应的处理,将数据通过液晶显示出来,酒精浓度超过设定的阀值也会发出灯光报警提示。
各个单元进行模块化设计,以单片机为核心进行整合使整个系统达到预期的结果。
2.3芯片简介
本设计采用了STC12C5A16AD单片机、MQ-3酒精传感器、AT24C02、LCD1602等芯片.
2.3.1STC12C5A16AD单片机
STC12C5A16AD是宏晶科技生产的新一代8051单片机,包含有中央处理器
(CPU)、程序存储器(FLASH)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶振振荡等模块,儿乎包含了数据采集和控制中所需的所有单元模块。
STC12C5A16AD单片机相比传统C51功能更加强大,有些特殊功能寄存器被扩展为专用的特殊寄存器。
其引脚图和内部结构如图2-3所示:
STC12C5A16AD的具体功能特性如下:
1、高速:
1个时钟/机器周期,增强型8031内核,速度比普通8051快8〜12倍
2、宽电压:
5.5〜3.3V,2.2〜3.6V(STC12LE5A60S2系列)
3、增加第二复位功能脚(高可幕复位,可调整复位门槛电压,频率〈12MHz时,无需此功能)
4、增加外部掉电检测电路,可在掉电时,及时将数据保存进EEPR0M,正常工作时无
需操作EEPR0M
低功耗设计:
空闲模式,(可由任意一个中断唤醒)
5、低功耗设计:
掉电模式(可由外部中断唤醒),可支持下降沿/上升沿和远程唤醒
6、工作频率:
0〜35MHz,相当于普通8051:
0〜420MHz
7、时钟:
外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置
8、8/16/20/32/40/48/52/56/60/62K字节片内Flash程序存储器,擦写次数10万次以上
9、1280字节片内RAM数据存储器
10、芯片内EEPROM功能,擦写次数10万次以上
11、ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器
12、8通道,10位高速ADC,速度可达25万次/秒,2路PWM还可当2路D/A使用
13、2通道捕获/比较单元(PWM/PCA/CCP),
也可用来再实现2个定时器或2个外部中断(支持上升沿/下降沿中断)
14、4个16位定时器,兼容普通8051的定时器T0/Tl,2路PCA实现2个定时器
15、可编程时钟输岀功能,T0在P3.4输出时钟,T1在P3.5输出时钟,BRT在
P1.0输出时钟
16、硬件看门狗(WDT)
17、高速SPI串行通信端口
18、全双工异步串行口(UART),兼容普通8051的串口
19、先进的指令集结构,兼容普通8051指令集,有硬件乘法/除法指令
20、通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)
可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏
21、每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过100mA
STC12C5A16AD的引脚说明:
单片机釆用40引脚的双列直插封装方式。
图3-2为引脚排列图,40条引脚说明如下:
1)主电源引脚Vss和Vcc
2)外接晶振引脚XTAL1和XTAL2
3)控制或与其它电源复用引脚RST,ALE和NA
4)输入/输出引脚P0.0〜P0.7,P1.0〜Pl.7,P2.0〜P2.7,P3.0〜P3.7
(1)P0口(P0.0〜P0.7)是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
(2)P1口(P1.0〜P1.7)是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
(3)P2口(P2.0〜P2.7)是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
(4)P3口(P3.0〜P3.7)是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送岀高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
2.3.2MQ-3酒精传感器
半导体酒精传感器MQ-3所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO:
)o当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
曲-3气体传感器对酒精的灵敬度高,可以抵抗汽油、烟雾、水蒸气的干扰。
这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的低成本传感器。
其主要用于机动车驾驶人员及其他严禁酒后作
业人员的现场检测;也用于其他场所乙醇蒸汽的检测。
曲-3传感器模块具有的特点:
1.具有信号输出指示
2.双路信号输出(模拟量输出及TTL电平输出)
3.模拟量输出0-5V电压,浓度越高电压越高
4.对乙醇蒸汽具有良好的选择性和很高的灵敏度
5.具有长期的使用寿命和可靠的稳定性
6.快速的响应恢复特性
HQ-3的性能参数
1)MQ-3标准工作条件表
表2-3MQ-3标准工作条件表
符号
参数名称
技术条件
备注
Vc
回路电压
W15V
ACorDC
v:
_:
加热电压
5.0V±0.2V
ACorDC
Rl
负载电阻
可调
&
加热电阻
31Q±3Q
室温
Ph
加热功耗
W900mW
2)MQ-3工作环境环境条件表
表2-4MQ-3工作环境环境条件表
符号
参数名称
技术条件
备注
Tao
使用温度
-10°C-50°C
Tas
储存温度
-20°C-70°C
RH
相对湿度
小于95%RH
0:
氧气浓度
21%(标准条件)
氧气浓度会影响灵敏度特
最小值大于
2%
3)MQ-3灵敬度特性表
表2-5MQ-3灵敏度特性表
符号
参数名称
技术参数
备注
Rs
敏感体电阻
1MQ〜8MQ
(200ppmalcohol)
适用范围:
10〜
lOOOppm
Alcohol
a
(200/100)
alcohol
浓度斜率
WO.6
标准工作条件
温度:
20°C±2°CVc:
5.0V±0.IV
相对湿度:
65%±5%Vh:
5.0V±0.IV
预热时间
不少于24小时
表2-6MQ-3气敏元件的组成材料表
部件
材料
1
气体敬感层
二氧化锡
2
电极
金(Au)
3
测量电极引线
W(Pt)
4
加热器
银辂合金(Ni-Cr)
5
陶瓷管
三氧化二铝
6
防爆网
100目双层不锈钢(SUB316)
7
卡环
镀鎳铜材(Ni-Cu)
8
基座
胶木
9
针状管脚
镀鎳铜材(Ni-Cu)
MQ-3型气敬元件对不同种类,不同浓度的气体有不同的电阻值,变化如图3-9所示。
在不同温湿度的条件下,变化如图3-10,因此在使用此类型气敬元件时,灵敬度的调整是很重要的。
图3-9MQ-3的灵敬度特性图(温度:
20°C、相对湿度:
65%、氧气浓度:
21%、RL二200kQ)
70
60
50
40
30
20
10
00
90
80
70
60
-100102030405060
图2T0MQ-3型气敏元件的温湿度特性图
Ro:
20°C,33%RH条件下,200ppm的乙醇蒸汽中元件电阻。
Rs:
不同温度,湿度下,200ppm的乙醇蒸汽中元件电阻。
2.3.3EEPR0M-24C02阀值存储芯片
(1)工作电压:
1.8V〜5.5V;
(2)输入/输出引脚兼容5V;
(3)应用在内部结构:
128X8(1K),256X8(2K),512X8(4K),1024X8(8K),2048X8(16K);
(4)二线串行接口;
(5)输入引脚经施密特触发器滤波抑制噪声;
(6)双向数据传输协议;
(7)兼容400KHz(1.8V,2.5V,2.7V,3.6V);
(8)支持硬件写保护;
(9)高可靠性;
(10)读写次数:
1,000,000次;
(11)数据保存:
100年。
AT24C02是一个2K位串行CMOSEEPROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
AT24C02有一个16字节页写缓冲器。
该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。
任何从总线接收数据的器件为接收器。
数据传送是山产生串行时钟和所有起始停止信号的主器件控制的。
主器件和从器件都可以作为发送器或接收器,但山主器件控制传送数据(发送或接收)的模式,通过器件地址输入端AO、A1和A2可以实现将最多8个AT24C02器件连接到总线上。
AT24C02的外部特性(引脚功能):
表3TTLC1549引脚功能表
引脚
功能
标号
说明
A0
1
24C02的硬件连接的器件地址输入引脚。
24C02在一个
总线上最多可寻址8个2K器件,AO、Al、A2内部必须
A1
器件
地址
输入
2
连接。
24C02仅使用Al、A2作为硬件连接的器件地址输入引脚,在一个总线上最多可寻址4个4K器件,A0引脚内部未连接。
这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为Oo当使用AT24C02时最大可级联8个器件。
如果只有一个AT24C02被总线寻址,这三个地址输入脚(AO、Al、A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(AO、Al、A2)必须连接到Vss。
A2
3
Vss
地
1
接地
SDA
串行数据输入/输出
5
AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。
AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)<>
SCL
串行时钟输入
6
AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
在SCL输入时钟信号的上升沿将数据送入,EEPROM器件,并在时钟的下降沿将数据读出。
WP
写保
护
7
如果WP管脚连接到Vcc,所有的内容都被写保护只能读。
当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。
Vcc
电源
8
正电源电压
AT24C02的工作原理:
表3-2器件操作工作原理表
器件操作
操作说明
时钟及数据传输
SDA引脚通常被外围器件拉高。
SDA引脚的数据应在SCL为低时变化;当数据在SCL为高时变化,将视为下文所述的一个起始或停止命令。
起始命令
当SCL为高,SDA111高到低的变化被视为起始命令,必须以起始命令作为任何一次读/写操作命令的开始。
停止命令
当SCL为高,SDA由低到高的变化被视为停止命令,在一个读操作后,停止命令会使EEPROM进入等待态低功耗模式。
应答
所有的地址和数据字节都是以8位为一组串行输入和输出的。
每收到一组8位的数据后,EEPROM都会在笫9个时钟周期时返回应答信号。
每为主控器件接收到一组8位的数据后,应当在笫9个时钟周期向EEPROM返回一个应答信号。
收到该应答信号后,EEPROM会继续输出下一组8位的数据。
若此时没有得到主控器件的应答信号,EEPROM会停止读出数据,直到主控器件返回一个停止命令来结束读周期。
等待模式
24C02特有一个低功耗的等待模式。
可以通过以下方法进入该模式:
6)上电;(b)收到停止位并且结束所有的内部操作后。
器件复位
在协议中断、下电或系统复位后,器件可通过以下步骤复位:
(1)连续输入9个时钟;
(2)在每个时钟周期中确保当SCL为高时SDA也为高;(3)建立一个起始条件。
AT24C02工作时总线各个时序图如下:
1)写周期时序图
X
fi.ni
/\
图3-5写周期时序图
2)数据有效时序图
图3-6数据有效时序图
3)起始与停止时序图
图3-7起始与停止时序图
2.3.4LCD1602显示模块
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。
主要功能有:
40通道点阵LCD驱动;可选择当作行驱动或列驱动;输出能产生20X2个LCD驱动波形输入接受控制器送岀的串行数据和控制信号,偏压;通过单片机控制将所测的频率信号读书显示出来。
LCD1602显示模块技术参数:
1602液晶显示屏采用标准的16脚接口,其中各接口的功能如下表(2-4)所示:
引脚
引脚名
电平
输入/输出
引脚说明
号
1
VSS
电源地
2
VDD
电源正极(+5V)
3
VL
液晶显示偏压信号
4
RS
0/1
输入
数据/命令选择端,0:
输入指令,
1:
输入数据
5
R/W
0/1
输入
读/写选择端,0:
向LCD写入指令或数据,1:
从LCD读取信息
6
E
1-0
输入
使能信号,1时读取信息,1-0(下
降沿)执行指令
7
D0
0/1
输入/输出
数据总线(最低位)
8
D1
0/1
输入/输出
数据总线
9
D2
0/1
输入/输出
数据总线
10
D3
0/1
输入/输出
数据总线
11
D4
0/1
输入/输出
数据总线
12
Do
0/1
输入/输出
数据总线
13
D6
0/1
输入/输出
数据总线
14
D7
0/1
输入/输出
数据总线(最高位)
15
BLA
+VCC
LCD背光电源正极
16
BLK
接地
LCD背光电源负极
表2-4LCD1602的16管脚功能
笫1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会使屏幕显示不清晰,使用时可以通过一个10K的电位器调整对比度。
笫4脚:
RS为数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写选择端,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
笫6脚:
E端为使能端,当E端山高电平跳变成低电平时,液晶模块执行命令。
第7〜14脚:
DO〜D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极
LCD1602显示器工作原理
LCD1602有11个控制指令,见表3-8。
其中,DDRAM:
显示数据RAM,用来寄存待显示的字符代码;CGROM:
字符发生存储器;CGRAM:
用户自定义的字符图形RAM。
表3-8LCD1602控制指令表
指令
功能
清屏
清DDRAM和AC值
归位
AC二0,光标、画面回HOME位
输入方式设置
设置光标、画面移动方式
显示开关控制
设置显示、光标及闪烁开、关
光标、画面位移
光标、画面移动,不影响DDRAM
功能设置
工作方式设置(初始化指令)
CGRAM地址设置
设置CGRAM地址。
A5〜A0二0〜3FH
DDRAM地址设置
DDRAM地址设置
读BF和AC值
读忙标志BF和和地址计数器AC值
写数据
数据写入DDRAM或CGRAM
读数据
从DDRAM或CGRAM数据读出
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 酒精 浓度 检测 系统