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

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

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的酒精浓度测试仪设计报告.

基于单片机的酒精浓度测试仪 设计报告 设计意义 自《刑法修正案(八)》和修改后的《道路交通安全法》正式实施,“醉酒驾驶”正式入刑。很多车主 图1 酒精浓度测试仪方框图 2、乙醇信号检测及调理电路 MQ-3乙醇气体传感器可以应用用于机动车驾驶人员及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的检测。其技术特点为: 对乙醇蒸汽有很高的灵敏度和良好的选择性 快速的响应恢复特性 长期的寿命和可靠的稳定性 简单的驱动回路 MQ-3乙醇气体传感器灵敏度曲线如图2所示,其传感原理为气敏电阻的输出阻值随乙醇气体等浓度变化而变化。 图2 MQ-3乙醇气体传感器灵敏度曲线 MQ-3乙醇气体传感器管脚与测试电路如图3所示。 (a) 管脚图 (b) 测试电路 图3 MQ-3乙醇气体传感器管脚及测试电路 MQ-3乙醇气体传感器及其调理电路原理如图4所示。其外形如图5所示。经过调理,检测信号由电阻值转变成电压值,便于后续电路进行A/D转换和处理。 图4 传感器及调理模块原理图 图5 MQ-3传感器模块外形图 该传感器模块具有如下特点,方便与单片机系统接口组成检测仪器。 具有信号输出指示。 双路信号输出(模拟量输出及TTL电平输出) TTL输出有效信号为低电平。 (当输出低电平时信号灯亮,可直接接单片机) 模拟量输出0~5V电压,浓度越高电压越高。 3、单片机电路 本设计选用宏晶公司高性能单片机STC12C5A16AD,其管脚如图6所示。 图6 STC12C2052AD单片机管脚图 该芯片为52内核8位单片机,内部集成了10位多路A/D转换模块,适用于常用检测电路。由STC12C5A16AD组成的单片机系统原理图如图7所示。图中AOUT为MQ-3传感器模块输出的检测电压信号,送入ADC7端口进行处理,DOUT为传感器模块输出的数字电平信号,该信号可以根据乙醇气体浓度直接输出报警信号,报警阈值通过模块上的电位器进行调节。 图7 单片机系统原理图 图7中,按键K2和K3为醉酒阈值调整键,其中K2为“增加”,K3为“减小”按键。L2和L3为报警指示灯,分别可以进行酒后和醉酒两级报警。 4、显示电路 显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为: 表1 液晶屏技术指标 接口信号说明如表2所示。 表2 液晶屏接口信号说明 与单片机接口电路如图8所示。其中J2的3脚为背光引脚,R9和R10电阻用于调节背光亮度。J2的4、5、6引脚分别接液晶的RS、E/W和E控制引脚,J2的7—14引脚为数据引脚。 图8 LCD与单片机接口电路 5、阈值存储 醉酒阈值存储在EEPROM芯片AT24C04中,并可以通过 “增加”、“减少”按键调节并保存。AT24C04是IIC接口的EEPROM芯片,可以用于掉电不易失数据的存储。其电路如图9所示。图中A0、A1和A2为芯片的地址引脚,一般接地即可。SCL和SDA为AT24C04和单片机IIC通信的时钟线和数据线。 图9 EEPROM存储电路 6、供电及程序下载电路 本设计采用USB接口供电,电源电压5V。同时,USB接口通过内含PL2303芯片的转换电路对单片机进行程序编写。其电路原理如图10所示。 图10 供电及程序下载电路 软件编程 1、软件流程图 本设计软件主程序流程图如图11所示。 图11 主程序流程图 2、主程序 下面介绍main.c主程序编写,其他程序略。 (1) 头文件和一些宏定义 #include STC12c5A.h #include 1602.h #include 2402.h #define uchar unsigned char #define uint unsigned int (2) 常量、变量定义和函数声明 //声明常量 #define ALCH 80 //醉驾标准80mg/L //K_MG_MV和K_ZERO为传感器校准系数,要根据每个MQ-3模块校准 #define K_MG_MV 160/60 //传感器灵敏度系数,可以自行校准 #define K_ZERO 0 //传感器零点漂移 //定义按键 sbit Key_Up = P3^6; sbit Key_Down = P3^7; //定义LED报警灯 sbit Led_Warn1 = P3^4; sbit Led_Warn2 = P3^5; //定义乙醇传感器TTL电平输出引脚 sbit DOUT = P1^4; //定义标识 volatile bit Fla

文档评论(0)

jiulama + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档