当前位置:文档之家› 本科毕业论文-基于单片机的酒精浓度检测系统

本科毕业论文-基于单片机的酒精浓度检测系统

摘要

随着经济的快速发展,私家车数量增长迅速,但酒后驾驶、醉酒驾驶导致的交通事故比例在不断增加,给人民的生命财产造成巨大的损失。为了预防和减少交通事故的发生,设计了一种基于单片机的酒精浓度检测系统,本设计采用MQ-3气敏传感器采集气体相关数据,经过酒精浓度传感器模块进行调制和数据转化处理,最后将数据传送给单片机进行A/D转换和执行相应的功能。具有液晶实时显示气体中酒精浓度,通过按键进行阀值设定,超过设定的阀值会发光报警等功能。

关键词:单片机;酒精浓度检测系统;气敏传感器

Abstract

With the rapid economic development, the number of private cars is growing rapidly, but the proportion of traffic accidents of drunk driving, drunk driving cause is increasing, causing huge losses to the lives and property of the people. In order to prevent and reduce the occurrence of traffic accidents, designed a kind of alcohol con centration detection system based on single chip, using the relevant data of MQ-3 gas sensors collect gas in this design, modulation and data conversion treatment after alcohol concentration sensor module , the data is transmitted to the MCU A/D conversion and executes the corresponding function. A liquid crystal display the alcohol concen tration in air, for threshold set by the key, more than the set thre shold value will be luminous alarm function.

Keywords: single chip microcomputer; alcohol concentration detection system; gas sensor

目录

第一章前言 (1)

1.1 概述 (1)

2.1总体方案设计 (2)

2.2单片机系统总体设计 (2)

2.3芯片简介 (3)

2.3.1 STC12C5A16AD单片机 (3)

2.3.2 MQ-3酒精传感器 (5)

2.3.3 EEPROM-24C02阀值存储芯片 (9)

2.3.4 LCD1602显示模块 (12)

第三章硬件电路设计 (16)

3.1 主程序/CPU模块 (16)

3.2 AT24C02阀值存储模块 (16)

3.3 MQ-3传感器调理电路 (17)

3.4 LCD液晶显示模块 (18)

3.5按键单元设计 (18)

第四章系统软件设计 (19)

4.1主程序设计 (19)

4.2 LCD1602显示程序设计 (20)

4.3 24C02阀值存储程序设计 (20)

4.4系统调试 (20)

总结 (21)

致谢................................................................................................................. 错误!未定义书签。参考文献.. (22)

附录 (23)

第一章前言

1.1 概述

随着经济的高速发展,更多的人拥有私家车,而且近几年的增长率在不断提高,酒后驾车造成的交通事故也频繁发生,占据交通事故的很大比重。在中国,每年由于酒后驾车引发的交通事故达数万起,其危害触目惊心,已成为交通事故的第一大“杀手”。

饮酒后酒精在人体血液内达到一定浓度时,会产生麻痹神经、大脑反应迟缓、肢体不受控制等症状。人对外界的反应能力及控制能力都会下降,处理紧急情况的能力也随之下降。对于酒后驾车者而言,其血液中酒精含量越高,发生交通事故的几率越大。酒后驾车发生事故的机率高达27%?随着摄入酒精量的增加,选择反应错误率显著增加,当血液中酒精含量由0.5‰增至1‰,发生车祸的可能性便增加5倍,如果增至1.5‰,可能性再增加6倍?机动车驾驶人员“酒后驾车” 及“醉酒驾车”极易发生道路交通事故, 严重危害了道路交通安全和人民生命财产安全?根据世界卫组织的事故调查,大约50%—69%的交通事故与酒后驾驶有关,酒后驾驶已经被列为车祸致死的主要原因。

