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

巡山小妖精
986次浏览
2021年02月17日 17:22
最佳经验
本文由作者推荐

26字母表-

2021年2月17日发(作者:艳荡芦花湾)



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





I







近年来,随着我国经济发展,越来越多的私家车进入了人们的视野,而酒后

< br>驾车造成的交通事故也屡屡攀升。本文研究了一种用于公共场所具有检测及超限


报 警功能的酒精浓度检测仪设计。


设计方案基于


89


C


51


单片机和


MQ


3


酒精浓度传


感器,系统先将传感器输出的信 号通过


A/D


转换电路处理后,再经单片机进行数


据处理,最后由


LCD


显示酒精浓度值,从而告知驾 驶人在合理安全的情况下才能


驾车行驶。


经过大量实验,基于单片的酒精浓度测试仪比传统的机械检测仪或酒精计灵


敏,扩展 简单,准确方便,可靠性好,检测精度高,控制功能强大,对超出阀值


进行声光报警,直 观准确。所以基于单片机的酒精浓度监测仪的研究对社会公共


安全的提高具有很大促进作 用。



关键词:


酒精浓度传感器,



单片机,



数模转换,



硬件设计,



报警




II




ABSTRACT


In


recent


years,


along


with


our


country


economy


development,


more


and


more


private cars have come into the vision. While drunk driving traffic accidents caused by


the



paper


used


for


public


inspection


and


overrun


with


the


functions


of


alcohol


concentration


intelligent


tester.


Design


scheme


based


on


89C51


and


MQ3


alcohol concentration sensor, the system will be the first sensor output signal through


the A/D converter circuit after treatment, then the MCU data processing, and finally by


LCD display alcohol leel. Thus told people in the safety of reasonable driving can drive.


Refined over a large number of experiments, using the alcohol concentration test


instrument


than


traditional


mechanical


detector


or


alcohol


gauge,


extended


simple,


accurate and convenient, good reliability, high precision, strong control function, to go


beyond threshold alarm, intuitive and based on SCM alcohol concentration


monitor research for social public security increase of great value.



Keywords:


Alcohol,


concentration


sensor,


microcontroller


analog-to- digital


conversion ,



hardware design,



alarm


III








1






----------------------------------------- ----------------------------


5


1.1


酒精浓度检测仪的背景


< /p>


-


---------------------------- -----------------------


5


1.2


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



-< /p>


---------------------------------------- ---


5


1.3


本课题实现目 标


-------------------------------------- --------------------


5


2


设计方案和元器件选择


----------------- --------------------------------------


6


2.1


设计方案


----------------------- ----------------------------------------


6


2.2


单片机的选择


--------------------- --------------------------------------


6


2.3


传感器


------------------------ -----------------------------------------


8


2.4


数模转换器


---------------------- ---------------------------------------


9


2.5 AT24C02


存储器



------ -------------------------------------------------- -


10


2.6 LCD


显示模块



--------- --------------------------------------------------


10



3


系统硬件设计



---------- -------------------------------------------------- -


12


3.1


硬件设计原理


--------------------- -------------------------------------


12


3.2


硬件设计外围电路< /p>


---------------------------------------- ---------------


13


3.2.1


晶振电路、复位电路设计



-


------------------------------------------- -


13


3.2.2


报警电路设计



-

------------------------------------------------ ------


15


3.2.3


电源电路设计



-

------------------------------------------------ ------


15


3.2.4


信号调制电路设计



-


---------------------------------------------- ----


16


3.2.5 A/D


转换电路设计



------- --------------------------------------------


17


3.2.6


外围扩充存储器电路设计



-


------------------------------------------- -


18


4


系统软件设计



---------- -------------------------------------------------- -


19


4.1


主程序流程图


--------------------- -------------------------------------


19


4.2 A/D


转换模块程序流程图



---- ---------------------------------------------


19


4.3


按键程序流程图


----------------------------------------- ----------------


20


4.4


液晶显示程序流程图



-


--------------------------------------------- -------


21


5


本设计总结与展望



-------- -------------------------------------------------


22


6


结束语



------------- -------------------------------------------------- ----


23


参考文献



------------------------------------------- ----------


错误


!


未定义 书签。







--------------- -----------------------------------------

< br>错误


!


未定义书签。



IV



1






1.1


酒精浓度检测仪的背景


< /p>


对气体中酒精含量进行检测的设备有五种基本类型,


即:


燃料电池型


(


电化学


)



半导体型、气体色谱分析型、红外线型、比色型。但由于价格 和使用方便的原因,


常用的只有燃料电池型和半导体型两种。




