基于单片机的酒精浓度检测系统_本科毕业论文(编辑修改稿)内容摘要:
行输入和输出的。 每收到一组 8 位的数据后, EEPROM 都会在第 9 个时钟周期时返回应答信号。 每当主控器件接收 到一组 8位的数据后,应当在第 9 个时钟周期向 EEPROM 返回一个应答信号。 收到该应答信号后, EEPROM 会继续输出下一组 8 位的数据。 若此时没有得到主控器件的应答信号, EEPROM 会停止读出数据,直到主控器件返回一个停止命令来结束读周期。 等待模式 24C02 特有一个低功耗的等待模式。 可以通过以下方法进入该模式: (a)上电。 (b)收到停止位并且结束所有的内部操作后。 器件复位 在协议中断、下电或系统复位后,器件可通过以下步骤复位:( 1)连续输入 9 个时钟;( 2)在每个时钟周期中确保当 SCL为高时 SDA 也为高 ;( 3)建立一个起始条件。 AT24C02 工作时总线各个时序图如下: 1)写周期时序图 图 35 写周期时序图 2)数据有效时序图 图 36 数据有效时序图 3)起始与停止时序图 图 37 起始与停止时序图 LCD1602 显示模块 1602 字符型 LCD 通常有 14条引脚线或 16条引脚线的 LCD,多出来的 2条线是背光电源线。 主要功能有: 40 通道点阵 LCD 驱动;可选择当作行驱动或列驱动;输出能产生 20 2 个 LCD 驱动波形输入接受控制器送出的串行数据和控制信号,偏压;通过单片机控制将所测 的频率信号读书显示出来。 LCD1602 显示模块 技术参数: 1602 液晶显示屏采用标准的 16 脚接口,其中各接口的功能如下表( 24)所示: 引脚 引脚名 电平 输入 /输出 引脚说明 号 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 背光电源负极 表 24 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 个控制指令,见表 38。 其中, DDRAM:显示数据 RAM,用来寄存待显示的字符代码; CGROM:字符发生存储器; CGRAM:用户自定义的字符图形 RAM。 表 38 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”,具体寄存器的选择控制表 39有操作说明。 因为 LCD1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如 39。 A’。 表 39 LCD1602 寄存器选择控制表 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 忙标志以及读取位址计数( DB0~DB6)值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 第三章 硬件电路设计 主程序 /CPU模块 图 31 该主控模块主要是由 STC12C5A16AD 单片机组成,此模块包括系统初始化、数据的处理及各模块的的组织和管理等功能。 主程序模块在系统中起着最重要的作用。 AT24C02 阀值存储模块 醉酒阈值存储在 EEPROM 芯片 AT24C04 中,并可以通过 “增加”、“减少”按键调节并保存。 AT24C02 是 IIC 接口 的 EEPROM 芯片,可以用于掉电不易失数据的存储。 其电路如图 32所示。 图中 A0、 A1和 A2 为芯片的地址引脚,一般接地即可。 SCL 和 SDA 为 AT24C02 和单片机 IIC通信的时钟线和数据线。 图 32 EEPROM 存储电路 MQ3 传感器调理电路 MQ3 乙醇气体传感器及其调理电路原理如图 33 所示。 经过调理,检测信号由电阻值转变成电压值,便于后续电路进行 A/D 转换和处理。 图 33 传感器及调理模块原理图 LCD 液晶显示模块 与单片机接口电路如图 34所示。 其中 LCD1602 的 3脚为背光引脚, R7和R8电阻用于调节背光亮度。 LCD1602 的 6 引脚分别接液晶的 RS、 E/W和E控制引脚, LCD1602 的 7~ 14 引脚为数据引脚。 图 34 LCD与单片机接口电路图 按键单元设计 电路共采用了两个按键如图 35,其功能分别是: K1 为加键, K2 为减键。 图 35 第四章 系统软件设计 主程序设计 主程序的设计主要是综合考虑本设计要达到的功能要求,要进行数据、定时器、A/D转换等的初始化,实时采集 MQ3酒精传感器模块输出的数据信息,并采集阀值 存储模块的数据,进行的相应的处理,实现 1602 实时显示被测气体中的酒精浓度和报警阀值,浓度超过阀值会发光报警提示。 数据初始化 报警 按键处理 定时器初始化 A/D 转换初始化 酒精浓度显示 显示初始化 进入后台 while循环 触发 A/D 转换 换算酒精浓 度 超过阀值吗。 酒精浓度显示 有键按下吗。 是 是 否 否 LCD1602 显示程序设计 先对 LCD1602 进行引脚定义,然后进行初始化设置,最后进行数据控制,这其 中包括数据指针的设置,读数据,写数据,和一些其他的设置。 24C02 阀值存储程序设计 醉酒阈值存储在 EEPROM 芯片 AT24C04 中,并可以通过 “增加”、“减少”按键调节并保存。 AT24C04 是 IIC 接口的 EEPROM 芯片,可 以用于掉电不易失数据的存储。 首先要对 I2C 总线的引脚进行定义,实时发送读取字节函数。 系统调试 调试之前:硬件焊接完成后即将开始调试,但在调试之前要对硬件各个部分进行仔细的检查,用万用表进行测量,测量各连接线无连接错脚、虚焊、漏焊等,确保无短路或者断路的存在,上电后如果发现有些芯片迅速发热应立即断电重新检查。 调试过程:检查过硬件之后上天发现液晶显示不亮,当时心里很失落,但经过与电路原理图进行 多次比对检查发现液晶的 2脚和 15 脚没有接高电平,焊接线后重新通电发现液晶发光了,但是此时又出现了新问题,液晶背光虽然亮了,但是没有显示任何的数据信息,此时判断是液晶的 6对应的引脚即 RS、R/W、 E段没接线,导致数据无法显示,重新焊接后显示数据部分搞定,然后等待 MQ3 传感器部分进行充分的预热,大概 5到 10 分钟的时间。 调试结果:预热完成后,我随即打开一罐啤酒喝了一口,然后对准 MQ3传感器探头进行吹气,发现液晶很快显示出此时的酒精浓度数值,而且酒精浓度超过了设定的 80mg/L 的报警阀值,二极管随即发 光报警,然后数据慢慢下降至零,然后又找了没喝酒的室友吹气检测发现酒精浓度为零,接下来对按键也进行了验证,发现加减数据正常,本设计达到了预期的效果,基本取得了成功,在此时心情很开心。 总结 由 于本设计使用的是以单片机作为核心的控制元件和灵敏的 MQ3 气敏传感器,使本酒精浓度检测系统具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。 但是在我们设计和调试的过程中,也发现了一些问题,譬如测得的酒精浓度的数值显示很短的时间就减小直至 0,不方便记录数据,气敏 传感器的接收端没有封闭的装置 ,比如呼气管等,这样可能造成测得的酒精浓度值与实际人体酒精含量的误差偏大。 参考文献 [1]薛峰 朱晓骏主编 单片机原理及应用 北京理工大学出版社 [2]谭浩强 . 新世纪计算机基础教育丛书 .C程序设计 [M] .清华大学出版 [3].万福君, 潘松峰.单片微机原理系统设计及应用 [M] .合肥:中国科学技术大学出版社, 2020 [4].蓝和慧,宁武,闫晓金 .全国大学生电子设计竞赛指导系列 . 全国大学生 电子设计竞赛单片机应用技 能精解 [M].电子工业出版社 ,2020 [5].何立民 .单片机应用技术选编 [M].北京:北京航空航天大学出版社, 1999 [6].求实科技 .单片机典型模块设计实例导航 [J].北京:人民邮电出版社, 2020 [7].陈小忠 .单片机接口技术实用子程序 [M].北京:人民邮电出版社, 2020 [8]. 赵晶主 .电路设计与制版 Protel99 高级应用 [J].北京:人民邮电出版社, 2020 [9] 沙占友 . 集成温度传感器原理与应用 . [M] 北京:机械工业出版社, 2020, 84~95. [10] 刘君华 . 智能 传感器系统 . [M] 西安:西安电子科技大学出版社, 1999, 83~105. [11] 沙占友 . 智能化传感器原理与应用 . [M] 北京:电子工业出版社, 2020, 99~108. [12] 赵负图 . 传感器集成电路手册 [M]. 北京:化学工业出版社, 2020, 692~703. [13] 张毅刚 . MCS51 单片机原理及应用 . [M]。基于单片机的酒精浓度检测系统_本科毕业论文(编辑修改稿)
相关推荐
单片机的定时 \计数 定时器 /计数器是单片机的重要功能模块之一。 在检测、控制及智能仪器等应用中,常用定时器作实时时钟,实现定时检测、定时控制。 还可用定时器产生毫秒宽的脉冲,驱动步进电机一类的电气机械。 计数器主 要用于外部事件的计数。 MCS51 单片机内部有两个 16 位可编程定时器 /计数器,即定时器 T0 和定时器 T1,它们既可以用作定时器方式,又可用作计数器方式,可编程设定 4
在 20Hz~20KHz 范围内,如果利用程序来控制单片机 I/O 口进行高低电平的变化,在 I/O 口 上就能产生 出较高 频率 的 脉冲波,将这脉冲波输出给外 接 的一个发声器件, 就能发出一定频率的声音 了。 此时 再利用 编程来 使高低电平在一定的时间内变 化一定的次数 ,就能 使输出频率发生改变 , 音调也随之改变。 所以,为了得到一定的频率方波 ,
3 STC89C52 单片机简介 随着单片机产品的出现及研发,经过逐步研究探索,我们 了解 单片机实验 体系 有 充足 的电路和机动 的组 合 方法 [56]。 单片机不仅仅是一个可以完成某项具体功能的芯片,而是一个计算机的微型缩影。 总而言之,单片机就是 由 一个 芯片组成的具有计算机通用功能的 微型计算机。 从单片机的出现到普及,单片机的性能得到了广泛的提高。
嵌入式知识背景。 它的应用范围包括网络设备、 个性化产品 、智能 设备 等 , 所以 嵌入式系统 具有较好的开发 和发展 前景。 本文主要研究的内容和任务 本文 提出的若干问题主要是 基于单片机的 银行排队 系统, 本文对 整个 的 设计 过程 进行了 规划,确定 了 系统 设计 中所 要设计 的主要模块及其实现方案, 对不同模块的硬件和软件的设计进行了详细的描述。
显示温青岛理工大学毕业设计(论文) 9 度和湿度信息。 数码显示电路采用共阳级数码管,由于 AT89C 51单片机每个 I/O口的拉电流只有 1~ 2mA,采用三极管驱动,通过 PC 0~ PC3进行位选,数据通过 PC4~ PC7输出,经过译码器 74LS47转换成适合数码管显示的7段数据码。 显示部分接到单片机的 J1接口上,其电路如图。 图 动态显示部分 至于键盘部分 采用非独立的 4X4
L C D 显示模块蜂鸣器 图 31 系统总体架构图 最小 系统 模块 系统设计使用 STC89C52 当作主控 CPU。 单片机最小系统,也 被称作 单片机最小应用系统,是指用最少的元器件组合 使得 单片 机可以正常工作的系统。 对于 51 系列的单片机来说,最小应用系统一般包括: 51 单片机、复位电路、时钟电路。 这里设计的 STC89C52 最小系统中包括复位电路