人饮酒后, 酒精通过消化系统被人体吸收, 经过血液循环, 约有90%的酒精通过肺部呼气排出, 因此测量呼气中的酒精含量, 就可判断其醉酒程度?开车司机只要将嘴对着传感头使劲吹气,仪器就能发上显示出酒精浓度的高低,从而判断该司机是否酒后驾车,避免事故的发生?最理想的办法是将酒精检测系统应用在机动车内,司机一进入车内检测仪就检测司机的酒精含量,如果超出允许值,机动车系统控制引擎无法启动,这样就可从根本上解决酒后驾车问题?

为了实现对人权的尊重,对生命的关爱,使更多人的生命权、健康权及幸福美满的家庭能得到更好的保护,需要设计一种智能的酒精检测系统能够检测驾驶员体内酒精含量。本论文研究的是一种以气敏传感器和单片机为主,监测酒精浓度,并具有显示和报警功能的基于单片机的酒精检测系统。酒精检测系统在生产生活中也有重要的应用,比如,在一些环境要求严格的生产车间,用这种酒精浓度探测仪,可随时检测车间内的酒精气体浓度,当酒精气体浓度高于允许限定值时,发出警报、提醒,有着相当的前景和意义。

第二章 总体方案设计

2.1总体方案设计

本设计研究的是一种以MQ-3型气敏传感器和STC12C5A16AD 单片机为主,并具有灯光报警及LCD1602来实时显示数据功能的酒精浓度检测系统。其可检测出空气环境中酒精浓度值,并需要根据不同环境不同驾驶员的水平设置不同的阈值,对超过的阈值进行灯光报警,来提示危害。所以需要增设键盘控制模块实现人机交互功能,超过阈值进入灯光报警功能。如下框图2-1

图2-1 系统结构框图

2.2单片机系统总体设计

当启动该系统时,气敏传感器检测到酒精气体信号,然后对气敏传感器的输出信号进行调制,最后经过STC12C5A16AD 单片机内部的A/D 转换部分进行模数转换。单片机对转换后的数字信号进行相应的处理,将数据通过液晶显示出来,酒精浓度超过设定的阀值也会发出灯光报警提示。各个单元进行模块化设计,以单片机为核心进行整合使整个系统达到预期的结果。

STC12C5

A16AD 单片机

MQ-3气敏传感器

信号调制

独立按键

液晶显示器模块

报警提示

2.3芯片简介

本设计采用了STC12C5A16AD单片机、MQ-3酒精传感器、AT24C02、LCD1602等芯片.

2.3.1 STC12C5A16AD单片机

STC12C5A16AD是宏晶科技生产的新一代8051单片机,包含有中央处理器(CPU)、程序存储器(FLASH)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶振振荡等模块,几乎包含了数据采集和控制中所需的所有单元模块。

STC12C5A16AD单片机相比传统C51功能更加强大,有些特殊功能寄存器被扩展为专用的特殊寄存器。其引脚图和内部结构如图2-3所示:

图2-3 STC12C5A16AD引脚排列图

STC12C5A16AD的具体功能特性如下:

1、高速:1 个时钟/ 机器周期,增强型8051 内核,速度比普通8051 快8~12 倍

2、宽电压:5.5~3.3V,2.2~3.6V(STC12LE5A60S2 系列)

3、增加第二复位功能脚(高可靠复位,可调整复位门槛电压,频率<12MHz 时,

无需此功能)

4、增加外部掉电检测电路,可在掉电时,及时将数据保存进EEPROM,正常工作时无

需操作EEPROM

低功耗设计:空闲模式,(可由任意一个中断唤醒)

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/T1,2 路PCA 实现2 个定时器

15、可编程时钟输出功能,T0 在P3.4 输出时钟,T1 在P3.5 输出时钟,BRT 在P1.0 输出时钟

16、硬件看门狗(W D T )

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~P1.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.2 MQ-3酒精传感器

半导体酒精传感器MQ-3所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO

)。当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空

2

气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-3气体传感器对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的低成本传感器。其主要用于机动车驾驶人员及其他严禁酒后作

业人员的现场检测;也用于其他场所乙醇蒸汽的检测。

MQ-3传感器模块具有的特点:

1.具有信号输出指示

2.双路信号输出(模拟量输出及TTL电平输出)

