基于单片机的酒精浓度测试仪设计.docx

上传人:b****5 文档编号:3955219 上传时间:2022-11-26 格式:DOCX 页数:26 大小:1.13MB
下载 相关 举报
基于单片机的酒精浓度测试仪设计.docx_第1页
第1页 / 共26页
基于单片机的酒精浓度测试仪设计.docx_第2页
第2页 / 共26页
基于单片机的酒精浓度测试仪设计.docx_第3页
第3页 / 共26页
基于单片机的酒精浓度测试仪设计.docx_第4页
第4页 / 共26页
基于单片机的酒精浓度测试仪设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于单片机的酒精浓度测试仪设计.docx

《基于单片机的酒精浓度测试仪设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的酒精浓度测试仪设计.docx(26页珍藏版)》请在冰豆网上搜索。

基于单片机的酒精浓度测试仪设计.docx

基于单片机的酒精浓度测试仪设计

毕业设计(论文)

 

设计(论文)题目:

基于单片机的酒精浓度测试仪设计

学生姓名:

指导教师:

二级学院:

专  业:

班 级:

学 号:

提交日期:

答辩日期:

基于单片机的酒精浓度测试

摘 要

本文设计了一种公共场所用的测试和酒精浓度超限报警功能的智能酒精测试测试仪。

该设计方案基于89C51单片机,MQ3酒精浓度传感器。

由A/D转换器电路调节该系统的传感器输出信号,通过单片机进行数据处理,最终由LCD所显示的最终酒精浓度值。

文中详细介绍了数据采集子系统、数据处理过程及报警电路和数据显示子系统的设计方法和流程。

系统对的采样地点超出规定的酒精浓度时二极管报警提醒。

同时测试仪特定的上限报警点可以由单片机编程进行设置。

大量的验证后,基于51单片机的酒精浓度检测仪比传统的酒精计或机械检测仪灵敏,高监测精度,可靠性好,准确方便,扩展简单,灵敏度高,控制功能强大。

超过阈值的声光报警,直观和准确。

因此,基于单片机的酒精浓度检测仪研究具有一定的价值。

 关键词:

 

酒精浓度传感器    单片机  数模转换   硬件设计  数码管显示

关键词:

智能电动小车;STC89C52;传感器

 

Abstract

This paper studies has been designed for public inspection and overrun alarm function with the alcohol concentration intelligent tester. Its design scheme based on 89C51, MQ3 alcohol concentration sensor. System will sensor output signal through the A/D circuit recuperation, data processing byMCU, finally by LCD display alcohol chroma value.Thispaperdescribesthedataacquisitionsubsystem,dataprocessinganddatadisplaysubsystemandalarmcircuitdesignmethodsandprocesses.Systemrequirementsforthesamplingsitesexceedingthealcoholconcentrationdiodereminderalarmcircuitmonitors.Meanwhile,theoperatorspecificalarmpointfortheupperlimitsetbyMCUprogramming.Alcoholtesterwillbringadrivingsignalpriortoasafe.

After a great deal of verification, based on SCM alcohol concentration monitor detector than traditional mechanical detector or alcohol plans, monitoring high precision, sensitivity, good dependability, precise convenient extended simple, control powerful functions. Beyond the value of acousto-optic alarm, intuitive accurate. So based on SCM alcohol concentration monitor research has certain value. 

.   

Keywords:

 

   Alcohol concentration sensor    microcontroller    digital-to-analog   

Hardware design     Digital pipe display 

 

第一章绪论

1.1酒精浓度检测仪的背景

根据世界卫生组织的数据,2003年纯酒精的全球人均消费量是6.2L,其中美州地区人均为8.7L,欧洲地区人均达到11.9L。

酒精消费量在俄罗斯以及附近各地东欧国家最高,其次是其他欧洲国家。

在人均国民生产总值(GDP)少于$7000低收入国家,酒精消费量与人均GDP相关,GDP越高酒精消费量越高。

随着我国经济水平的迅速发展和近年来居民生活水平的提高,酒精消费量呈直线上升趋势,随之而来的是因为饮酒而造成的一系列社会问题。

如引起醉酒驾驶引起的交通意外。

当酒精在血液达到一定浓度时,就会出现神经麻痹,导致大脑反应迟缓,身体不受控制的症状。

个人对外界的控制能力,反应能力就会下降,处理紧急情况的能力也有所下降。

酒后驾驶,其血液中的酒精含量越高,就越容易发生撞车事件。

据世界卫生组织的事故调查,约50%-69%的交通事故与酒后驾驶有关,酒后驾车事故已被列为致死的主要原因。

在中国,每年由于醉驾造成的交通事故达数以万起,危害触目惊心,已成为交通事故第一大“杀手”。

