单片机的酒精测试仪的研究
目录
一、 引 言 1
(一)、数字酒精计的发展背景 1
(二)、设计意义 1
二、设计方案 1
(一)、方案选择 1
(二)、原理描述 2
三、硬件系统设计 3
(一)、硬件设计原理 3
(二)、AT89C51单片机简介 4
(三)、ADC0832模数转换器模块设计 5
(四)、LCD1602液晶显示器模块设计 6
(五)、报警模块设计 7
(六)、振荡电路设计 7
(七)、复位电路设计 8
(八)、MQ3型传感器模块设计 9
四、软件系统设计 10
(一)、主程序流程图设计 10
(二)、液晶显示程序流程图设计 11
(三)、A/D转换模块程序流程图 13
五、调试 14
六、总结 15
七、参考文献 16
八、致 谢 18
九、附录 19
一、 引 言
(一)、数字酒精计的发展背景
近年来,随着科学技术的迅猛发展,传感器是在生活还是工业中都扮演着举足轻重的角色,对人类社会的进步起着关键的作用。并且随着工业控制领域要求的提高,单片机的性能和功能不断提高,从最初的8位发展到如今的32位,基于单片机技术的酒精浓度测量仪已经成为现实,这极大地推动了单片机在生活中和工业中的普及和应用。本文以“基于单片机技术的酒精浓度测试仪”为研究对象,阐述了AT89C51单片机起源发展和原理、硬件整体结构以及软件设计,并着重介绍了“基于单片机的酒精浓度测量仪”是如何设计以及实现的。
(二)、设计意义
*好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2#
> 与传统酒精浓度测量仪相比,本次采用单片机设计的测量仪具有如下优点:
1、测量数据准确并且精确,比传统上的酒精计具有更大的分辨率;
2、操作方便,只需通上电即可开始测试,测量周期短;
3、可以通过LCD1602液晶显示器将测量数据反馈给用户,并带有酒精浓度超标报警提示;
4、功耗非常低,采用usb供电;
(三)、设计任务
1、采用AT89C51单片机作为控制芯片,片外配合相关模块实现整体功能;
2、能够快速地测量到气体中的酒精浓度,并通过显示器将浓度显示出来;
3、带有酒精浓度超标报警功能;
二、设计方案
(一)、方案选择
方案一:以采用51单片机为控制核心,片外配合MQ3型酒精浓度传感器、ADC0832模数转换模块、LCD1602液晶显示器模块及蜂鸣器模块构成整体检测系统,由于51单片机在业界内已经具备了相当成熟的开发技术并且开发资料丰富,对于完成本次毕业设计是绝对有利的,另外该方案成本低廉,模块分明并且稳定性强。
方案二:以采用FPGA芯片为主控芯片,片外同样配合MQ3型酒精浓度传感器、ADC0832模数转换模块、LCD1602液晶显示器模块及蜂鸣器模块。FPGA的显著特点是速度远高于单片机,其主频动辄上百M,是数字信号处理的首选,然而本次设计的酒精浓度测量仪对于处理速度没有过高的要求,并且考虑到过高的数字信号会给整体系统带来不稳定性,使最终的设计可靠性得不到保障。
综合上述两个方案的分析,本次设计采用方案一作为酒精浓度测量仪的最终设计方案。
(二)、原理描述
本酒精浓度测量仪采用的是MQ3型酒精浓度传感器作为酒精感应器件,当气体中的酒精浓度越大时,传感器的输出模拟电压越大,因此此传感器就实现了非电量和电量的转化,单片机就能够通过电压高低来判断酒精浓度的高低了。然而在AT89C51单片机内部不具有A/D转换的部分,所以单片机不能直接处理MQ3传感器传来的信号,必须在两者中间加一个转换桥梁--ADC0832芯片,这样通过ADC0832的作用,就能够使得模拟电压转换为数字信号,这样51单片机通过数字信号就能够得到酒精浓度的数据了。AT89C51在得到酒精浓度的数据后就可以在其内部将数字信号转化为具体的浓度,然后通过LCD1602将酒精浓度显示在液晶屏上,并且通过浓度值与标准值进行对比,当高于标准值时,AT89C51驱动蜂鸣器报警;当低于标准值时,蜂鸣器模块不工作。这就是酒精浓度测量仪的工作原理。
三、硬件系统设计
(一)、硬件设计原理
本系统是基于被称作AT89C51的单片机而设计的,片外配合ADC0832模块、LCD1602液晶显示器模块、MQ3传感器模块以及蜂鸣器模块而构成。本系统采用模块化设计,各模块之间关系清晰,分工明确,便于以后对系统功能的修改以及扩展,下图为本系统的整体结构图:
图1 系统总框架图
图2为电路原理图,当气体中的酒精浓度越大时,传感器的输出模拟电压越大,因此此传感器就实现了非电量和电量的转化,单片机就能够通过电压高低来判断酒精浓度的高低了。然而在AT89C51单片机内部不具有A/D转换的部分,所以单片机不能直接处理MQ3传感器传来的信号,必须在两者中间加一个转换桥梁--ADC0832芯片,这样通过ADC0832的作用,就能够使得模拟电压转换为数字信号,这样51单片机通过数字信号就能够得到酒精浓度的数据了。AT89C51在得到酒精浓度的数据后就可以在其内部将数字信号转化为具体的浓度,然后通过LCD1602将酒精浓度显示在液晶屏上,并且通过浓度值与标准值进行对比,当高于标准值时,AT89C51驱动蜂鸣器报警;当低于标准值时,蜂鸣器模块不工作。
图2 原理图
(二)、AT89C51单片机简介
AT89C51芯片内部含有一个4K字节的Flash?闪速存储器,为了防止代码被非法的复制,AT89C51内部集成有两级或者三级的程序储存器保密系统。在AT89C51的程序修改时,不用使用紫外线擦,这使得编程效率极大地得到了提高。
AT89C51单片机具备了一个具有4K字节容量的闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory),属于高性能的8位CMOS微型处理器。AT89C51能和工控标准的输出管脚和MCS-51指令系统相互兼容。ATMEL公司的这款AT89C51作为一种高效的微控制器,将多个模块集成在单个芯片里面,为大多数的嵌入式应用提供了一种高效的方案。它的结构如下图所示:
图7 振荡电路
(七)、复位电路设计
当我们使用电脑时如果出现死机等异常现象后,我们通常会选择重启电脑,而在单片机中,如果遇到程序运行异常如程序跑飞等现象时,该如何是好呢?同样的,在构建单片机最小系统时,我们通常会配置一个复位电路,如下图所示,它的功能就如同电脑的重启。在51单片机中,只要在其9号管脚保持2us的高电平,就可以使其被“重新启动”。
在给51最小系统上电的瞬间,系统自动被复位一次,如果按动图8中的S10按键一次,系统也会被复位。
图8 复位电路
一、 引 言 1
(一)、数字酒精计的发展背景 1
(二)、设计意义 1
二、设计方案 1
(一)、方案选择 1
(二)、原理描述 2
三、硬件系统设计 3
(一)、硬件设计原理 3
(二)、AT89C51单片机简介 4
(三)、ADC0832模数转换器模块设计 5
(四)、LCD1602液晶显示器模块设计 6
(五)、报警模块设计 7
(六)、振荡电路设计 7
(七)、复位电路设计 8
(八)、MQ3型传感器模块设计 9
四、软件系统设计 10
(一)、主程序流程图设计 10
(二)、液晶显示程序流程图设计 11
(三)、A/D转换模块程序流程图 13
五、调试 14
六、总结 15
七、参考文献 16
八、致 谢 18
九、附录 19
一、 引 言
(一)、数字酒精计的发展背景
近年来,随着科学技术的迅猛发展,传感器是在生活还是工业中都扮演着举足轻重的角色,对人类社会的进步起着关键的作用。并且随着工业控制领域要求的提高,单片机的性能和功能不断提高,从最初的8位发展到如今的32位,基于单片机技术的酒精浓度测量仪已经成为现实,这极大地推动了单片机在生活中和工业中的普及和应用。本文以“基于单片机技术的酒精浓度测试仪”为研究对象,阐述了AT89C51单片机起源发展和原理、硬件整体结构以及软件设计,并着重介绍了“基于单片机的酒精浓度测量仪”是如何设计以及实现的。
(二)、设计意义
*好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2#
> 与传统酒精浓度测量仪相比,本次采用单片机设计的测量仪具有如下优点:
1、测量数据准确并且精确,比传统上的酒精计具有更大的分辨率;
2、操作方便,只需通上电即可开始测试,测量周期短;
3、可以通过LCD1602液晶显示器将测量数据反馈给用户,并带有酒精浓度超标报警提示;
4、功耗非常低,采用usb供电;
(三)、设计任务
1、采用AT89C51单片机作为控制芯片,片外配合相关模块实现整体功能;
2、能够快速地测量到气体中的酒精浓度,并通过显示器将浓度显示出来;
3、带有酒精浓度超标报警功能;
二、设计方案
(一)、方案选择
方案一:以采用51单片机为控制核心,片外配合MQ3型酒精浓度传感器、ADC0832模数转换模块、LCD1602液晶显示器模块及蜂鸣器模块构成整体检测系统,由于51单片机在业界内已经具备了相当成熟的开发技术并且开发资料丰富,对于完成本次毕业设计是绝对有利的,另外该方案成本低廉,模块分明并且稳定性强。
方案二:以采用FPGA芯片为主控芯片,片外同样配合MQ3型酒精浓度传感器、ADC0832模数转换模块、LCD1602液晶显示器模块及蜂鸣器模块。FPGA的显著特点是速度远高于单片机,其主频动辄上百M,是数字信号处理的首选,然而本次设计的酒精浓度测量仪对于处理速度没有过高的要求,并且考虑到过高的数字信号会给整体系统带来不稳定性,使最终的设计可靠性得不到保障。
综合上述两个方案的分析,本次设计采用方案一作为酒精浓度测量仪的最终设计方案。
(二)、原理描述
本酒精浓度测量仪采用的是MQ3型酒精浓度传感器作为酒精感应器件,当气体中的酒精浓度越大时,传感器的输出模拟电压越大,因此此传感器就实现了非电量和电量的转化,单片机就能够通过电压高低来判断酒精浓度的高低了。然而在AT89C51单片机内部不具有A/D转换的部分,所以单片机不能直接处理MQ3传感器传来的信号,必须在两者中间加一个转换桥梁--ADC0832芯片,这样通过ADC0832的作用,就能够使得模拟电压转换为数字信号,这样51单片机通过数字信号就能够得到酒精浓度的数据了。AT89C51在得到酒精浓度的数据后就可以在其内部将数字信号转化为具体的浓度,然后通过LCD1602将酒精浓度显示在液晶屏上,并且通过浓度值与标准值进行对比,当高于标准值时,AT89C51驱动蜂鸣器报警;当低于标准值时,蜂鸣器模块不工作。这就是酒精浓度测量仪的工作原理。
三、硬件系统设计
(一)、硬件设计原理
本系统是基于被称作AT89C51的单片机而设计的,片外配合ADC0832模块、LCD1602液晶显示器模块、MQ3传感器模块以及蜂鸣器模块而构成。本系统采用模块化设计,各模块之间关系清晰,分工明确,便于以后对系统功能的修改以及扩展,下图为本系统的整体结构图:
图1 系统总框架图
图2为电路原理图,当气体中的酒精浓度越大时,传感器的输出模拟电压越大,因此此传感器就实现了非电量和电量的转化,单片机就能够通过电压高低来判断酒精浓度的高低了。然而在AT89C51单片机内部不具有A/D转换的部分,所以单片机不能直接处理MQ3传感器传来的信号,必须在两者中间加一个转换桥梁--ADC0832芯片,这样通过ADC0832的作用,就能够使得模拟电压转换为数字信号,这样51单片机通过数字信号就能够得到酒精浓度的数据了。AT89C51在得到酒精浓度的数据后就可以在其内部将数字信号转化为具体的浓度,然后通过LCD1602将酒精浓度显示在液晶屏上,并且通过浓度值与标准值进行对比,当高于标准值时,AT89C51驱动蜂鸣器报警;当低于标准值时,蜂鸣器模块不工作。
图2 原理图
(二)、AT89C51单片机简介
AT89C51芯片内部含有一个4K字节的Flash?闪速存储器
AT89C51单片机具备了一个具有4K字节容量的闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory),属于高性能的8位CMOS微型处理器。AT89C51能和工控标准的输出管脚和MCS-51指令系统相互兼容。ATMEL公司的这款AT89C51作为一种高效的微控制器,将多个模块集成在单个芯片里面,为大多数的嵌入式应用提供了一种高效的方案。它的结构如下图所示:
图7 振荡电路
(七)、复位电路设计
当我们使用电脑时如果出现死机等异常现象后,我们通常会选择重启电脑,而在单片机中,如果遇到程序运行异常如程序跑飞等现象时,该如何是好呢?同样的,在构建单片机最小系统时,我们通常会配置一个复位电路,如下图所示,它的功能就如同电脑的重启。在51单片机中,只要在其9号管脚保持2us的高电平,就可以使其被“重新启动”。
在给51最小系统上电的瞬间,系统自动被复位一次,如果按动图8中的S10按键一次,系统也会被复位。
图8 复位电路
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1867.html