酒精浓度检测仪设计 江西农业大学本科毕业论文 - 图文

2026/1/25 1:21:30

酒精浓度检测仪设计

6.系统总体设计

6.1 硬件总体框图

MQ-3传感器模块 A/D转换模块

MCU控制中心 LCD显示模块 报警电路与待机指示灯电路 按键

23

酒精浓度检测仪设计

6.2 程序流程图

开始 检测按键k1与k2是否按下 k1与k2未按下 标志数flag为初始值1 k2按下 标志数flag置一 k1按下 标志数flag置零 执行待机程序,液晶显示简易计时,不检测和不显示酒精浓度 执行酒精浓度的实时检测,显示和报警 24

酒精浓度检测仪设计

6.3 硬件调试

在制作实物时有忘记连接、虚焊、飞线以及连接错误等情况,好在都成功检查了出来并改善了。目前硬件工作正常。

制作过程中最严重的问题是将液晶的数据口与P0口连接错误,完全倒置连接。考虑到P0口与液晶数据口连接处布线密集,飞线难度大,最后既定,将8根数据线剪断,再焊上两排排针,用杜邦线连接,最后效果很好。

硬件的连接已经在前面各节中详细介绍,此处不再赘述。电路原理图和实物照片参见附录一和附录二。

6.4 软件调试

本设计所用编译软件时keil。

各模块的软件设计已经在前面各节中介绍,这里主要介绍下标志数的应用,按键消抖和松手检测,定时器和定时器中断,主要谈及它们的原理以及软件实现过程。

6.4.1 标志数的应用(主函数运行待机程序还是检测程序的判断)

为了能让主函数分清是执行执行待机程序还是检测程序报警程序,引进标志

数flag。

当flag为1时执行待机程序: while(flag==1) {

……待机程序…… }

当flag为0时执行检测报警程序: while(flag==0) {

……检测报警程序…… }

25

酒精浓度检测仪设计

在初始化函数中先将flag置一: flag=1;

上电后则进入待机状态。

按键k1后使flag置零,执行检测报警程序。按键k2后使flag置零,又执行待机程序。

值得注意的是要在执行待机程序或检测报警程序前,执行待机程序的程序尾部,以及执行检测报警程序的程序尾部多加入按键检测程序:

if(k1==0) //按键检测 { }

if(k2==0) //按键检测 { }

delay(5); //消抖 if(k2==0)

flag=1;

delay(5); //消抖 if(k1==0) flag=0;

while(!k1); //松手检测

while(!k2); //松手检测

这样就可以重新设置flag,再执行完待机程序或检测报警程序后,判断接下来要执行什么程序。

6.4.2 按键的消抖与松手检测的程序实现

为什么要消抖?主要在手刚刚按下轻触开关时,会有抖动,有抖动时,程序会快速跑走,这样有可能等同于按了两下或多下按键的效果。

消抖原理:在检测到按键后,立刻延时约五毫秒,即延时消抖,这样就过了抖动时间,之后手的按键力度是非常稳定的。注意延时结束后立马在检测下按键是否还按下,以免因其它抖动误判。程序如下。

26


酒精浓度检测仪设计 江西农业大学本科毕业论文 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 酒精浓度检测仪设计 江西农业大学本科毕业论文 - 图文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219