酒后驾车造成了如此多的惨案,为了避免类似事故发生,酒精浓度检测仪随之的产生。

1.2酒精浓度检测仪现状及发展趋势

对气体中酒精含量检测装置的中有五种基本类型,即电化学型、燃料电池型、半导体型、比色型型、红外线型、气体色谱分析型。

然而,由于易用性以及价格等原因,目前常用的只有燃料电池型、电化学型和半导体型这几种。

燃料电池是目前全世界广泛研究的环保型能源。

可燃气体可以直接转换成电能,而不会造成环境污染。

酒精传感器只是燃料电池的一个分支,燃料电池酒精传感器使用铂贵金属作为电极,采用特殊的催化剂填充燃烧室,使酒精充分燃烧转化为电能,也就是在两个电极上产生电压。

外接负载上消耗的电能与进入燃烧室内气体的酒精浓度成正比。

与半导体型相比,燃料电池型呼气式酒精测试仪,具有精度高、抗干扰、稳定性好等优点。

然而,由于燃料电池酒精传感器的结构要求非常精密,并且制造相当困难。

目前,只有美国,英国,德国等少数国家能够生产,加上材料成本高,所以价格相比于半导体酒精传感器是相当昂贵的。

1.3本课题实现的目标

1、酒精测试仪可以检测气体中的酒精/乙醇浓度;

2、液晶实时显示酒精浓度数值和醉酒阈值;

3、当测量值>醉酒阈值,报警并亮灯。

第二章系统方案设计

2.1系统的工作原理及其原理图

本系统以STC89C52单片机为核心,其芯片的内存空间充足,方便ISP线上编写以及下载程序,适合本系统软件的要求。

其芯片拥有两个计数器中断,足够完成本课题的设计,该芯片对于时间的计算很精确,实时性很强,对于各个模块的控制更灵活。

并且STC89C52是可扩展的,使用灵活方便,价格低。

由于酒精浓度检测仪是把非电量转换为电量,并且通过传感器输出的是基本不受外界干扰的稳定电压。

因此,可以直接把传感器输出的电压值经A/D转换器后所得到的数据送到单片机进行处理。

此外,还需要外接4*4键盘,LED显示,报警电路。

其总体框图如图2-1所示

声光报警电路

 

STC89C52

被测环境

气敏传感器

A/D转换电路

LED显示

键盘

 

图2-1总体设计框图

2.2单片机控制模块

该模块核心处理器为ST89C52单片机。

单片机控制系统一般由最小系统和外接信号I/O口组成,其中最小系统包括CPU时序电路,复位电路以及电源。

2.2.1STC89C52的介绍

STC89C52是一款功耗低、处理速度快、抗干扰能力强的单片机,其指令代码与传统的8051单片机完全兼容,拥有(12时钟/机器周期)和(6时钟/机器周期)两种选择。

2.2.2STC89C52的引脚功能说明图

2.2.1STC89C52引脚图

VCC(40引脚):

电源电压

VSS(20引脚):

接地

P0(P0.0~P0.7,39~32):

P0口是一个漏极开路的8位双向I/0口。

作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。

在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。

此时,P0口内部上拉电阻有效。

在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。

验证时,要求外接上拉电阻。

P1端口(P1.0~P1.7,1~8引脚):

P1口是一个带内部上拉电阻的8位双向I/O口。

P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。

P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(TLL)。

P2端口(P2.0~P2.7,21~28引脚):

P2口是一个带内部上拉电阻的8位双向I/O端口。

P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。

P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(TLL)。

P3端口(P3.0~P3.7,10~17引脚):

P3是一个带内部上拉电阻的8位双向I/O端口。

P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(TLL)。

RST(9引脚):

复位输入。

当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。

看门狗计时完成后,RST引脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/PROG(30引脚):

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在Flash编程时,此引脚(PROG)也用作编程输入脉冲。

PROG(29引脚):

外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当AT89C51RC从外部程序存储器执行外部代码时,(PSEN)。

在每个机器周期被激活两次,而访问外部数据存储器时,(PSEN)将不被激活。

EA/VPP(31引脚):

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。

注意加密方式1时,EA将内部锁定位RESET。

为了执行内部程序指令,EA应该接VCC。

在Flash编程期间,EA也接收12伏VPP电压。

XTAL1(19引脚):

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):

振荡器反相放大器的输入端。

2.2.3最小系统的设计及其原理图

一个典型的单片机最小系统一般由时钟电路、复位电路、晶振、片外RAM、片外ROM、按键、数码管、液晶显示器、外部扩展接口等部分组成。

由于本设计的要求没有选用数码管和液晶显示器。