燃料电池作为一种发电装置,它的原理是将存在于燃料与氧化 剂中的化学能


直接转化为电能



当前各 国家都在广泛研究环保型能源,


因为它直接可以把可燃气


体转变 成电能,并且不产生污染,酒精传感器只是燃料电池的一方面应用。与半


导体型的相比, 燃料电池型呼气酒精检测仪有很多优势,即稳定性好,精度高,


抗干扰性好。但是燃料电 池酒精传感器的结构要求非常精密,制造难度相当大,


并且材料成本高,价格昂贵


[3]




1.2


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



如今 的酒精浓度检测仪都是采用可替代吹管,酒精仪从传统的机械检测或酒


精计到现在的利用 传感器和单片机核心技术的酒精浓度检测仪是在技术上是一大


突破,提高了检测酒精的精 确度,社会公共安全系数也大大的提高。



但是现在大部分一般 的酒精浓度检测仪价格低的灵敏度低,准确度高的售价


也比较昂贵,并且大多只是对结果 进行预警、低报、高报三限报警点设置。为了


得到准确的浓度数值,


LED


显示酒精浓度数值上应实现普及。


同时很多其他气


体会可能会对检测的结果产生影响,从而影响准确度,所以在 传感器的腐蚀性以


及排除其他干扰的能力上也待提升。现在大多都是对气体浓度或液体浓 度的单一


检测,最好是能解决一个检测仪能同时对酒精的气体和液体两种状态下的检测。



1.3


本课题实现目标



本课题进行硬件部分 和软件部分设计,硬件部分是利用酒精气敏传感器检测



空气中 的酒精浓度并转为电压信号,经


A/D



转换器程序转换成数字信号传给单片


机系统,并经单片机及其外围电路信号处理,显示 酒精浓度值以及超阈值声光报


警。



5



硬件设计部分主要包括:


MCU



A/D



LCD


、外围扩展数据



RAM



等芯片的


选择。



2


设计方案和元器件选择



2.1


设计方案



因为设计时考虑酒精浓度是由传感器把非电量转换为电量,传感器输出的是


0- 5


伏电压值且电压值稳定,外部干扰小等,所以可以把传感器输出电压值经过

< p>
A/D


转换得到数据交给单片机进行处理。因此要求系统配备完善的模拟量 和数字


量输入输出通道和完善的中断系统和处理功能。单片机采集酒精传感器的响应信< /p>


号,并且进行转换。进行气体检测的基本步骤是信号采集处理、声光报警电路以

< p>
及显示、键盘、


PC


接口电路测试。模数转换就是 用于快速、高精度的对输入信号


采样编码,然后转化成数字量储存在数据储存器中,然后 单片机通过特定的算法


进行气体浓度的识别,同时和所设值进行对比,超出则报警同时显 示浓度数值,


没超出只显示浓度数并且将结果输出到


LCD


显示屏幕上。



2.2


单片机的选择



我们选择单片机


STC


89


C


51< /p>


为控制核心,主要基于考虑



STC


89


C


51


具有低 价


高速,高可靠强抗静电,强抗干扰的特点。



STC


89


C


51



40


个引脚,


32< /p>


个外部双向输入


/


输出

< br>(


I/O


)


端口



并且有


2


个外


中断口,



2


个全双工串行 通信口,


32


个读写口线,片内振荡器及时钟电路,

< p>
3



16


位可编程定时计 数器。


89


C


51


能够按照常规方法进行编程,也能够在线编程。


同时


STC


89


C


51


可降至


0


Hz


的静态逻辑操作,并支持两种软件可选的节电工作模


式。空闲方式停止

< br>CPU


的工作,但允许


RAM


, 定时


/


计数器,串行通信口及中断


系统 继续工作。


掉电方式保存


RAM


中的内 容,


但振荡器停止工作并禁止其他所有


部件工作直到下一个硬件 复位,其将通用的微处理器和


Flash


存储器结合在一起,< /p>


特别是可反复擦写的


Flash


存储器可 有效地降低开发本。


STC


单片机有



PDIP



PQFP/TQFP



PLCC


等三种封装形式,以适应不同产品 的需求。




STC

< br>89


C


51



单片机单片机引脚功能,引脚如图



2-2


所示:



6



(1)


Vcc


:电源电压




(2)


GND


:地





2-2 89

C


51


单片机引脚图


< p>
STC


89


C


51


是低电压,


高性能的


CMOS


8


位单片机,片内含


8


K b ytes


的可反复


擦写的只读程序存储器


(


PEROM


)


< br>256


