版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的酒驾检测系统目 录摘要 IAbstract II绪论 1论文的研究背景与意义 1酒驾检测系统的发展趋势 1论文研究的主要内容和主要工作 2系统总体设计 3酒驾检测系统工作原理 3系统器件分析与选型 3单片机选型 3传感器选型 5系统总体设计方案 6系统硬件设计 7单片机最小系统设计 7时钟电路 7复位电路 8电源模块设计 8传感器模块设计 9A/D转换模块设计 9液晶显示电路模块 11报警电路模块 12灯光报警电路 12声音报警电路 13按键电路模块 13系统软件设计 15主程序设计 15数据采集子程序 15按键输入模块 16液晶显示模块 16系统调试 17软件仿真调试 17硬件焊接调试 18总结与展望 19参考文献 20致谢 21附录一系统电路原理图 22附录二PCB封装图 23附录三源程序 24PAGE\*ROMANPAGE\*ROMANII基于单片机的酒驾检测系统设计陈慧祯摘要:随着世界经济的快速发展和生活质量的迅速提高,世界进入汽车时代,本文研究设计了一种能够快速检测气体中酒精浓度并且当浓度超过设定阀值时A/D转换电路,A/D转换电路能够把此信号变为数字信号传输给单片机,LCDLCDKeiluVision4C语言编程,采用模块化设计思想,各部分子程序的功能相对来说都比较独立,便于后期进行调试以及修改。关键词:酒精浓度传感器;A/D转换器;STC89C51DesignofdrunkdrivingdetectionsystembasedonmicrocontrollerCHENHUIZHENAbstract:Withtherapiddevelopmentoftheworldeconomyandtherapidimprovementofthequalityoflife,theworldhasenteredtheautomotiveera,andChinahasenteredthe"automobilesociety",butdrivingbehaviorsthatdonotcomplywithtrafficregulationshavebroughthugeharmtohumanlifeandproperty.ThesebehaviorsTrafficaccidentscausedbydrunkdrivingbehaviorinChinaaccountforalargepart.Atpresent,drunkdrivinghasbeenincludedinthescopeofcriminallawinChina,andsocietyurgentlyneedsanelectronicmeasuringinstrumentthatcanhelpdriversquicklyandaccuratelydeterminewhethertheyhavereachedthestandardofdrinkingdriving.Thisarticleresearchesanddesignsadevicethatcanquicklydetectthealcoholconcentrationinthegasandrealizetheaudibleandvisualalarmwhentheconcentrationexceedsthesetthreshold.Thedesigncontentisdividedintotwoparts,hardwareandsoftware.Thehardwarepartisbasedonasingle-chipmicrocomputersystem.Whenthegasentersthealcoholconcentrationsensor,thesensordetectstheresultandconvertsitintoavoltagesignal.ThisvoltagesignalisthenappliedtotheA/Dconversioncircuit,A/D.Theconversioncircuitcanconvertthissignalintoadigitalsignalandtransmitittothesingle-chipmicrocomputer.Atthistime,thesingle-chipmicrocomputerandperipheralcircuitsstarttowork.Thedigitalsignalisanalyzedandprocessed,andtheprocessedresultisinputtotheLCDdisplay.ThealcoholconcentrationvalueisdisplayedontheLCD.Whenthevalueexceedsthesetthreshold,anaudibleandvisualalarmisissuedautomatically.ThesoftwarepartisprogrammedinClanguageinKeiluVision4,adoptingthemodulardesignidea,thefunctionsofeachsubroutinearerelativelyindependent,whichisconvenientforlaterdebuggingandmodification.Keywords:alcoholconcentrationsensor;A/dconverter;SinglechipmicrocomputerPAGEPAGE9绪论论文的研究背景与意义27%56倍。当人体内有少量酒精摄入时,人体会感觉到激动、振奋、敏感,据科学研究少量的酒精摄入会使人镇静,而摄入较多酒精则会使人的反应力、注意力、判断力、机能,60万人因交400为的酒精浓度快速检测装置应运而生[1]。1600受市场一般需求以及价格、功能的影响,本次设计选用半导体型酒精传感器就可以较好的满足设计要求。论文研究的主要内容和主要工作本课题分为两部分:硬件设计部分和软件设计部分。A/D转换A/D转换电系统设计要求如下:1、用户可以自由设定上限阀值;2、当测量值低于设定值时,绿灯闪烁;当测量值高于设定值时,蜂鸣器报警,红灯闪烁;3、装置体积小、便于携带、操作简单;4、显示测量值清楚明白。入模块及液晶显示模块共四部分分别开展逻辑设计以及程序语言编写。最后,利用Protues软件对系统设计开展整体仿真实验,以验证系统完整性以可操性,确保满足全部设计要求。系统总体设计酒驾检测系统工作原理成熟,交通警察拥有丰富的使用经验,历经几代改进。2.1。2.1酒精传感器基本类型及特点类型高灵敏度、低功耗、快速的响应恢复、长寿命,小巧燃料电池型(电化学)稳定性好、抗干扰性强、精度高、环保昂贵应用场合特殊、适配性较差精度高、稳定性差检测范围广、高功耗、寿命短2-1所示。图2-1半导型气体传感器结构示意图与设定信息进行输入信息处理,并通过显示屏、LED发光二级管与蜂鸣器提示司机是否已达到酒精标准,系统操作简单便捷,可快速直接检测驾驶员酒精浓度[3]。系统器件分析与选型单片机选型51系列单片机了,它STC51612STC89C510-40MHZ,316RAM3236I/OFlash程序存储器、SRAM、UART、SPI、A\D、PWM等。3.8-5.5V个引脚)PDIP(40个引脚。CPU为核心,结合外围电路组成整个系统,这是比较传统的结构模式,而创新点是微处理器CPU不单独控制各个模块,而是通过特殊功能寄存器对各功能模块集中控制,这样能够大大提高整个系统的稳定性和工作效率。STC89CXXMCS-51单片机指令完全兼容,具有较强的+5V或+12V稳定性更强,4K的程序存储器也基本上能够满足系统要求,因此本次设计最终选用STC89C51单片机来完成[4]。STC89C51单片机完成本次设计时,第一步要做的就是深入学习和了解STC89C51系列单片机的兼容性较强,引脚都是互相兼容的。其中本次设计选用的STC89C51HMOS402-2所示。图2-2STC89C51引脚图40只引脚的具体功能说明见表2.2。表2.2STC89C51引脚及功能介绍引脚 功能Vss 用来接地,表示低电平Vcc 用来接电源XTAL1 用来接外部时钟信号XTAL2 用来接外部时钟信号RST/VPD 用来输入复位信号,还可接备用电源ALE/PROG 8位地址PSEN 用来输出读外部程序存储器的选通信号EA/VPP 通过此引脚来选择访问程序存储器P0.0-P0.7 P0数据/8位地址复用总线端口P1.0-P1.7 P1静态通用端口P2.0-P2.7 P28位地址总线动态端口P3.0-P3.7 P3双功能静态端口需要特别注意的是P1、P2还作为A/D转换数据ADC0-ADC7或新增的串行口线。传感器选型MQ3Al2O3SnO2敏感MQ32-3的灵敏度2-4所示。图2-3MQ3型气敏传感器系统总体设计方案
图2-4MQ-3灵敏度特性曲线本系统相较传统酒精检测装置从出发点进行改变,传统该类设备操作者为相关执51将酒驾行为扼杀在摇篮之中。51系列单片机,它的内存和容量相对来说比较充足,内部的芯片还可ISPMQ-3A/DADC0832,ADC0832MQ-3输出的电压信号后将模拟量转化为数字量传送给单片机89C51。89C51作为微处理器MCULCD16020-5VMQ3ADC0832,经过2-52-5系统结构框图系统硬件设计A/D音报警电路与按键电路模块共九部分组成。单片机最小系统设计(A/D扩展等实现预先设定的功能,达到设计要求完成设计[5]。STC89C51STC89C513-1所示。时钟电路
3-1单片机最小系统原理框图次设计采用内部震荡方式获得时钟信号。具体方法是把一个晶体震荡器外接在引脚XTAL1XTAL26MHz12MHz24MHz12MHz3-2C1、C2[6]。Y112MHZC130PC230PGNDXTAL1Y112MHZC130PC230PGNDXTAL1XTAL2
图3-289C51内部时钟电路图89C51RST5ms想要正常工作的话,复位后RST引脚的高电平必须立即消失,否则单片机就会不停的复位,循环往复而无法进行正常工作。作者按下相应的复位按扭完成复位操作,是手动复位[7]3-3所示。VCC++C310uf S0SWSPSTRSTR110K图3-389C51复位电路图电源模块设计DC3-4所示。P1POWER2 1S1246P1POWER2 1S1246246135
图3-4电源供电模块电路图+5VMQ3应,此时就可以通过测量到的电压值来确定酒精浓度了[8]3-5示。R10481R1048123RL3AFA1kBFB654R75.1VCCINMQ-3A/D转换模块设计
3-5信号采集电路3133135VCCA/D转换器就是制数字信号,之后把数字信号传输给计算机系统进行处理,ADC0832是美国生产的8A/D256级,能够满足设0-5V32μS,而且因为是双数据输出,可以数据PAGEPAGE19DI转化速度较快,因此已经被广泛应用于各个领域。ADC0832引脚图,如图3-6所示;其每个引脚及功能见表3.1。表3.1ADC0832引脚及功能引脚 功能CS 通过电平高低决定芯片是否工作,低电平有效CH0 模拟量可以从此端口输入CH1 模拟量可以从此端口输入GND 接地端口,代表低电平DI 数字信号从这个端口输入,可以选择通道控制DO 数字信号从这个端口输出,可以转换\h数据输出CLK 时钟信号输入端口Vcc/REF 电源端口U2P1.4P1.4INGND12348VCC7P1.26 P1.35CS VCCCH0 CLKCH1 DOGND DIADC0832图3-6ADC0832引脚图在装置实际工作时,ADC0832DODI端是不会同时有效的,并且由于0832DODIP1.3端CSP1.4CSCSCLK端口接到单片机P1.2DIDI/DODI23DI端应输入两位数据用于选择通道功能[9]3-7ADC0832与89C51单片机连接电路图。INGND
U2CS CS VCCCH0CLKCH1DOGND DI234ADC0832
567VCCK3GND567VCC
U1P1.0 VCCP1.0 VCCP1.1 (AD0)P0.0P1.2 (AD1)P0.1P1.3 (AD2)P0.2P1.4 (AD3)P0.3P1.5 (AD4)P0.4P1.6 (AD5)P0.5P1.7 (AD6)P0.6RST P3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)(A15)P2.7P3.4(T0)(A14)P2.6P3.5(T1)(A13)P2.5P3.6(WR)(A12)P2.4P3.7(RD)(A11)P2.3XTAL2 XTAL1 (A9)P2.1GND (A8)P2.02434565789101112131415161718192089C51
40 VCC39 D738 D837 D936 D1035 D1134 D1233 D1332 D1431302928 K227 K126 JD25 EN24 RS23 2221 LEDG图3-7ADC0832与89C51单片机连接电路图液晶显示电路模块LCD好的满足本设计的要求。LCD160216×2个4.5V-5.5V特别适合本装置[10]LCD1602163-83.2。1602GNDVCCVCCRSGNDENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCGNDGNDVCCVCCRSGNDENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCGND12345678910111213141516引脚 功能GND 接地端口
图3-8LCD1602引脚图表3.2LCD1602引脚及功能VCC 电源端,接+5V电源V0 液晶显示器对比度调接端RS 寄存器选择RW 读写信号线E 决定显示器是否可用D0~D7 8位数据输入输出端口脚背光正极脚背光负极RSRS应为低电平。设计将一个10K的电阻和一个1K电阻串联起来接到LCD1602的4脚上,其中1K电阻接地,电压采样点采取分压形式来控制灰度,经过多次调试后灰度恰当。液晶显示电路如图3-9所示。液晶显示器与单片机通过一个上拉电阻连接,电路如图3-10所示。1602VCCR610KR51k1VCCR610KR51k12345678910111213141516GNDVCCGNDENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCGND3-9液晶显示电路CLKDO/DIPortSPSTK3C1C2GND
U11602GNDVCC401602GNDVCC40J112345678910KRSGNDEN1234567VCCR610K1213R51k31302928VCCGND151616PIN143233341135103693783839P1.0 VCCP1.1 (AD0)P0.0P1.2 (AD1)P0.1P1.3 (AD2)P0.2P1.4 (AD3)P0.3P1.5 (AD4)P0.4P1.6 (AD5)P0.5P1.7 (AD6)P0.6RST P3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)(A15)P2.7P3.4(T0) (A14)P2.6P3.5(T1) (A13)P2.5P3.6(WR)(A12)P2.4P3.7(RD)(A11)P2.3XTAL2 XTAL1 (A9)P2.1GND (A8)P2.0VCC234567891011121314 2715 2616 2517 2418 2319 2220 2189C51报警电路模块
图3-10液晶显示器与单片机连接电路图常工作时,另一种也可以正常发挥报警作用。灯光报警电路灯光报警电路图如图3-11,此电路采用一红一绿两个LED指示灯分别与两个分D1LEDRR42.2kP2.2D3LEDGD1LEDRR42.2kP2.2D3LEDGR2220P2.0VCC声音报警电路
图3-11灯光报警电路图VCC3-12所示为声音报警电路,在电路中蜂鸣器PNP2.2K的限流电阻,它的主要作用是限流。VCCF1AF1BUZZERP2.5FR1BUZZERP2.5FR12.2KQ19012GND按键电路模块GND
3-12声音报警电路图I/O的高电平并保持。10-200ms系统来说却影响较大,S1S2S3SWSPSTSWSPSTSWSPSTP2.6P2.7P3.710-200毫秒之间,按键的抖动会带来电平的抖动,10msRSS1S2S3SWSPSTSWSPSTSWSPSTP2.6P2.7P3.73-13按键电路图系统软件设计程序完成。主程序设计4-1所示。数据采集子程序
4-1主程序流程框图数据采集子程序功能是把连续的模拟量信号转化为数字量信号后再传送给单片机。图4-2所示为数据采集子程序流程框图。4-2数据采集子程序流程框图按键输入模块LCD显示屏上显示。4-3P2.6、P2.7P3.7P1端口自带上拉电阻,所以不需要接上拉电阻进行电压放大。液晶显示模块
图4-3按键子程序流程框图自带上拉电阻,所以中间加了一个上拉电阻将电压进行扩大。LCD的子程序流程见4-4。图4-4LCD1602子程序流程框图系统调试调试。软件仿真调试ProtuesProtues5-1图5-1系统仿真电路图LCD1602LCDLCD显LCD部分的调试。然后再检查按键电路是否能够正常工作,1602的电平来对按键模块进行调试。之后是传感器电路模块,在仿真软件ProteusMQ3MQ3,通过改变滑动变阻器的阻值来等效酒LCD显示屏上的显示随着阻值改变而改变,则说明电路连接正器显示的测量值大于设定值时,装置能够红灯闪烁并发出蜂鸣声则检验成功。硬件焊接调试导致电路板短路等情况的发生。各引脚的电压,VCCGND5V〜5.5V之间是正常的。总结与展望最终设计出了一种能够快速检测气体中酒精浓度并且当浓度超过设定阀值时实A/D转换电路,A/D转换电路能够把此信号变为数字信号传输给单片机,此LCDKeil4C而且可以直接将写好的程序通过汇编形成.hexProteus中实现仿真。编程难点A/D转换和电压与浓度的转换计算。LED能够及时有效的预防交通事故的发生。PAGEPAGE21参考文献张伟.单片机原理及应用[M].北京:机械工业出版社,2002:12-14.何立民.高级教程应用与设计[M].北京:北京航空航天大学出版社,2007:34-35.郑学坚.微型计算机原理及应用[M].北京:清华大学出版社,2006:24-26.李建忠.单片机原理及应用[M].陕西:西安电子科技大学出版社,2008:59-60.何希才.传感器及其应用[M].北京:国防工业出版社,2001:47-48.谢宜仁.单片机硬件接口电路及实例解析[M].北京:电子工业出版社,2009:12-13.周鸿武.\h基于单片机的酒精浓度检测仪设计[J].制造业自动化.2012,(12):97-99.王瑜瑜,.[J]..201,李维提,郭强.液晶显示应用技术[M].北京:电子工业出版社,2000:56-58.
168170.王幸之系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004:18-19.谭浩强.C语言程序设计(第二版)[M].北京:清华大学出版社,1991:56-60.贾立新.电子系统设计与实践[M].北京:清华大学出版社,2007:67-69.YishanZeng,JunQian.Designsofafiredetectingandfirepre-warningsystembasedonsinglechipmirocomputer[J].ScienceDirect.2010,(7):169-173.致谢C在实际应用过程中学习。周老师周老师不厌其烦,在百忙之中抽出课余时间来为我解疑答惑,讲解基本知识,整理整周老师周老师在此再一次的感谢所有帮助过我的老师、同学们,谢谢你们!附录一系统电路原理图324613524附录一系统电路原理图3246135246135221602VCCC4R610K104R8VCCVCCVCC1VCCC4R610K104R8VCCVCCVCC12AB651k3AB4MQ-3FFR75.1R51kS1S2S3SWSPSTVCC+C310ufS0SWSPST1234567891011121314151617181920U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST+5VCC(AD0)P0.0(AD1)P0.1(AD2)P0.2(AD3)P0.3(AD4)P0.4(AD5)P0.5(AD6)P0.6(AD7)P0.74039383736353433323130292827262524232221J112345678910K2P1POWER1VCCVCCS1F1A2R110KBBUZZERU21CSVCCVCCIN CH0CLK234CH1DOGNDDI8765Port12MHZC130PP3.0(RXD)P3.1(TXD)ALE/PROGP3.2(INT0)P3.3(INT1)P3.4(T0)(A14)P2.6P3.5(T1)(A13)P2.5P3.6(WR)(A12)P2.4P3.7(RD)XTAL2XTAL1 (A9)P2.1GND (A8)P2.089C51/52K2K1ENRSD1LEDRR42.2kVCCFR12.2KQ19012Y1D3ADC0832LEDGR2220C230PSWSPSTSWSPST1234RS 5678910111213141516ENK1K2INK3PAGEPAGE29附录二PCB封装图附录三源程序//程序头函数#include<reg52.h>#includeintrins.h> //包含头文件//显示函数#include<display.h>#include"eeprom52.h"//宏定义#defineuintunsignedint#defineucharunsignedchar//管脚声明sbitLED_RP2^2; //红色指示灯sbitLED_GP2^0; //绿色指示灯sbitFENGP2^5; //蜂鸣器sbitCS =sbitClk=P1^2;sbit=P1^3;sbitP1^3; //ADC0832sbitKey1=P2^6; //按键sbitKey2=P2^7;sbitKey3=P3^7;/*****************************定义全局变量****************************/unsignedchardat0; //ADunsignedcharCH=0; //通道变量unsignedintsum=0; //平均值计算时的总数unsignedcharm=0;bitbdataflag; //定义位变量ucharset; //设置变量//函数声明externvoidKey();/*voiddelay(uintz){uinti,j;for(i=0;i<z;i++)for(j=0;j<121;j++);}*///酒精含量变量uchartemp=0;指示灯变量uchar//报警值变量/******************把数据保存到单片机内部eeprom中******************/voidwrite_eeprom(){SectorErase(0x2000);byte_write(0x2000,WARNING);byte_write(0x2060,a_a);}/******************把数据从单片机内部eeprom中读出来*****************/voidread_eeprom(){=byte_read(0x2000);a_a =byte_read(0x2060);}/**************开机自检eeprom初始化*****************/voidinit_eeprom(){read_eeprom(); //先读if(a_a1) //新的单片机初始单片机内问eeprom{WARNING=25;a_a=1;write_eeprom(); //保存数据}}/**********************************************************************函数功能:AD转换子程序入口参数:CH出口参数:dat**********************************************************************/unsignedcharadc0832(unsignedcharCH){unsignedchari,test,adval;adval=0x00;test=0x00;Clk0; //初始化DATI=1;_nop_();CS=0;_nop_();Clk=1;_nop_();if(CH0x00 //通道选择{Clk=0;1; //0_nop_();Clk=1;_nop_();Clk=0;0; //0_nop_();Clk=1;_nop_();}else{Clk=0;1; //1_nop_();Clk=1;_nop_();Clk=0;1; //1_nop_();Clk=1;_nop_();}Clk=0;DATI=1;for(i=0;i8;i //8{_nop_();adval<<=1;Clk=1;_nop_();Clk=0;if(DATO)adval|=0x01;elseadval|=0x00;}for(i=0;i8i++) //8{test>>=1;if(DATO)test|=0x80;elsetest|=0x00;_nop_();Clk=1;_nop_();Clk=0;}if(adval==test) //88行去掉dat=test;nop_();CS1; //ADC0832DATO=1;Clk=1;returndat;}voidinit() //定时器初始化函数{TMOD=0x01; //定时器工作方式TL0=0xb0;TH0=0x3c; //50msEA=1; //打开中断总开关ET0=1; //0TR0=1; //0}voidmain() //主函数{Init1602(); //初始化液晶函数init(); //初始化定时器init_eeprom();//开始初始化保存的数据while(1) //进入循环{for(m=0;m<50;m++) //50ADsumadc0832(0)+sum; //读到的ADsumtemp=sum/50; //for50值tempsum=0; //平均值计算完成后,将总数清零if(set==0) //set为0,说明现在不是设置状Display_1602(temp,WARNING);//显示AD数值和报警值if(temp<WARNING&&set==0) //AD数值小于报警值{flag=0; //关闭报警}PAGEPAGE33elseif(temp>WARNING&&set==0)//AD值大于报警值{flag=1; //打开报警}Key(); //调用按键函数}}voidKey() //按键函数{if(Key1==0) //设置键按下{while(Key1==0); //按键松开FENG=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鞋厂管理技效考核制度
- 销售人员激励考核制度
- 软件销售绩效考核制度
- 线下客服绩效考核制度
- 保安午休考核制度细则
- 食堂员工上班考核制度
- 随班就读工作考核制度
- 包装厂两单两卡考核制度
- 企业安全考核制度范本
- 核算工时绩效考核制度
- 2026年工厂节后复工复产安全培训
- 2025年乡村规划师职业水平测试大纲试题及答案
- 1.2 宪法的内容和作用 课件-2025-2026学年道德与法治八年级下册 统编版
- 工程项目风险管理检查表全面覆盖版
- 工厂防火安全知识课件
- 2026中国华电集团产融控股有限公司校园招聘(公共基础知识)综合能力测试题附答案
- 适合早教的课件
- 2026年高考政治二轮复习策略讲座
- 百度合作协议合同范本
- 煤炭助燃剂课件
- 水上光伏作业安全培训课件
评论
0/150
提交评论