(1)时钟源电路

单片机内部具有一个高增益反相放大器,用于构成振荡器。

通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。

(2)复位电路

单片机的置位和复位都是为了把电路初始化到一个确定的状态,一般来说单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器及存储设备装入厂商预设的一个值。

单片机复位电路原理实在单片机的复位引脚RST上外接电阻和电容,实现上电复位。

当复位电平持续两个机器周期以上时复位有效。

复位电平的持续时间必须大于单片机的两个机器周期。

具体参数值可以由RC电路计算出时间常数。

复位电路由按键复位和上电复位两部分组成。

a.上电复位:

STC89系列单片机为高电平复位,通常在复位引脚RET上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值10K和10uF。

b.按键复位:

按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电,RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。

(3)振荡电路

单片机系统里面都有晶振,在单片系统里晶振的作用非常大,全程叫做晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。

在通常工作条件下,普通的晶振频率绝对精度可达到百万分之五十。

高级的精度更高。

有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。

晶振用一种能把电能和机械能相互转化在共振的状态下工作,以提供稳定,精确的单频振荡。

STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。

(4)外部扩展接口(串行通信)

RS232串口电路使用MAX232作为电平转换芯片,可以通过串口电缆连接到计算机背的COM口,用于单片机与上位机通信以及和其他串口设备的数据交互。

MAX芯片是MAXIM公司生产的、包含两路接收器和驱动器的芯片,他的内部有一个电源电压变换器,可以把输入+5V的电压转换成RS-232输出电平所需的+10V。

电路板参数:

工作电压:

5V

输入电压:

5.5-15V

电路板尺寸:

87mm*43mm

此单片机最小系具有:

LCD1602液晶屏;

按键2只;

显示LED2只;

蜂鸣器1只;

P1口所有的引脚都设计有5V电源,方便接传感器。

本单片机最小系统板设计使用STC公司增强型的51单片机,电路板设计了MAX232的电平转换,可以方便采用电脑的串口对STC的单片机下载及与电脑或者单片机之间的相互通信。

2.1.3最小系统原理图

第三章硬件设计

3.1数据采集设计

3.1.1传感器的选择

气体传感器是气体检测系统的核心部分,一般安置在接收器的内侧。

事实上其本质是将气体的体积分数转换成相应的电信号的转换器。

气体样品通过接收器过滤掉干扰气体以及杂质,并且对气体进行冷却、干燥、提取以及化学处理,以便使传感器的测量更精确快速。

传感器的选择需要考虑其灵敏度,稳定性和抗腐蚀性,因此该设计选用MQ3型酒精传感器。

3.1.2测量电路

测量电路由MQ3酒精浓度传感器和TLC549组成。

MQ3酒精传感器经TLC549与STC89C52单片机相连,经处理转换后在LED显示器上显示出酒精气体的浓度值,当超过设定阀值时报警。

3.1.3模块原理图

3.1.3采集电路原理图

3.2A/D转换电路

3.2.1TLC549工作原理

TLC549有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无需特殊待遇的速度或相应匹配。

器工作时序入2所示。

当CS为高时,数据输出(DATAOUT)端处于高阻状态,此时I/OCLOCK不起作用。

这种CS控制作用允许在同时使用多片TLC549时,共用I/OCLOCK,以减少多路(片)A/D并用时的I/O控制端口。

一般通常的控制时序为;

将CS置低。

内部电路在测得CS下降沿后,在等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATAOUT端上。

前四个I/OCLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/OCLOCK下降沿开始采样模拟输入。

接下来的3个I/OCLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位。

保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的A/D转换。

第8个I/OCLOCK后,CS必须为高,或I/OCLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。

如果CS为低I/OCLOCK上出现一个有效干扰脉冲,则微处理器/控制器将于器件的I/OS时序失去同步;若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。

在36个内部系统时钟周期借宿之前,实施步骤1-4,可重新启动一次新的A/D转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。

若要在特定的时刻采样模拟信号,应使第8个I/OCLOCK时钟的下降沿与该时刻对应,因为虽在第4个I/OCLOCK时钟下降沿开始采样,却在第8个I/OCLOCK的下降沿开始保存。

3.2.2TLC549的原理图

3.2.3TLC549原理图

3.3按键电路

3.3.1模块分析

本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。

键盘分为:

独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。

由于本系统只有UP、DOWN、OK、CANCEL4个控制命令,所需按键较少,所以本系统选择独立式按键。

独立式按键是直接用I/O口线构成的单个按键电路。

每个独立式按键占有一根I/O口线。

各根I/O口线之间不会相互影响。