Kbytes


的随机存取数据存储器,器件采用< /p>


高密度,


非易失性存储技术生产,


与标准



MCS-


51


指令系统及



89


C


51



产品引脚兼


容,片内置通用



8


位中央处





FLASH



存储 单元,功能强大,


STC


89


C


51



单片


机适合于 许多较为复杂控制应用场合。




主要性能参数:



(1) 8


K


字节可重擦写



FLASH



闪存存储器




(2) 1000


次写


/


擦循环



(3)



时钟频率:


0


Hz


—< /p>


24


MHz




(4)



三级加密存储器



(5)



256


字节内部


RAM



(6)



3 2


个可编程


I/O


口线




(7)



2



16


位定时


/


计数器




7



(8) 5


个中断源




(9)


可编程串行


UART



通道



(10)


低功耗的空闲和掉电模式


< /p>


(11)


片内振荡器和时钟电路


[4]< /p>



2.3


传感器



本系统直接测量的是呼气中的 酒精浓度,再转换为血液酒精含量浓度。在选


择传感器的时候,一定要考虑到稳定性、灵 敏度、选择性和抗腐蚀性。本系统选



MQ

3


型酒精传感器,


MQ


3


酒精传感器是气敏传感器,其具有很高的灵敏度、


良好的选择性、长久的 使用时间和可靠的稳定性的特点。




传感器的标准回路有加热回路和信号输出回路两部分。其中信号输出回路能


比较精准的检 测出传感器表面电阻值的变化。传感器表面电阻



RS



的变化,是通

< br>过与其串联的负载电阻


RL



上 的有效电压信号


VRL


输出面获得的。



二者之间的


关系表述为:


RS/RL= (VC-VRL)/VRL


,其中


VC


为回路电压,


10


V


负载电阻



RL


可调为



0.5



200


K< /p>



加热电压



U h



5


V


。< /p>


上述这些参数使得传感器输出电压为



0




5


V



MQ


3



型气敏传感器的结构和外形如下图


2-3< /p>


所示,


标准回路如下图


2-4

< p>
所示。


为了使测量的精确度达到最高,误差最小,需要找到适宜的温度,一 般在测量之


前将传感器预热


5


分钟。< /p>





2-3


MQ3


结构和外形



8





2-4


MQ3


标准回路图



2.4


数模转换器



实现



A/D



转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行


转换法。由于逐次逼近式


A/D


转换具有速度,分辨率高等优 点,而且采用这种方


法的


ADC


芯片成 本低,


所以我们采用逐次逼近式


A/D



转换器。


逐次逼近型



ADC


包括


1


个比较器、一个模数转换器、


1


个逐次逼近寄存器

< p>
(


SAR


)


< p>
1


个逻辑控制单


元。逐次逼近型是将采样信号和已 知电压不断进行比较,一个时钟周期完成


1


< br>转换,依次类推,转换完成后,输出二进制数。这类型


ADC

的分辨率和采样速率


是相互牵制的,优点是分辨率低于


12


位时,价格较低,采样速率也很好。




ADC


0832


模数转换器具有


8


位分辨率、


双通道



A/D



转换、


输入输出电平与



TTL/CMOS



相兼容、


5


V



电源供电时输入电压在



0

< p>


5


V



之间、工作频率为


250


KHZ



转换时间为


32


微秒、

< p>
一般功耗仅为


15


MW



等优点,


适合本系统的应用,


所以我们 采用


ADC


0832


为模数转换器


[5]





ADC


0832



具有以下特点:



(1)



8


位分辨率




(2)


双向通道



A/D



转换



(3)



输入电平与输出电平与


TTL/CMOS



相兼容



(4) 5


V


电源供电时输入电压在



0~5


V



之间



9



(5)


工作频率是


250

< p>
KHZ


,转换时间是


32


μS



(6)


一般功耗仅为


15


mW


(7) 8


P



14


P



DIP

(


双列直插


)


< br>PICC


多种封装



商用级芯片 温宽为


0




to



+70




,


工业级芯片温宽为


-40



to



+85


度;



片接口说明:



(8)


CS_



片选使能,低电平芯片使能




(9)


CH


0



模拟 输入通道


0


,或作为



IN


+/-


使用




(10)


CH


1



模拟 输入通道


1


,或作为



IN


+/-


使用




(11)


GND



芯片参考


0

< br>电位


(



)



(12)


DI


数据信号输入,选择通道控制




(13)


DO



数据信号输出,转换数据输出




(14)


CLK



芯片时钟输入




(15)


Vcc/REF


电源输入及 参考电压输入


