基于单片机酒精浓度测试仪设计_第1页
基于单片机酒精浓度测试仪设计_第2页
基于单片机酒精浓度测试仪设计_第3页
基于单片机酒精浓度测试仪设计_第4页
基于单片机酒精浓度测试仪设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

防灾科技学院毕业设计题目基于单片机酒精浓度测试仪设计学生姓名骆成曦学号105032211系别防灾仪器系专业测控技术与仪器班级1050322开题时间2023年12月20日辩论时间2023年6月6日指导教师刘淑聪职称讲师基于单片机酒精浓度测试仪设计作者骆成曦指导教师刘淑聪摘要本文设计一种可以检测酒精浓度并在超过一定浓度阈值时进行声光报警提示的酒精浓度测试仪。系统采用酒精浓度传感器MQ3,把检测到的酒精浓度转换为电信号,经A/D转换器转换成数字信号在传给单片机,最后单片机进行相应处理,LCD液晶可以显示酒精浓度,当超过设定值时系统可以进行声光报警。关键词:89C51单片机;MQ3浓度酒精传感器;ADC0908;LCD1602液晶;BasedonsinglechipmicrocomputeralcoholtesterdesignAuthorLuochengxiTeacherLiuShucongAbstract:Thispaperstudiescandetectalcoholconcentrationandsoundandlightalarmpromptmorethanthethreshold.MainlyadoptsMQ3,alcoholconcentrationsensortodetectthealcoholconcentrationcanbeconvertedintoelectricalsignals,afterA/Dconverterisconvertedintodigitalsignalstosinglechipmicrocomputer,thecorrespondingsingle-chipprocessing,LCDliquidcrystaldisplay(LCD)andalcoholconcentrationexceedsthesetvalueofsoundandlightalarm.Inthispaper,weintroducethesensor,converter,MCU,LCDmonitor,whenalarmcircuitandtheprincipleofuse.Keywords:89c51;MQ3alcoholconcentrationsensor;ADC0908converter;LCD1602LCD;Thehardwareandsoftwaredesign.目录TOC\o"1-3"\h\u第一章绪论4第二章酒精测试仪总体设计52.1酒精浓度检测仪设计要求52.2酒精浓度检测仪设计方案5第三章硬件设计63.1传感器的选择63.2A/D转换电路73.389C51单片机系统113.4LCD1602液晶151920第四章软件设计224.1Keil与Protel99SE介绍224.2主程序框图234.3数据采集子程序程序框图25第五章测试结果及结论265.1调试265.2结论27致谢28参考文献29附录30第一章绪论随着国家的开展,我们的国家有车的人可以说与日俱增,而酒驾酿成的交通事故经常出现。因此,国家很重视酒驾问题并严惩,所以设计可检测驾驶员口腔酒精浓度的智能仪器是很有必要的。本课程研究的是用气体传感器检测,A/D转换信号,单片机处理的设计,可知道驾驶员呼出气体的酒精浓度,还可以进行声光报警。这可以检测空气中酒精浓度,并可自由设定阈值,如果超过设定阈值时会发出声光报警提示。本课题分为硬件和软件局部。硬件局部是用酒精浓度传感器MQ3,把检测到的酒精浓度转换为电信号,经A/D转换器转换成数字信号在传给单片机,最后单片机进行相应处理,LCD液晶显示酒精浓度并超过设定值的声光报警。程序主要是模块化设计,因为个模块化的程序都是独立的,方便调试,修改。硬件电路主要包括单片机最小系统、声光报警电路、A/D转换电路、LCD液晶显示电路,按键电路,其原理设计将会在后面进行详细介绍。第二章酒精测试仪总体设计2.1酒精浓度检测仪设计要求设计的酒精浓度测试仪特点:〔1〕单片机是采集系统的重要局部,其电路周围有LCD显示电路和键盘电路,不用连接其他计算机,可以直接用于显示工作,完成数据的采集、存储、计算、分析等过程。〔2〕系统具有低功耗、高稳定性、功能强、小型化、性价比高等特点。〔3〕各个零件都选用方便,便于携带,小等特点,如数码管显示器,单片机最小系统,小键盘等。主要通过操作单片机控制的键盘和LED显示,操作界面简单,方便,清晰。〔4〕软件设计简单明了,模块清楚,独立性强。2.2酒精浓度检测仪设计方案刚开始,注意到是把酒精传感器检测到的非电量转换成电量,而且传感器输出电压不到5伏,电压也稳定,扰外部干扰能力强等,所以传感器输出电压不需加稳压、放大,直接传给A/D转换器进行相应处理,处理后得到的数据再传给单片机。除此之外,液晶显示,键盘,报警系统等也必不可少。如图2-1所示:被测被测环境气敏传感器A/D转换电路单片机声光报警电路液晶显示键盘图2-1系统结构图第三章硬件设计3.1传感器的选择此传感器是为了检测空气中的酒精浓度,呼出的酒精浓度也是血液中所含的酒精浓度,所以选择气敏传感器。由于空气中还有其他气体成分而影响到传感器检测的精确度,选择的传感器只针对酒精气体敏感,而对其他气体的敏感度极低,所以选MQ3气敏传感器。其拥有灵敏度高、选择性好、使用寿命长和稳定性强等特点。MQ3气敏传感器的组成有敏感层SnO2、微型Al2O3、陶瓷管、测量电极和加热器构成的敏感元件,而这些敏感元件固定在塑料或不锈钢的腔体内,其工作过程中加热器又起到至关重要的作用。加热回路与输出回路构成了传感器中的标准回路。标准回路是对传感器外表电阻的检测,能很好的影响其阻值的变化。传感器的外表电阻RS与负载电阻RL串联,而电阻RL上的有效输出电压VRL影响电阻RS的阻值变化。负载电阻RL阻值限制在0.5-200K。加热电压Uh为5v。电阻RL与电压Uh限制了传感器输出电压在0-5V之间。MQ3气敏传感器的结构和外形如图3-1、标准回路如图3-2、传感器阻值变化率与乙醇浓度关系如图3-3。为了提高检测时的精确度,减小误差,一般要在适宜的环境下,将传感器预热4—6分钟。图3-1MQ3结构和外形图3-2MQ3原理图图3-3乙醇浓度与传感器阻值变化率的关系3.2A/D转换电路在接受信号时,由于单片机只能接受数字信号不能直接接受非电物理量〔如温度等〕,传感器把这种非电物理量转换成需要的模拟电信号,而转换器就可以再次把这些模拟电信号转换成单片机能接受的数字信号。能把模拟信号转换成数字信号的元器件叫做A/D转换器〔ADC〕。A/D转换器可以归纳成三种:第一种是双积分A/D转换器,其拥有很高的精度,稳定性好,能抵抗外界的干扰,价格也廉价,可运行的速度不快;第二种是逐次逼近型A/D转换器,一般常用这种,因其特点都适中,而没什么大缺点;第三种是∑-△A/D转换器,主要是针对信号的幅度。所以采用了第二种转换器ADC0809,它是8位的。ADC0809的模拟输入端口有8个,而引脚〔23-25〕的选择既是模拟信号的位置选用。22号引脚是地址锁存控制,要对信号锁存,输入高电平即可。6号引脚是测试控制,用于控制转换,当有适当的高电平就可进行转换,一般输入2μs。7号引脚是转换结束标志,当检测到有高电平输出,说明转换结束。9号引脚是转换数据输出允许端,只有高电平时,才可以进行转换数据输出。10号引脚是ADC0809的时钟输入端,由输入传输数据的连续性决定。ADC0809的引脚及功能一般都选择逐次比拟型A/D转换器因其各个性能,特点都适宜,没有什么有影响的缺点。下面是ADC0809的引脚和功能,如图3-4。图3-4ADC0809的引脚ADC0809拥有8路模拟输入以及相对应的8路数字输出。上图所示,ADC0809一共28个引脚,是一种双列直插式封装的转换器。重要,常用引脚功能如下:IN0~IN7:8路模拟量输入端。D0~D7:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,决定IN0~IN7哪路通。ALE:地址锁存允许信号,要锁存,必需先高电平触发。START:启动脉冲输入端,下降沿启动转换,上升沿复位。EOC:A/D转换结束标志,输出低电平表示转换,高电平表示结束。OE:数据输出允许信号,高电平触发。只有触发OE才可以让三态门正常工作,输出转换后的数字量。CLK:时钟脉冲输入端。其值必需小于640KHZ。REF〔+〕、REF〔-〕:参考电压输入端。稳定,抗干扰强。Vcc:电源输入端,一般输入5V。GND:接地端。编码ADDA、ADDB、ADDC,输入高电平到ALE,翻开地址锁存。翻开的模拟量输入端将输入的量发给比拟器。START输入脉冲变为下降沿时启动A/D转换,而EOC=0标志着正在正常工作转换中。当A/D转换完成后,而EOC=1也意味转换已完成,转换完成后的数据存入锁存器,中断申请可以在此申请。高电平触发OE,三态门触发,锁存器中的数字量就可以输出到对应的D0~D7。最后D0~D7输出的数字量传送给单片机。当只有A/D转换完成才可以接着传输数字量,以下是三种确定转换完成的方式。〔1〕定时传送方式A/D转换器所转换所花费的时间一般是厂家设定好的,不会变的。例如ADC0809转换要128μs,假设51单片机的晶振是6MHz,也就是其64个机器周期。所以可以编写一个延时子程序,当开始转换时调用此子程序,设定延迟的时间超过转换时间一点,这样就可以确定转换完成,这样就可以输出转换完成的数据。〔2〕查询方式A/D转换芯片有转换结束标志位,就选用的ADC0809的EOC端。所以只需要检测EOC输出的上下电位就可以知道转换完成没有,这样就可以输出转换完成的数据。〔3〕中断方式以EOC作为中断请求,用中断把转换完成的数据输出。定时,查询,中断都可以选用,当都检测到转换后,编写相应程序输出数据。而且OE触发后,转换完成的数字量传送到D0~D7,最后到达单片机并进行处理。ADC0809有8路模拟量输入端和8位数字量输出端,但输入端只可以换1路,而引脚ADDA、ADDB、ADDC的编写对其控制,如图3-5。图3-5通道选择表ADC0809的结构及转换原理ADC0809是逐次逼近型,Vcc需输入5V。模拟量输入端有8路模拟开关,而选用是由ADDA、ADDB、ADDC的编写控制。ADC0809转换时间是100μs,数字量输出端有三态输出锁存器,转换后的数据可直接发送到MCS-51的数据总线。ADC0809的结构框图如图3-6。STARTCLKSTARTCLKOEVR(+)VR(-)VCCGNDEOCD0...D7三态输出锁存器8位A/D转换器地址锁存与密码CBAALE8路模拟量开关IN7….IN0图3-6ADC0809的结构框图ADC0809连线图如图3-7:图3-7ADC0809的连线图3.389C51单片机系统单片机是一种有计算机属性也被说成微型计算机的集成芯片,并且用户自己通过编程来控制实现其功能。实现的方式主要输入输出上下电平到引脚触发,然后就可以实现引脚连接处的电路。单片机的应用很广泛,可用于自动化,智能仪器,消费类电子产品,通信,武器装备等。单片机片内结构单片上集中那些具有特殊功能的器件,如图3-8。主要组成结构:⑴2个16位定时器、计数器。⑵一个串行口。⑶中断系统。⑷数据存储器(RAM)。⑸控制器〔CPU〕。⑹特殊功能存放器〔SFR〕。⑺程序存储器〔ROM/EPROM〕。⑻4个I/O口〔P0、P1、P2、P3〕。PSENPSEN88EOCXTAL1CPU〔运算器〕〔控制器〕数据存储器RAMP0P2程序存储器ROM/EPROMP1串行口定时器/计数器中断系统特殊功能存放器〔SFR〕P3ALEEAIN7….I0XTAL288RESET图3-851单片机片内结构这些器件在单片机内连接在同一总线上,原理是控制器和单片机周边器件组成的传统结构模式。运算器对器件的工作是通过SFR的集中控制方式。单片机的型号选择是AT89C51。因其与其他系列单片机相比,都具备根本功能,且性能不比其它差,而且拥有很好的抗干扰能力,消耗功率小,提供的电源电压只需5V或12V,电压比拟稳定,不易受影响。价格廉价,使用简单,操作方便,相关程序编写更易上手。89C51芯片介绍89C51共有40个引脚,如图3-9。这些引脚都互相兼容,使用时注意有些引脚要加上拉电阻保护,其应用双列直插封装方式。图3-9单片机封装引脚图这些引脚大致可以归纳成三大类:⑴电源和时钟引脚:Vcc、GND、XTAL1、XTAL2。Vcc、GND:单片机电源引脚,不同型号所需要的电源电压也不同,一般接5V,有时也接3.3V。XTAL1、XTAL2:外时钟引脚,单片机内含有振荡电路,为时钟信号效劳,此时XTAL1要输入,XTAL2要输出。89C51有两种时钟方式:弟一种是外时钟,XTAL2输入信号,XTAL2接地,因其是固定电路,很少用。还有一种是内时钟,还要在电路中参加石英晶体和振荡电容而产生脉冲,一般常用,所以选用后者。⑵编程控制引脚:RST、、ALE/、/Vpp。①RST:复位引脚,高电压触发。要想其正常工作必需是连续输入至少2个机器周期,这时才能复位初始化。复位还分为上电复位和按键复位。②ALE/:ALE锁存端,第二功能脉冲输入端。现在单片机内部很完善,一般都不常用这个引脚。③:允许输出引脚,低电平触发。主要控制外部程序储存器的读操作,一般连接输出允许端OE.④/VPP:选择控制引脚。假设=1,就会读取片内程序存储器,假设=0,就直接访问外部〔ROM〕,即使有内部〔ROM〕。⑶I/O口:P0、P1、P2、P3引脚,均是双向8位。除P0没有上拉电阻,其它都有,所以P0要加上一个10KΩ的上拉电阻。这些引脚都是独立控制,高电平触发,但要注意有些引脚的第二功能。因89C51内部有ROM,所以输入高电平,即使ROM只有4KB,但已满足本课题的需要,不用要再扩展ROM。其硬件电路如图1。晶振电路和复位电路单片机最简电路由三个最根本的电路组成,分别是复位电路,时钟电路和电源电路。有了这三个局部单片机就可以正常工作,缺一不可。当然,假设对最小系统加储存器,A/D等就可以进行更复杂的工作。89C51内部含有ROM,由其组成的最小系统只需加上时钟与复位,如图3-10。当然因电路简单,最小系统功能控制也有限。时钟电路时钟电路复位电路STC89C51单片机I/O口图3-10最小系统原理图(1)时钟电路—12MHz一般选用12MHz或6MHz。图3-1189C51内时钟电路(2)复位电路需要在RST上持续输入2个周期以上高电平时复位初始化〔如果一直输入高电平,复位就一直循环〕,其又可分为上电复位与按键复位,本课题选用按键复位,其电路如图3-12。按键复位又分电平与脉冲,一般选用电平复位,操作简单方便,只需把RST直接连接电源即可。图3-1289C51复位电路〔3〕89C51中断中断是为是单片机对外部或内部随机发生的事情实时处理而设置,这能提高单片机对实践的处理能力。其定义可理解为CPU在进行某项工作的时候,发生了另一件事,CPU会接受到处理请求〔中断发生〕,CPU就会放下现在做的事〔中断响应〕,而去处理刚发生的事〔中断效劳〕,等处理完此事后,返回原工作继续作。图3-13。图3-13中断响应和处理过程3.4LCD1602液晶LCD1602是常用液晶,运用于仪器仪表类居多,可以表达32个字符。因液晶显示器的结构简单,制作方便快捷,也经常出现在生活家电上,如电费计费表,智能冰箱等,它可以让使用者知道想要的数字,符号及图形。它的原理也很简单,屏幕里的电极作用于液晶分子,从而可以显示。其又可以划分成3种:最简单的发光管,数码管和常用的液晶显示器。其中最后一种功能要多些,单片机的开发运用最好的选择。选择晶液显示器的好处:①当向液晶显示器输入信号后,正常工作,且持续,也就是一直发光显示,不闪烁,不像其它一些是通过刷新亮点,而且看起来画质清晰,舒服。②液晶显示器可以表达32个字符,满足大多单片机的需要,它们之间的连接也很简单,焊接时也不容易出错,接受到的信号速度也快。③液晶显示器与其它功能相当的显示器比要精致且小。④液晶显示器对外部电源耗电量少,因其内部有电极和驱动IC提供主要电量,从而大大的节省电量,即低功耗。〔1〕引脚介绍:1引脚:VSS即GND,接地。2引脚:VDD即Vcc,电源电压,一般需要5V。3引脚:VL是比照度调整端,一般正常工作要输入低电平即接地,由于比照度太高,不易于显示结果,要加一个10K左右电位器来降低比照度,防止“鬼影〞的出现。也可输入高电平即接电源,此时比照度太弱,显示结果不清晰。4引脚:RS是存放器的选择,输入不同,作用也不同。假设通入高电平,那么表达为数据,假设通入低电平,那么表达为指令。5引脚:R/W是读写信号端。如果输入高电平触发,那么表达为读操作,如果输入低电平触发,那么表达为写操作。如果都向RS和R/W输入一个低电平,那么液晶显示器就能进行写入指令也能显示地址。如果都向RS和R/W输入一个高电平,那么液晶显示器就能进行读忙信号。如果向RS输入高电平而R/W输入低电平,那么液晶显示器就能进行写入数据。6引脚:E是使能端。如果它的电压发生变化〔只能由高变低〕,那么液晶显示器就可以进行执行命令。7~14引脚:D0~D7为液晶显示器的I/O口。15引脚:背光源正极。16引脚:背光源负极。〔2〕LCD1602的内部工作LCD1602的工作原理其实并不复杂,主要是靠点阵字符来实现显示功能,这些字符都包含在发生储存器里,并且多达160个,进而可以表达很多不同的图形,如常用数字,英文等。这些字符都有自己相对应的固定代码,通过代码就可以把相对应的地址在液晶显示上点亮点阵字符,从而可以看到想要的显示效果。点阵字符的输入控制是靠指令的编写,下面介绍指令作用。指令1:主要作用是去除显示,把液晶显示恢复到原来的样子,其指令码为01H。指令2:起复位作用,针对对象是光标,主要是把光标位置移到地址00H,这样就可以进行复位。指令3:对光标与显示移动控制。I/D:控制光标移动,如果输入高电平,那么光标右移,如果输入低电平,那么光标左移。S:检测屏幕显示文字控制。如果检测到的是高电平,那么代表左移或右移,如果检测到的是低电平,那么代表没有动。指令4:显示开关模式设置。D:整体显示开关设置,如果检测到的是高电平,那么代表是开显示,如果检测到的是低电平,那么代表是关显示。C:开关的检测设置,主要针对对象是光标,如果检测到的是高电平,那么说明有光标,如果检测到的是低电平,那么说明没有光标。B:检测光标闪烁,如果检测到的是高电平,那么表示闪烁,如果检测到的是低电平,那么表示没有闪烁。指令5:控制光标或显示的移位设置。S/C:如果输入的是低电平的话,那么就移动光标,如果输入的是高电平,那么就移动显示的文字。指令6:功能设置命令DL:一般情况下,如果输入的是高电平,那么表示为4位总线,如果输入的是低电平,那么表示为8位总线〔本课题选的就是这种类型,而有些那么相反〕。N:如果输入的是低电平,那么代表成单行显示,如果输入的是高电平,那么代表成双行显示。F:如果输入的是低电平,那么表示选择5X7的点阵字符,如果输入的是高电平,那么表示选择5x10的点阵字符〔不同类型此功能不同〕。指令7:控制RAM,并进行相应的地址设置,随意取出或存入。指令8:控制DDRAM,并进行相应的地址设置。指令9:检测是否忙信号。BF:这是忙的标志位,如果输入的是高电平,那么代表现在忙,就不可以接受输入的命令或数据,而相反输入的是低电平,那么代表现在不忙,就可以接收到输入的命令或数据,这个过程是必要的。指令10:表示写数据。指令11:表示读数据。要使液晶显示器正常工作,必需要检测忙标志位,是否忙,不然写入的指令或数据不接受而失效。当然值得注意的是:要想显示正确的字符,而不会出现乱码,必需也要先输入相对应的字符地址,液晶显示器显示我们想要的字符。如图3-14:图3-141602内部显示地址由图可知,LCD是16字x2行的,倘假设想要读取字符地址40H,是否只需要输入40H就可以了?答案肯定是行不通的,因为有个地址是一直输入高电压的,只要LCD液晶工作,那个地址D7就持续输入高电平,所以输入的数据要对其进行相应的计算处理,最后得出应该输入C0H,才可以得到40H的地址。液晶初始化时,必需对显示模式进行设置,而可以不用控制光标,系统默认其自动右移。需注意要写入指令钱,必需要检测忙标志位,不然会导致写入的指令不接受而失效。LCD液晶主要是靠点阵字符来实现显示功能,这些字符都包含在发生储存器里,并且多达160个,进而可以表达很多不同的图形,如常用数字,英文等。这些字符都有自己相对应的固定代码,通过代码就可以把相对应的地址在液晶显示上点亮点阵字符,从而可以看到想要的显示效果。现在液晶显示器功能,结构都得到了很好的完善,应用广泛。从液晶显示电路分析,当输入电压,其内部就会进行模式设置与控制,从而到达显示。本课题液晶显示电路运用了灰度调节,在电压与接地处分别加上10k电阻和1k电阻,分压保护电路,灰度适中。如图3-15:图3-15液晶显示电路电路图的键盘一端连接的是地,另一端连接输出高电平的单片机,如果按下按键,连接单片机的端口就接地,变为低电平,改变信号,从而到达按键的作用。单片机键盘可以划分为两大类,一类是独立键盘〔本课题选择〕,另一类是矩阵式键盘。由于原理电路复杂,编程不易,所以没有选择矩阵键盘,即使只需要几个I/O口。独立键盘就要简单的多,易编程,容易理解,与单片机I/O端口连接呈一一对应关系,条理清晰,系统也稳定,初学者最好的选择。独立式键盘的工作原理也不复杂,键盘一端连接的是地,另一端连接输出高电平的单片机,如果按下按键,连接单片机的端口就接地,变为低电平,改变信号,简单的说就是对I/O端上下电平的检测。开关又可以分为自锁开关和常开开关,键盘常用常开。当单片机正常运行时I/O变为高电平,然后一直保持,如果按下键盘,I/O端就接地,从而转成低电平,随后,放开按键,I/O端又会恢复高电平,这是由于单片机里面含有上拉电阻。所以编写程序的时候,只需要检测I/O端电平的上下就能知道有没有按下键盘。值得注意的是键盘有两个抖动过程,刚开始按下与刚放开的时候,放开时的抖动可以不用管,因为要检测的是按下,所以主要是针对刚按下时的抖动进行去抖。抖动是由于刚按下时电压不稳定造成的,抖动间隙大约为10ms〔89C51〕,属于机械抖动。虽然抖动间隙时间看起来很短,但是运算速度很快的单片机处理时就会等待很长的时间。去抖操作又可以通过专用去抖电路和专用去抖芯片,最好的方式是通过程序软件延时,程序简单,易于操作,不用再往单片机上加其他电路,使其复杂化。当检测到I/O口出现低电平,立即调用延时函数,等待抖动消失,延时完成后会再次检测I/O口是否还是低电平,如果是,那么表示按下按键,接着执行编写好的程序。其电路如图3-16:图3-16按键电路LED显示电路如图3-17:图3-17LED显示电路LED是发光二极管,生活中常见,且无处不在,它的全称是LightEmittingDiode,这个只是它的英文缩写。它是一种半导体材料组成,从正极输入电流时才正常发光,把电能转换成可见光,假设从负极输入电流,那么LED不导通,不会亮。它是主要把电直接转换成光,其工作原理并不是像传统白炽灯和节能灯,没有利用钨丝和三基色粉发光,却另外开发出的是电场发光。众所周知,LED有使用持续时间长、光效好、需要的电流低、而且辐射低等优点。各个国家都很重视其开展,因为它属于绿色光源,拥有很广的开展前景。所以本课题选择绿色LED来显示检测到酒精,红色显示超标,并进行相应后续报警处理工作。声音报警电路报警装置主要是靠蜂鸣器发声来实现的。蜂鸣器在各种电子类产品中的应用有很多,常常作为发声器件,如报警器、高压锅、电脑、汽车等。它属于电子讯响器,能迅速对输入的电流进行工作发声,其供电方式也是常用的直流电压,常用符号H或HA来表示在原理图中。蜂鸣器有很多种类,应用最多的是压电式和电磁式,其它都可以根据工作原理来划分在里面。压电式蜂鸣器:其内部结构有振荡器〔输出信号〕、阻抗匹配器〔推动作用〕、压电蜂鸣片〔主要发声〕和共鸣箱〔起共鸣作用〕等重要局部。其工作原理:如果有适宜的电压供电时,刚开始由多谐振荡器起振,产生振荡,然后提供音频信号,再由阻抗匹配器工作作用于压电蜂鸣片,使其发声。电磁式蜂鸣器:与上述结构不同,主要是由振荡器、电磁线圈〔最重要的局部〕、磁铁、振动膜片等构成。其工作原理:如果有适当的电压供电时,起振局部和压电式相同,不同的是音频信号电流处理局部,当其流入电磁线圈时,由于电磁感应而要产生磁场,从而其磁场力作用于振动膜片。原理如图3-18:图3-18声音报警电路由上图可知,其主要元器件有蜂鸣器、电阻、三极管组成。蜂鸣器根据输入的不同可以分为两种:有源与无源。主要区分在于前者要输入直流电压,后者输入方波,本课题选用的是前者,因其作为发声元件,各局部参数都适合选用要求。电阻阻值为2.2K,主要是起限流作用,保护电路,一般与单片机的连接都要注意加电阻。三极管的发射集电流流向表示类型为PNP,如果基极接收到的是低电平,那么三极管呈关闭状态,电流不流通,不发声,如果基极接收到的是高电平,那么三极管呈饱和状态,电流通过发声。第四章软件设计4.1Keil与Protel99SE介绍首先,在要安装Keil软件之前,一定要在计算机里安装一套稳定可靠的软件,才可以正常使用该软件。Keil是单片机常用程序编写软件,应用的是C语言来编写程序,而非汇编,所以其优点显而易见,灵活性强、使用方便、易于理解、可读性强等,适合初学者使用。Keil是一种常用的开发调试软件,值得注意编程时,一定要先建工程再建文件,且文件一定要放在工程里。其包含有很多常用库函数,易于理解使用的功能,而且是Windows界面,方便查找。其运算速度很快,效率高,当编写好的程序经编译后能迅速转换成相应汇编代码,可以看得出高级语言的特点。Keil软件界面如图4-1:图4-1Keil软件界面Protel99SE是1999年的软件,至今快15年了,应用很广泛也很成熟,今一直还在用,而未被淘汰是有其优势的。现在很多高校都是用的Protel99SE,相关电气专业还把它作为一门课来讲,能够完成32个信号层,是绘制电路板中最常见的32位软件,具备描绘原理图和PCB板,16个机加工层,而其它相关软件是它的升级版,再此功能的根底上拓展,对于初学者最好先学会Protel99SE,学好根底。Protel99SE软件的特点:原理图界面能用的电气连接网络表格式有很多,高达30种;拥有很好全局编辑功能;原理图调用好的封装模型,可以直接生成对应PCB;在生成相对应的PCB后,可以和原理图之中双向交叉查找,能简单轻易的看到元器件和引脚;具有一致性,也就是说转换可以相互的,即把原理图生成PCB,又可以把PCB转换成原理图。具有国际化,很多国家都在使用,能满足根本设计需要。可以标准JED文件,方便仿真。拥有很好的设计规程检查;有很多设计模板可以使用,主要针对工业电路板;运用Protel99SE绘制原理图如下4-2:图4-2Prtel99SE界面4.2主程序框图主程序框图如图4-3所示:Y结束设置相应参数显示设置数值N判断按键是否按下执行相应的控制判断当前酒精范围读取AD转换酒精值初始化开始Y结束设置相应参数显示设置数值N判断按键是否按下执行相应的控制判断当前酒精范围读取AD转换酒精值初始化开始图4-3主程序框图4.3数据采集子程序程序框图当赋予转换器初始值,传入模拟信号,启动ADC0809通道,并延时一会儿,ADC0809就开始正常运行,变成单片机需要的数据,并且存入内存单元,如图4-4:开始开始启动ADC0809通道,并延时100μs转换完?读出A/D转换结果结果存入内存单元返回YN图4-4数据采集子程序框图第五章测试结果及结论5.1调试这是一个很简单又很复杂的过程,最开始要检测硬件设计能不能行,再仿真看可不可以到达预期效果。焊接时注意各端口之间连接是否正确,焊接好后用万用表检测是否出现虚焊。调试过程是模块化进行,先对各模块一一进行检测,从局部到整体,更容易检测到问题所在并调试,有针对性,使调试更加简单化调试中的困难:焊接时没注意仔细看单片机管脚,把一边的管脚全错位一个给焊接上了,只能再次买些弄不下来的器件;液晶显示器上检测到的酒精浓度很大,高达90左右,后来查看了相关资料才得知新的酒精传感器刚开始要通电几小时以上才可以正常使用,要做老化试验。各模块化的程序编写,通过老师的帮助,查资料学习最后进行相应的修改。仿真如图5-1所示:图5-1仿真图成品展示如图5-2所示:图5-2成品图5.2结论通过近20天的学习与努力,测试仪设计根本成功。即使这不是首次接工程完成设计,但认真独立的动手去做还是有些难度的。由于学习过单片机,以为单片机相关知识还是掌握的可以,但真正实践还是遇到很多麻烦,尤其是编程。硬件电路设计比拟好理解,一般网上都有相关资料,原理图看懂根本就可以用。从编程过程中,学会了很多,如软件算法设计,有些程序看起来简单,但自己动手写时才发现困难,只有自己动手写,才会理解的更深,以便以后灵活应用。然后是对元器件认识缺乏。元器件的选取都是常见常用的,可使用时才知道有很多知识需要再学习。在图书馆查阅相关资料及厂家产品介绍,认认真真的对器件知识进行梳理、理解,最终才学会使用。对于这次设计,再一次让自己知道还有很多缺乏的地方,即使是学过的单片机,知道的相关知识还是不能灵活运用,不能完全为己所用,所以可见实践是多么重要。以后的学习一定会注意理论与实践有机结合,边学边用,这样才能算真正的掌握,理解的更深,为以后的学习埋下伏笔。总之,这次设计让我学会了很多东西,在大学生活中划上了闪亮的一笔。致谢首先,非常感谢刘淑聪老师。如果没有老师的帮助,开题都是个问题,不知道从哪里下手,经过老师指导,慢慢的思路越来越清晰,设计业越来越得心应手。此为,老师经常关心课题进度,遇到困难都会积极找老师,让人觉得不是单独在“战斗〞。其次,非常感谢学校。这次课题对于我来说是一次非常难得的时机,可以检验自己对相关知识的掌握,也提高动手能力。并且图书馆内丰富资源为让自己过的更加充实,徜徉在知识的海洋里。最后,还要感谢帮过我的同学。如果没有他们,课题不会这么快成功的完成,自己也不会又学习到新的知识。而且让我再一次深刻的了解到团队合作的重要性。参考文献[1]兰羽,白洁.基于AT89C51的酒精浓度测试仪设计[J].信息技术,2023〔10〕:23-24.[2]朱海华.基于电化学酒精传感器的高准确度酒精浓度测试仪设计[J].电子器件,2023(4):564-567.[3]王谦,张涛.基于STC89C52单片机的酒精检测系统设计[J].科技信息,2023(22):32-35.[4]黄敏,于文弢,徐张唯,董轶,翁泽斌,卓郑安.创新工程中对智能呼气酒精浓度检测仪的探究[J].上海工程技术大学教育研究,2023(4):17-19.[5]秦岭.STM32单片机的酒精浓度探测仪设计[J].单片机与嵌入式系统应用,2023(1):52-55.[6]陆德红.酒精传感器TGS822温度曲线快速校准[J].轻工科技,2023(2):67-69.[7]薛琴波,郎明华,梁景雨.基于单片机的酒精检测防酒驾系统的开发研究[J].科技信息,2023(8):176.[8]马众,洪惠塘.基于单片机酒精浓度检测仪设计与应用[J].无线互联科技,2023(1):34-38.[9]袁捷.基于51单片机的酒精浓度检测仪的设计[J].电子设计工程,2023(18):52-54.[10]赵书红,张健健.基于单片机的酒精气体浓度测试仪的设计与制作[J].电子世界,2023(20):23-25.附录//程序头函数#include<reg52.h>//显示函数#include<display.h>//宏定义#defineuintunsignedint#defineucharunsignedchar#defineData_ADC0809P1//管脚声明sbitLED_R=P2^2;sbitLED_G=P2^1;sbitFENG=P2^5;sbitsan=P3^4;//ADC0809sbitST=P3^3;sbitEOC=P3^6;sbitOE=P3^2;//按键sbitKey1=P2^6;sbitKey2=P2^7;sbitKey3=P3^7;bitbdataflag;ucharset;//函数声明externucharADC0809();externvoidKey();/*voiddelay(uintz){ uinti,j; for(i=0;i<z;i++) for(j=0;j<121;j++);}*///酒精含量变量uchartemp=0;//指示灯变量ucharWARNING=25;voidinit(){ TMOD=0x01; TL0=0xb0; TH0=0x3c; EA=1; ET0=1; TR0=1;}voidmain(){ Init1602(); init(); while(1) { temp=ADC0809(); if(set==0) Display_1602(temp,WARNING); if(temp<WARNING&&set==0) { flag=0; } elseif(temp>WARNING&&set==0) { flag=1; } Key(); }}//ADC0809读取信息ucharADC0809(){ uchartemp_=0x00; //初始化高阻太 OE=0; //转化初始化 ST=0; //开始转换 ST=1; ST=0; //外部中断等待AD转换结束 while(EOC==0) //读取转换的AD值 OE=1; temp_=Data_ADC0809; OE=0; returntemp_;}voidKey(){ if(Key1==0) { while(Key1==0); FENG=0; set++; flag=0; san=1; TR0=0; } if(set==1) { write_com(0x38);//屏幕初始化 write_com(0x80+0x40+13);//位置 write_com(0x0f);//翻开显示无光标光标闪烁 write_com(0x06);//当读或写一个字符是指针后一一位 FENG=1; } elseif(set>=2) { set=0; write_com(0x38);//屏幕初始化 write_com(0x0c);//翻开显示无光标无光标闪烁 FENG=1; flag=1; TR0=1; } if(Key2==0&&set!=0) { while(Key2==0); FENG=0; WARNING++; if(WARNING>=255) WARNING=0; write_com(0x80+0x40+11); write_data('0'+WARNING/100); write_data('0'+WARNING/10%10); write_data('0'+WARNING%10); write_com(0x80+0x4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论