在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(STC89C52.P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。

键盘抖动的消除:

抖动的消除大致可以分为硬件削抖和软件削抖。

硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。

软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。

当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。

由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。

3.3.2键盘电路图

3.4LED显示电路

3.4.1LCD1602的介绍

LCD1602液晶显示模块与计算机的接口电路有两种方式。

它与单片机的接口方法分为直接访问方式和间接控制方式。

直接访问方式是把液晶模块作为存储器或I/O设备直接接在单片机的总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。

间接控制方式则不使用单片机的数据系统,而是利用它的I/0口来实现与显示模块的联系。

即将液晶显示模块的数据线与单片机的P0口连接作为数据总线,另外三根时序控制信号线通常利用单片机的P2口中未被使用的I/O口来控制。

这种访问方式不占用存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现。

本系统采用间接控制方式。

在单片机系统中应用液晶显示器作为输出器件有以下几个优点:

显示质量高:

由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。

因此,液晶显示器画质高且不会闪烁。

数字式接口:

液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

体积小、重量轻:

液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻的多。

功耗低:

相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其他显示器要少的多。

在主电路图中接在P0口处有一个排阻RP1,由于P0口没有内接上拉电阻,为了为P0口外接线路有确定的高电平,所以要接上排阻RP1,使用的是10K的排阻,以确保有P0口有稳定的电平。

电路连接图见图4.9:

LCD按其显示方式通常可以分为断式、点字符式、点阵式等。

还有黑白、多灰度、彩色显示等。

液晶显示原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示黑色,这样就可以显示出图形。

针对于本系统要显示汉字,字母,数字等,以及其在一个界面同时要显示的字数,本系统要以图形的形式显示各运行结果,我们最

终选择LCD1602型号的LCD。

⑵字符显示:

字符显示比较复杂,一个字符由16x8点阵组成,即要找到和显示屏是某几个位置对应的RAM区的字节,再使不同的位置为‘1’其他的为‘0’;为‘1’的点亮,为‘0’的不亮,这样就显示出一个字符。

3.4.2LCD的原理图

 

3.4.2LCD的原理图

3.5报警电路

在单片机应用系统中,操作人员一般通过LED显示器或指示灯来掌握系统的工作状况。

但在某些特殊情况下,例如系统检测到错误状态等,为了引起操作人员的注意,以便及时采取措施,通常还需要一些更容易引起警惕的报警信号。

此报警信号通常有三种类型:

一是闪光报警,闪烁的灯光容易引起注意;其次,蜂鸣报警,发出特定的声音,更容易提醒操作人员;最后,语音报警,报警不但能够引起警惕,而且能够直接给出危害信息。

其中,闪光报警和蜂鸣报警与语音报警相比结构简单,编程容易,成本低廉。

因此本设计采用闪光报警和蜂鸣器报警,当测得值高于阀值,则发出警报。

3.6电源电路设计

电源部分,在本次设计中,需要一个比较大的电压源给一个5V的单片机供电源

第四章软件设计

4.1主程序模块

主程序实现的功能:

与硬件相结合实现便携式酒精浓度检测仪的各个功能。

主要是检测与显示,时间调整与显示,数据存储。

功能子函数的调用。

 

4.1主程序流程图

4.2.数据采集模块

⑴模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。

A/D芯片的数据CS口,连接51单片机的P3.1口,CLK接P3.2,D1和D0接P3.3口。

工作时序如下所示:

ADC0832有8只引脚,CH0和CH1为模拟输入端,CS为片选引脚,只有CS置低才能对ADC0832进行配置和启动转换。

CLK为ADC0832的时钟输入端。

CS在整个转换过程中都必须为低,当CS为低时,在数据输入端DI(数据输入端)加一个高电平,接着在CLK上加一个时钟,DI上的逻辑1就会使ADC0832的DI脱离高阻态,然后通道配置数据伴随着时钟通过DI端移入多路器,当最后一位数据移入多路器时,,DI变为高阻态,在这以前DO(数据输出端)都为高阻态。

在经过一个时钟,DO脱离高阻态,从而启动转换。

接着从处理器接收时钟信号,每经过一个时钟,转换后的数据就会从高位到低位依次从DO移出,经过8个时钟后,数据又以从低位到高位的形式从DO移出(也是每个时钟移一位)。

当最后一位数据移出时转换完成。

当CS从低变为高时,ADC0832内部所有寄存器清零。

如想要进行下一次转换,CS必须做一个从高到低的跳变,后跟着地此配置数据重复上面的过程。

 

图4.2.1(b)运行图

4.3.按键模块

⑴按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。

按键的四个键分别接P1.0,P1.1,P1.2,P1.3,由于P1口具有上拉电阻,所以不在需要加上拉电阻进行电压的放

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1