(


复用


)



2.5 AT24C02


存储器



在本设计中使 用的是


24


C


02

存储芯片,是电可擦除的



PROM



8


个引脚功能


及两线串行接口,电压允许范围


1.8

< p>
V~


5


V


。串行


E


2


PROM


是基于< /p>


I


2


C-BUS



的存


储器件,遵循二线制协议,由于其具有接口方便,体积小, 数据掉电不丢失等特


点,


在仪器仪表及工业自动化控制中得到大 量的应用。


在一般单片机系统中,


24


C


02



数据受到干扰的情况是很少的 ,基本的读写功能外,还对地址功能以及


WP


引脚


保护功能进行了全面的检测


[6]


。发现一种


ATME


L(


激光印字


)


以及



XICOR


牌号的



24


C


02


具有全面的符合


I


2


C


总线协议的功能,而有些牌号


24


C

< br>02


要么没有


WP


< p>
脚保护功能,


要么没有器件地址功能


(

< p>


2



24C02


不能共用一个


I


2


C


总线


)


有些甚


至两种功能均无,所以说一些同样功能型号的电子器件在兼容性上往往会带来意


想不到的 问题,值得引起注意。



2.6 LCD


显示模块



液晶显示模块与计算 机的接口电路有两种方式,它与单片机的接口方法分为


直接访问方式和间接控制方式。直 接访问方式是把液晶模块当作存储器或



I/O




10



备 直接接在单片机的总线上,


单片机以访问存储器或


I/O


设备的方式操作液晶显示


模块的工作。间接控制方式只是利用它的



I/O


口来实现与显示模块的联系,而不


使用单片机的数据系统。这种访问方式既不占用存储器空间,接口电路又与时序



无关,其时序彻底地靠软件编程实现



[7]




























2-1 LCD1602


接口功能表



引脚号



1


2


3


4


引脚名



VSS


VDD


VL


RS


电平






0/1


输入输出






输入



引脚说明



电源地