3.模拟量输出0-5V电压,浓度越高电压越高

4.对乙醇蒸汽具有良好的选择性和很高的灵敏度

5.具有长期的使用寿命和可靠的稳定性

6.快速的响应恢复特性

MQ-3的性能参数

1)MQ-3标准工作条件表

表2-3 MQ-3标准工作条件表

符号参数名称技术条件备注 Vc 回路电压≤15V AC or DC V

H

加热电压 5.0V±0.2V AC or DC

R

L

负载电阻可调

R

H

加热电阻31Ω±3Ω室温

P

H

加热功耗≤900mW

2)MQ-3工作环境环境条件表

表2-4 MQ-3工作环境环境条件表

符号参数名称技术条件备注

Tao 使用温度-10℃-50℃

Tas 储存温度-20℃-70℃

RH 相对湿度小于95%RH

O

2

氧气浓度21%(标准条件)

氧气浓度会影响灵敏度特

性最小值大于2%

3)MQ-3灵敏度特性表

表2-5 MQ-3灵敏度特性表

符号参数名称技术参数备注

Rs 敏感体电阻1MΩ~ 8MΩ

(200ppm alcohol ) 适用范围:

10~1000ppm Alcohol

α

(200/100)

alcohol

浓度斜率≤0.6

标准工作条件温度: 20℃±2℃ Vc:5.0V±0.1V 相对湿度:65%±5% Vh: 5.0V±0.1V

预热时间不少于24小时

表2-6 MQ-3气敏元件的组成材料表

部件材料

1 气体敏感层二氧化锡

2 电极金(Au)

3 测量电极引线铂(Pt)

4 加热器镍铬合金(Ni-Cr)

5 陶瓷管三氧化二铝

6 防爆网100目双层不锈钢(SUB316)

7 卡环镀镍铜材(Ni-Cu)

8 基座胶木

9 针状管脚镀镍铜材(Ni-Cu)

MQ-3 型气敏元件对不同种类,不同浓度的气体有不同的电阻值,变化如图3-9所示。在不同温湿度的条件下,变化如图3-10,因此在使用此类型气敏元件时,灵敏度的调整是很重要的。

图3-9 MQ-3的灵敏度特性图(温度:20℃、相对湿度:65%、氧气浓度:21%、

RL=200k Ω)

图2-10 MQ-3型气敏元件的温湿度特性图

Ro: 20℃,33%RH 条件下,200ppm 的乙醇蒸汽中元件电阻。 Rs: 不同温度,湿度下,200ppm 的乙醇蒸汽中元件电阻。

MQ-3

0.1

110

100

0.1

1

10

mg/L

R s /R o

Alcohol Benzine CH4

Hexane LPG CO Air

Rs/Ro--Temp

0.50

0.600.700.800.901.001.101.201.301.401.501.601.70-10

10

20

30

40

50

60

Temp

R s /R o

33%RH 85%RH

2.3.3 EEPROM-24C02阀值存储芯片

(1) 工作电压:1.8V~5.5V;

(2) 输入/输出引脚兼容5V;

(3) 应用在内部结构:128×8(1K),256×8(2K),512×8(4K),1024×8(8K),2048×8(16K);

(4) 二线串行接口;

(5) 输入引脚经施密特触发器滤波抑制噪声;

(6) 双向数据传输协议;

(7) 兼容400KHz(1.8V,2.5V,2.7V,3.6V);

(8) 支持硬件写保护;

(9) 高可靠性;

(10) 读写次数:1,000,000次;

(11) 数据保存:100年。

AT24C02是一个2K位串行CMOS EEPROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。

AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。AT24C02的外部特性(引脚功能):

表3-1 TLC1549引脚功能表

引脚功能标号说明

A0 1 24C02的硬件连接的器件地址输入引脚。24C02在一个

总线上最多可寻址8个2K器件,A0、A1、A2内部必须

A1

器件

地址

输入2 连接。24C02仅使用A1、A2作为硬件连接的器件地址

输入引脚,在一个总线上最多可寻址4个4K器件,A0