电源正极(

< br>+5


V




液晶显示偏压信号



数据


/


命令选择端,


0



输入指令,


1



输入 数据



5


R/W


0/1


输入




/


写选择端,


0

< br>:



LCD


写入指令或数据,< /p>


1




LCD< /p>


读取信息



6


E


1



0


输入



使能信号,

1


时读取信


息,


1



0


(下降沿)执


行指令



7


8


9


10


11


12


13


14


15


16


D


0



D


1



D


2



D


3



D


4



D


5



D


6



D


7



BLA


BLK


0/1


0/1


0/1


0/1


0/1


0/1


0/1


0/1


+VCC


接地



输入


/


输出



输入


/


输出



输入


/


输出



输入


/


输出



输入


/


输出



输入


/


输出



输入


/


输出



输入


/


输出





数据总线(最低位)



数据总线



数据总线



数据总线



数据总线



数据总线



数据总线



数据总线(最高位)



LCD


背光电源正极



LCD


背光电源负极



11



LCD


1602


字符型液晶显示模块 是一种专门用于显示字母、数字、符号等点阵




LCD


,目前常用


16×1,16×2,20×2< /p>



40×2


行等的液晶显示模块,模块组


件内部主要由


LCD


显示屏、控制器、 列驱动器和偏压产生电路构成。




1602



液晶显示屏采用标准的


16


脚接口,其中各接口的功能如上表


2- 1


所示:




3


系统硬件设计



基于单片机酒精浓度检测仪的硬件设计部分,首先,我们必须了解它的硬件


设计 原理其次,需要弄清楚它的总体构成及具体的外围电路最后,根据其原理框


图和具体的外 围电路得到完整的硬件总电路图。



3.1


硬件设计原理



由酒精传感器对待测气 体


(


液体


)


进 行检测,


转换成输出电压信号,以单片机为


核心的控制、信号采 集处理、声光报警电路以及显示、键盘、


PC


接口电路。测试< /p>


仪进行气体检测的基本步骤是单片机先采集酒精传感器的响应信号,然后进行转

< p>
换,储存在数据储存器中,最后单片机通过特定的算法进行气体浓度的识别,同

时将分析的值与设定值进行对比,


对超出设定值进行报警,


并且将结果输出到


LED


显示屏幕上


[ 8]




本系统由酒精传感器,数模转 换器,单片机,键盘,声音报警以及


LCD


显示


等部分组成,在这次的整体设计中详细涉及下面几个方面,其原理框图如图



3-1


所示:



传感器


外部存储器


信号调制


液晶显示 器


A/D


单片机


按键

< br>



3-1


系统总体流程图



12



3.2


硬件设计外围电路



3.2.1


晶振电路、复位电路设计



单片机工作 的过程中各指令的微操作在时间上有严格的次序,这种微操作的


时间次序称作时序。单片 机的时钟信号用来为单片机芯片内部各种微操作提供时


间基准。


89


C


51


的时钟产生方式有两种, 一种是内部时钟方式,一种是外部时钟


方式。内部时钟方式即在单片机的外部接一个晶振 电路与单片机里面的振荡器组


合作用产生时钟脉冲信号。外部时钟方式是把外部已有的时 钟信号引入到单片机


内,此方式常用于多片


89


C


51


单片机同时工作,以便于各单片机的同步,一 般要


求外部信号高电平的持续时间大于


20

ns


,且为频率低于


12


MHz< /p>



的方波


[9]


。对于


CHMOS


工艺的单片机,外部时钟要由


XTAL1


端引入,而


XTAL


2


端应悬空。本


系统中为了尽量降低功耗的原则,采用了内部 时钟方式。晶振电路和复位电路如


下图


3-2

< br>所示:




< br>3-2


晶振电路与复位电路



单 片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条


程序和如何开始 运行程序。端口线电平和输入输出状态不确定可能使外围设备操


13



作失误,


导致严重事故的发生,内部 一些控制寄存器


(


专用寄存器


)


内容不确定可能


导致定时器溢出、程序尚未开始就要中断及串口乱传向 外设发送数据。因此,任


何单片机在开始工作前,都必须进行一次复位过程,使单片机处 于一种确定的状


态。



当在



89


C


51


单片机的


RST

< br>引脚引入高电平并保持


2


个机器周期时,


单片机内


部就执行复位操作


(


若该引脚持续保持高电平,


单片机就处于循环复位状态


)



实际


应用中,复位操作有两种基本形式:一 种是上电复位,另一种是上电与按键均有


效的复位。上电复位,要求接通电源后,单片机 自动实现复位操作常用的上电复


位,上电瞬间


RST

< p>
引脚获得高电平,随着电容


C


1

< br>的充电,


RST


引脚的高电平将


逐渐下降


[10]




本设计中复位电路采用的是开关复位电路,开关


S


9< /p>


未按下是上电复位电路,


上电复位电路在上电的瞬间,由于电容上 的电压不能突变,电容处于充电


(


导通


)


状态,故


RST


脚的电压与


VCC


相同。随着电容的充电,


RST



脚上的电压才慢慢


下降。

选择合理的充电常数,


就能保证在开关按下时是



RST



端有两个机器周期以


上的高电平从而使


STC


89

< br>C


51


内部复位。开关按下时是按键手动复位电路,


RST


端通过电阻与


VCC


电源接通,


通过电阻的分压就可以实现单片机的复位。


如图


3-3


所示:



电容


R4 10k


Vcc


按键开关


R5 1k


R3 10k


接地




3-3


复位电路



RST


引脚的高电平只要能保持足够的时间


2


个机器周期)



单片机就可以复


位操作。该电路典型的电阻和电容参数为:晶振为

< p>
12


MHz


时,


C


1



10


Uf



R


4


< p>
8.2


K




14



3.2.2



报警设计设计


在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,


供操作人 员借鉴。但针对某些特定状态,例如系统检测到的错误状态等,为了使


操作人员不小心忽 视,及时采取措施,必须还需要有某种更能引人注意,提起警


觉的报警信号。这种报警信 号一般有闪光报警、鸣音报警和语音报警三种类型。


其中,前两种报警装置因硬件结构简 单,软件编程方便,往往在单片机应用系统


中使用。但语音报警虽然警报信息较直接,并 且硬件成本高,结构相对复杂,软


件量也增加


[1]

< p>
。闪光报警实现单频音报警的接口电路比较简单,


只要当值高于警报


值的时候给一个低电频就能驱动二极管发光,简单易懂。报警电路如下图


3-4



示:





3-4


报 警电路图



3.2.3


电源电路设计



在本次设计中,


需要一个比较大的电压源和一个


5


V


的单片机供电源,


为了实


现便携式,设用一个< /p>


9


V


的电压源,一般

6


节电池和一个


9


V


的电池都可以提供,


因而需要一个电压转换把


9


V


转换成


5


V



工作原理如图



3-5


低压层直流稳压电源


电路原理 图。该电路是由电流放大、电压放大和基准电压等


3


个环节组成 。其中,


15

26字母表-


26字母表-


26字母表-


26字母表-


26字母表-


26字母表-


26字母表-


26字母表-