引脚内部未连接。这些输入脚用于多个器件级联时设置

器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线

寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连

接到Vss,如果只有一个AT24C02被总线寻址这三个地

址输入脚(A0、A1、A2 )必须连接到Vss。

A2 3

Vss 地 4 接地

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为高,SDA由高到低的变化被视为起始命令,必须以起始命令作为任何一次读/写操作命令的开始。

停止命令当SCL为高,SDA由低到高的变化被视为停止命令,在一个读操作后,停止命令会使EEPROM进入等待态低功耗模式。

应答所有的地址和数据字节都是以8位为一组串行输入和输出的。

每收到一组8位的数据后,EEPROM都会在第9个时钟周期时

返回应答信号。每当主控器件接收到一组8位的数据后,应当

在第9个时钟周期向EEPROM 返回一个应答信号。收到该应答

信号后,EEPROM会继续输出下一组8位的数据。若此时没有

得到主控器件的应答信号,EEPROM会停止读出数据,直到主

控器件返回一个停止命令来结束读周期。

等待模式24C02特有一个低功耗的等待模式。可以通过以下方法进入该模式:(a)上电;(b)收到停止位并且结束所有的内部操作后。器件复位在协议中断、下电或系统复位后,器件可通过以下步骤复位:(1)连续输入9个时钟;(2)在每个时钟周期中确保当SCL

为高时SDA也为高;(3)建立一个起始条件。

AT24C02工作时总线各个时序图如下:

1)写周期时序图

图3-5 写周期时序图

2)数据有效时序图

图3-6 数据有效时序图

3)起始与停止时序图

图3-7 起始与停止时序图

2.3.4 LCD1602显示模块

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。主要功能有:40通道点阵LCD驱动;可选择当作行驱动或列驱动;输出能产生20×2个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 D5 0/1 输入/输出数据总线

13 D6 0/1 输入/输出数据总线

14 D7 0/1 输入/输出数据总线(最高位)

15 BLA +VCC LCD背光电源正极

16 BLK 接地LCD背光电源负极

表2-4 LCD1602的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脚:D0~D7为8位双向数据线。

第15脚:背光源正极。

第16脚:背光源负极

LCD1602显示器工作原理

LCD1602有11个控制指令,见表3-8。其中,DDRAM:显示数据RAM,用来寄存待显示的字符代码;CGROM:字符发生存储器;CGRAM:用户自定义的字符图形RAM。

表3-8 LCD1602控制指令表

指令功能

清屏清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(41H),显示时模块把地址41H中的点阵字符图形显示出来,

我们就能看到字母“A”,具体寄存器的选择控制表3-9有操作说明。

因为LCD1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。

表3-9 LCD1602寄存器选择控制表

RS R/W 操作说明

0 0 写入指令寄存器(清除屏等)

0 1 忙标志以及读取位址计数(DB0~

DB6)值

1 0 写入数据寄存器(显示各字型等)

1 1 从数据寄存器读取数据

第三章硬件电路设计

3.1 主程序/CPU模块

图3-1

该主控模块主要是由STC12C5A16AD单片机组成,此模块包括系统初始化、数据的处理及各模块的的组织和管理等功能。主程序模块在系统中起着最重要的作用。

3.2 AT24C02阀值存储模块

醉酒阈值存储在EEPROM芯片AT24C04中,并可以通过“增加”、“减少”按键调节并保存。AT24C02是IIC接口的EEPROM芯片,可以用于掉电不易失数据的存储。其电路如图3-2所示。图中A0、A1和A2为芯片的地址引脚,一般接地即可。SCL和SDA为AT24C02和单片机IIC通信的时钟线和数据线。

图3-2 EEPROM存储电路

3.3 MQ-3传感器调理电路

MQ-3乙醇气体传感器及其调理电路原理如图3-3所示。经过调理,检测信号由电阻值转变成电压值,便于后续电路进行A/D转换和处理。

图3-3 传感器及调理模块原理图

相关主题
文本预览
相关文档 最新文档