• 444.00 KB
  • 2022-04-22 11:38:45 发布

酒精浓度检测仪的设计毕业论文.doc

  • 52页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'摘要本文研究设计了一种用于公共场所具有检测及超限报警功能的酒精浓度智能测试仪。其设计方案基于89C51单片机,MQ3酒精浓度传感器。系统将传感器输出信号通过A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示酒精浓度值。从而让驾车的人知道自己该在什么情况下可以开车,这是一个在现代生活很实用。经过大量的验证,基于单片机的酒精浓度监测仪检测仪比传统的机械检测仪或酒精计灵敏,监测精度高,准确方便,可靠性好,扩展简单,控制功能强大。对超出阀值进行声光报警,直观准确。所以基于单片机的酒精浓度监测仪的研究具有一定的价值。关键词:酒精浓度传感器单片机数模转换硬件设计数码管显示 AbstractThispaperstudieshasbeendesignedforpublicinspectionandoverrunalarmfunctionwiththealcoholconcentrationintelligenttester.Itsdesignschemebasedon89C51,MQ3alcoholconcentrationsensor.SystemwillsensoroutputsignalthroughtheA/Dcircuitrecuperation,dataprocessingbyMCU,finallybyLCDdisplayalcoholchromavalue.Soletthepeopleknowwhatoneselfshoulddriveinwhatcircumstancescandrive,thisisaverypracticalinmodernlife.Afteragreatdealofverification,basedonSCMalcoholconcentrationmonitordetectorthantraditionalmechanicaldetectororalcoholplans,monitoringhighprecision,sensitivity,gooddependability,preciseconvenientextendedsimple,controlpowerfulfunctions.Beyondthevalueofacousto-opticalarm,intuitiveaccurate.SobasedonSCMalcoholconcentrationmonitorresearchhascertainvalue..Keywords:Alcoholconcentrationsensormicrocontrollerdigital-to-analogHardwaredesignDigitalpipedisplay 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:      学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日 目录第一章.绪论1一.酒精浓度检测仪的背景1二.酒精浓度检测仪现状及发展趋势2三.本课题实现目标2四.本章小结2第二章设计方案和元器件选择3一.设计方案3二.元器件选择31.单片机的选择32.传感器53.数模转换器64.AT24C02存储器75.LCD显示8三.本章小结9第三章硬件设计10一.硬件设计原理10二.硬件设计的外围电路111.晶振电路112.复位电路123.报警设计134.电源电路145.信号调制电路156.A/D转换设计157.外围扩充存储器电路17三.本章小结17第四章系统软件的设计19 一.主程序19二.A/D转换模块程序流程图20三.按键程序流程图21四.液晶显示程序流程图22五.本章小结23第五章本设计总结与展望24参考文献25致谢27附录281.主程序282.液晶显示程序333.存储程序374.AD转换程序41 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪第一章.绪论检测仪向更迅速更快捷发展,方便携带等要求发展。传统的机械检测仪或酒精计一般灵敏度和准确度也比较低或者检测方法难,同时单片机既有通用计算机的基本部件,又不同于计算机。有体积小,实时快速的对外部事件做出响应,迅速采集大量数据,做出逻辑判断与推理后实现被控对象的参数调整与控制,且能满足检测仪的设计要求,所以基于单片机的酒精浓度检测仪的开发有很大意义。一.酒精浓度检测仪的背景以对气体中酒精含量进行检测的设备有五种基本类型,即:燃料电池型(电化学)、半导体型、红外线型、气体色谱分析型、比色型。但由于价格和使用方便的原因,常用的只有燃料电池型(电化学型)和半导体型两种。燃料电池可以直接把可燃气体转变成电能,而不产生污染,酒精传感器只是燃料电池的一个分支。燃料电池酒精传感器采用贵金属白金作为电极,在燃烧室内充满特种催化剂,使进入燃烧室内的酒精充分燃烧转变为电能,也就是在两个电极上产生电压,电能消耗在外接负载上,此电压与进入燃烧室内气体的酒精浓度成正比。与半导体型相比,燃料电池型呼气酒精测试仪具有稳定性好,精度高,抗干扰性好的优点。但是由于燃料电池酒精传感器的结构要求非常精密,制造难度相当大。从传感器技术发展的角度看,根据使用传感器原理的不同,常见的气体检测仪器仪表各自有适用气体及应用领域,新技术新产品正在成为未来气体检测仪器仪表的主流,现在的酒精浓度检测仪都是采用可替代吹管,酒精仪从传统的机械检测或酒精计到现在的利用传感器和单片机位核心技术的酒精浓度检测仪式在技术上是一大突破,大大提高了检测酒精的精确度。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪二.酒精浓度检测仪现状及发展趋势根据使用传感器原理的不同,常见的气体检测仪器仪表各自有适用气体及应用领域,新技术新产品正在成为未来气体检测仪器仪表的主流,如今的酒精浓度检测仪都是采用可替代吹管,酒精仪从传统的机械检测或酒精计到现在的利用传感器和单片机位核心技术的酒精浓度检测仪式在技术上是一大突破,大大提高了检测酒精的精确度,更能满足市场的需求。但是当前大部分一般的酒精浓度检测仪价格较低的灵敏度并不是很强,准确度高的一般售价也比较昂贵,并且大多只是对结果进行预警、低报、高报三限报警点设置,所以在LED显示酒精浓度数值上应实现普及,得到准确的浓度数值。同时很多其他气体会可能会对其影响,从而影响准确度。所以在传感器的腐蚀性以及排除其他干扰的能力值得提升。现在大多都是检测气体浓度或液体浓度的检测,最好是能解决一个检测仪同时检测气体和液体两种不同状态的酒精浓度。三.本课题实现目标本论文主要完成酒精浓度检测仪软件设计,设计内容包括:A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。系统采用单片机为控制核心,以实现便携式酒精浓度检测仪的基本控制功能。系统主要功能内容包括:数据处理、超标报警。本系统设计采用功能模块化的设计思想,设计器件简介和选择;电路的设计和调试。硬件设计部分主要包括:MCU、A/D、LCD、外围扩展数据RAM等芯片的选择。四.本章小结如今各个地方对安全意识增强,对检测的精度高,准确度高,携带方便要求。再加上气体传感器的发展,单片机具有受集成限制,片内储存量较小,可靠性好,扩展简单,控制功能强等特点,基于单片机的酒精浓度检测仪的研究和开发生产具有十分广泛的现实市场和潜在的市场需求。本章主要从单片机和传感器以及基于单片机的酒精浓度监测仪的研究背景,国内外现状及其发展趋势,本设计所要实现的目标三个方面作出的阐述。其中最重要的是本设计所要实现的目标,其次是基于单片机的酒精浓度检测仪的发展趋势。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪第二章设计方案和元器件选择通过对单片机和传感器的了解,在智能仪表上的优势有很多,耗能小、准确度高、超强集成化、以及稳定性能等等,注定了单片机在各个领域的应用。所以在酒精浓度检测的设计中也选择了单片机作为控制核心。同时需要的部件包扩酒精浓度传感器、数模转换器、、LED显示器、键盘以及声音报警。无需其他计算机,用户就可以进行交互工作,完成数据的采集、储存、计算、分析等过程。该仪器电路简单,软件功能完善,灵敏度高,工作性能好,并且具有尺寸小、方便携带、低功耗、低成本等优点。一.设计方案由酒精浓度测试仪对待测气体(液体)进行检测,气体传感器是将一种气体体积分时转化成对应电信号的转换器。探测头通过气体传感器的对气体样品进行处理,通常包括滤除杂质和干燥气体、干燥或制冷处理,样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快的测量。转换成输出电压信号。然后以单片机为核心的控制:定时进行各个功能模块的自诊断,并对外界的异常情况做出快速处理。对无法解决的问题,应及时切换到后背装置或报警。具有完善的输入输出通道和实时控制能力:对生产过程进行检测和控制,有多种信号需要传送,因此要求系统配备完善的模拟量和数字量输入输出通道和完善的中断系统和处理功能。信号采集处理、声光报警电路以及显示、键盘、PC接口电路。测试仪进行气体检测的基本步骤是单片机采集酒精传感器的响应信号,并且进行转换,模数转换就是用于快速,高精度的对输入信号采样编码,然后转化成数字量储存在数据储存器中,然后单片机通过特定的算法进行气体浓度的识别,同时和所设值进行对比,超出则报警同时显示浓度数值,没超出只显示浓度数。并且将结果输出到LCD显示屏幕上。二.元器件选择1.单片机的选择本系统采用单片机为控制核心。我们选择单片机STC89C51为控制核心;主要基于考虑STC89C51是无法解密低功耗,超低价高速,高可靠强抗静电,强抗干扰,功能强大的单片机。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪STC89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内振荡器及时钟电路,89C5X可以按照常规方法进行编程,也可以在线编程。同时STC89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本。STC单片机有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。[1]STC89C51单片机单片机引脚功能(如图2.1):•Vcc:电源电压•GND:地图2.1单片机引脚图STC89C51是的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256K第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪bytes的随机存取数据存储器,器件采用高密度,非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,STC89C51单片机适合于许多较为复杂控制应用场合[3]。主要性能参数:•8K字节可重擦写FLASH闪存存储器•1000次写/擦循环•时钟频率:0Hz—24MHz•三级加密存储器•256字节内部RAM•32个可编程I/O口线•3个16位定时/计数器•6个中断源•可编程串行UART通道•低功耗的空闲和掉电模式•片内振荡器和时钟电路2.传感器气体传感器是气体检测系统的核心,通常安装在探测头内。从本质上讲,气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。探测头通过气体传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干燥或制冷处理、样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速地测量[2]。在选择传感器的时候,一定要考虑到稳定性、灵敏度、选择性和抗腐蚀性,本系统选择MQ3型酒精传感器。MQ3酒精传感器是气敏传感器,其具有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性[4]。MQ3型气敏传感器由微型Al2O3、陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或者不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成:其一为加热回路;其二为信号输出回路,它可以准确反映传感器表面电阻的变化。传感器表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的[6]。二者之间的关系表述为:RS/RL=(VC-VRL)/VRL,其中VC为回路电压,10V。负载电阻RL可调为0.5~200K,加热电压Uh为5V。上述这些参数使得传感器输出电压为0~5V。MQ3型气敏传感器的结构和外形如图所示,标准回路如图所示。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需要将传感器预热20s。图2.2MQ3的结构和外形图2.3MQ3标准回路3.数模转换器实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元[5]。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。这类型ADC的分辨率和采样速率是相互牵制的。优点是分辨率低于12位时,价格较低,采样速率也很好。ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在0~5V之间、工作频率为250KHZ、转换时间为32微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。ADC0832具有以下特点:•8位分辨率;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪•双通道A/D转换;•输入输出电平与TTL/CMOS相兼容;•5V电源供电时输入电压在0~5V之间;•工作频率为250KHZ,转换时间为32μS;•一般功耗仅为15mW;•8P、14P—DIP(双列直插)、PICC多种封装;•商用级芯片温宽为0度to+70度,工业级芯片温宽为−40度to+85度;芯片接口说明:•CS_片选使能,低电平芯片使能。•CH0模拟输入通道0,或作为IN+/-使用。•CH1模拟输入通道1,或作为IN+/-使用。•GND芯片参考0电位(地)。•DI数据信号输入,选择通道控制。•DO数据信号输出,转换数据输出。•CLK芯片时钟输入。•Vcc/REF电源输入及参考电压输入(复用)。4.AT24C02存储器在本设计中使用的是24C02存储芯片,是电可擦除的PROM,8个引脚功能及两线串行接口。电压允许范围1.8V~5V。串行E2PROM是基于I2C-BUS的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。在一般单片机系统中,24C02数据受到干扰的情况是很少的,基本的读写功能外,还对地址功能以及WP引脚保护功能进行了全面的检测,发现一种ATMEL(激光印字)以及XICOR牌号的24C02具有全面的符合I2C总线协议的功能,而有些牌号24C02要么没有WP引脚保护功能,要么没有器件地址功能(即2片24C02不能共用一个I2C总线),有些甚至两种功能均无。所以说一些同样功能型号的电子器件在兼容性上往往会带来意想不到的问题,值得引起注意。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪5.LCD显示液晶显示模块与计算机的接口电路有两种方式。它与单片机的接口方法分为直接访问方式和间接控制方式。直接访问方式是把液晶模块作为存储器或I/O设备直接接在单片机的总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。间接控制方式则不使用单片机的数据系统,而是利用它的I/0口来实现与显示模块的联系。即将液晶显示模块的数据线与单片机的P0口连接作为数据总线,另外三根时序控制信号线通常利用单片机的P2口中未被使用的I/O口来控制。这种访问方式不占用存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现[7]。LCD1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16×1,16×2,20×2和40×2行等的液晶显示模块,模块组件内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。1602液晶显示屏采用标准的16脚接口,其中各接口的功能如下表(2-1)所示:引脚号引脚名电平输入/输出引脚说明1VSS电源地2VDD电源正极(+5V)3VL液晶显示偏压信号4RS0/1输入数据/命令选择端,0:输入指令,1:输入数据5R/W0/1输入读/写选择端,0:向LCD写入指令或数据,1:从LCD读取信息6E1→0输入使能信号,1时读取信息,1→0(下降沿)执行指令7D00/1输入/输出数据总线(最低位)8D10/1输入/输出数据总线9D20/1输入/输出数据总线10D30/1输入/输出数据总线11D40/1输入/输出数据总线12D50/1输入/输出数据总线13D60/1输入/输出数据总线14D70/1输入/输出数据总线(最高位)第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪15BLA+VCCLCD背光电源正极16BLK接地LCD背光电源负极表2-1LCD1602的16管脚功能三.本章小结本章对本文设计的主要部件进行介绍,了解了相关部件的组成以及基本结构基本工作原理,让我们对每个模块清楚其工作方式,工作步骤,以及工作原理。各个元器件的作用功能后对本设计的分析,需要哪些元器件,具体到什么型号,下面是对各个元器件的选择,在元器件选择生起到指导作用,以及更好的发挥各个部件的功能作用。根据对元器件的选择基本了解到本设计以单片机为核心,由酒精浓度测试仪对待测气体(液体)进行检测,转换成输出电压信号,以单片机STC89C51为核心的控制、信号采集处理、声光报警电路以及显示、键盘、PC接口电路。测试仪进行气体检测的基本步骤是单片机采集酒精传感器的响应信号,并且进行转换,储存在数据储存器中,然后单片机通过特定的算法进行气体浓度的识别,并且将结果输出到LCD显示屏幕上。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪第三章硬件设计基于单片机酒精浓度检测仪的硬件设计部分。首先,我们必须了解它的硬件设计原理。其次,需要弄清楚它的总体构成及具体的外围电路。最后,根据其原理框图和具体的外围电路得到完整的硬件总电路图。一.硬件设计原理由酒精传感器对待测气体(液体)进行检测,转换成输出电压信号,仪单片机为核心的控制、信号采集处理、声光报警电路以及显示、键盘、PC接口电路。测试仪进行气体检测的基本步骤是单片机采集酒精传感器的响应信号,并且进行转换,储存在数据储存器中,然后单片机通过特定的算法进行气体浓度的识别,同时将分析的值与设定值进行对比,对超出设定值进行报警,并且将结果输出到LED显示屏幕上。本系统由酒精传感器,数模转换器,单片机,键盘,声音报警以及LCD显示等部分组成,在这次的整体设计中详细涉及下面几个方面,其原理框图如:图3.1:传感器信号调制A/D单片机外部存储器液晶显示器按键图3.1单片机与LCD、键盘及声音报警电路的电路连接图第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪二.硬件设计的外围电路1.晶振电路单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,89c51的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C51单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空[8]。本系统中为了尽量降低功耗的原则,采用了内部时钟方式。图3.2晶振电路图在89C51单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在5—30pF,典型值是22pF,晶振CYS选择的是12MHz。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪2.复位电路单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态[9]。当在89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位,上电复位,要求接通电源后,单片机自动实现复位操作。常用的上电复位,上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使STC89C51内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。图3.3复位电路图第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12MHz时,C1为10uF:R4为8.23.报警设计在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。但对于某些紧急状态,比如系统检测到的错误状态等,为了使操作人员不至于忽视,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。这种报警信号通常有三种类型:一是闪光报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂,软件量也增加。闪光报警实现单频音报警的接口电路比较简单,只要当值高于警报值的时候给一个低电频就能驱动二极管发光,简单易懂。以下为报警电路接线图见图3.4图3.4报警电路图第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪这一章比较具体的说明了系统硬件设计的内容,通过模块化的设计思想,把一个复杂的单片机系统按照功能划分成一个个单独的电路模型,分别进行设计,最后在集成到一起。这种方法对于设计复杂的单片机系统很有效。大大提高系统设计的效率与质量[11]。4.电源电路在本次设计中,需要一个比较大的电压源和一个5V的单片机供电源,为了实现便携式,设用一个9V的电压源,一般6节电池和一个9V的电池都可以提供,因而需要一个电压转换吧9V转换成5V。工作原理如图4.11低压层直流稳压电源电路原理图。该电路是由基准电压、电压放大和电流放大等3个环节组成。其中,基准电压产生,按图中电路连接,当通过R0的电流在0.5~10mA时可获得稳定的2.5V基准输出。图3.5低压层电路原理图第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪输出电压的具体数值由运算放大器UA确定,采用同相放大器的优越性在于其输入阻抗极大,可很好地将TL431输出的2.5V电压与后级电路隔离,使其不受负载变化的影响;运放与电阻R3和R2组成比例放大环节,可对基准电压按要求进行比例放大输出,但输出电压最大不能超过运放的电源电压。5.信号调制电路图3.6信号调制放大电路图3.6是酒精传感器电极信号调理电路采集到的信号都会很弱,首先将信号经过二阶有源滤波电路以后,经过3级放大电路,同相和反相放大电路构成一级和二级,互相抵消了零度漂移和失调,后面的差动放大电路构成第三极,将差分出入转换为单端输出。6.A/D转换设计正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束[12]。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能.如图3.7第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪3.7模数转换电路图本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。键盘分为:独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统只有+、-、设置、确认4个控制命令,所需按键较少,所以本系统选择独立式按键。电路图见图3.83.8按键电路图独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖[14]。①硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。②第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。③由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。7.外围扩充存储器电路基于STC85C51单片机具有4KB的程序存储器(ROM),256B的数据存储器(RAM),由于考虑到本系统的数据处理与存储所需的容量,现在需要扩充存储器的容量。在应用中要保存一些参数和状态,据了解基于EEPROM的存储芯片是一种很好的选择[15]。我们选定了AT24C02存储器。电路图见图3.9:图3.9外围扩充存储电路图三.本章小结本章主要介绍了硬件设计的原理及具体外围电路。二者紧密联系,不可分割。我们只有了解了基于单片机的酒精浓度检测仪原理之后,我们才可能联想设计出它的原理框图,从而确定它是由主控芯片、电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分、报警部分等组成大的。然后,设计各个具体部分的电路以实现其对应的功能[16]。最后,将具体的外围电路和STC89C51单片机的对应引脚连接起来,以完成本设计第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪3.10硬件设计部分第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪第四章系统软件的设计对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法[17]。软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能写各个子程序。整个软件程序的编写采用查询式方式编写的。程序编写包括主程序,液晶显示程序,存储程序,AD转换程序和时钟程序。详情见附录一.主程序主程序实现的功能:与硬件相结合实现便携式酒精浓度检测仪的各个功能。主要是检测与显示,数据存储。功能子函数的调用。见图4.1首先开启启动按钮,启动单片机和显示器,同时对单片机内部进行初始化,紧接着初始化显示屏,初始化完毕后显示开机画面显示主菜单,然后对键盘的读入。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪开始初始化CPU初始LCD屏显示开机画面显示主菜单读键结束图4.1主程序流程图二.A/D转换模块程序流程图⑴模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。A/D芯片的数据CS口,连接51单片机的P3.1口,CLK接P3.2,D1和D0接P3.3口。工作时序如下所示:ADC0832有8只引脚,CH0和CH1为模拟输入端,CS为片选引脚,只有CS置低才能对ADC0832进行配置和启动转换。CLK为ADC0832的时钟输入端。CS在整个转换过程中都必须为低,当CS为低时,在数据输入端DI(数据输入端)加一个高电平,接着在CLK上加一个时钟,DI上的逻辑1就会使ADC0832的DI脱离高阻态,然后通道配置数据伴随着时钟通过DI端移入多路器,当最后一位数据移入多路器时,,DI变为高阻态,在这以前DO(数据输出端)都为高阻态。在经过一个时钟,DO脱离高阻态,从而启动转换。接着从处理器接收时钟信号,每经过一个时钟,转换后的数据就会从高位到低位依次从DO移出,经过8个时钟后,数据又以从低位到高位的形式从DO移出(也是每个时钟移一位)。当最后一位数据移出时转换完成。当CS从低变为高时,ADC0832内部所有寄存器清零。如想要进第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪行下一次转换,CS必须做一个从高到低的跳变,后跟着地此配置数据重复上面的过程。⑵ADC0832转换的流程图见下图4.2开始使能芯片输入通道控制字读取2字节数据字节数据校正送入指定寄存器结束图4.2数转换流程图三.按键程序流程图⑴按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。⑵按键查询式的流程图见下图(图4.3):按键的四个键分别接P1.0,P1.1,P1.2,P1.3,由于P1口具有上拉电阻,所以不在需要加上拉电阻进行电压的放大。开始第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪结束图4.3按键查询式的流程图四.液晶显示程序流程图LCD模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。采用直接访问方式。液晶显示的操作流程图见下图4.4:第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪开始结束图4.4液晶显示的操作流程图在LCD1602液晶上显示相应的读写数据。在液晶上显示的格式如下:C02ADDRESS:0X01WR:010READ:010五.本章小结本章主要介绍了软件设计的主程序流程图、A/D转换模块程序流程图、按键程序流程图。液晶显示程序流程图,我们只有充分理解了各个流程图以后,才能运用汇编语言完成本设计的软件系统编程。最终,完成此次设计。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪第五章本设计总结与展望由于检测仪向更迅速更快捷发展,方便携带等要求发展。传统的机械检测仪或酒精计一般灵敏度和准确度也比较低或者检测方法难。工厂企业到居民家庭,酒精泄露的检测,食品加工,酿酒等需要监控空气中酒精浓度的场合监控以及对酒后驾车的检测,对居民的人身和财产安全都十分重要且必不可少的,现如今,由于人们安全意识增强,对环境安全性和生活适性要求提高。人们对检测的精度高,准确度高,携带方便等等要求。再加上气体传感器向低功耗、多功能、集成化方向的发展,单片机具有受集成限制,片内储存量较小,可靠性好,扩展简单,控制功能强等特点,因此,基于单片机的酒精浓度检测仪的研究和开发生产具有十分广泛的现实市场和潜在的市场需求。针对目前的现状,该系统设计遵守体积小,质量轻,性价比高的原则[19]。便携式酒精浓度检测仪的设计主要分为硬件设计和软件设计。根据设计前对该系统所要实现功能的要求,综合考虑我们采用STC89C51单片机为控制核心。首先要了解系统所要实现的功能;其次根据功能去选择相应的硬件资源;再次将一个大的系统进行模块化划分,然后逐一去攻破。最后把所有模块进行优化整合,便得到了一个完整的系统。基于这样的思路,完成了便携式酒精浓度检测仪的基本设计[20]。软件是用C语言相编写的,具有很好的编写语言的优点,具有很好的可控性、模块化和移植性。编写的思路就是模块化的思想,将系统的各个功能进行划分,然后对各个模块进行设计。本系统的主要模块为传感检测、A/D转换、液晶显示和时钟设置。此本设计采用传感器检测酒精浓度时输出的模拟信号,经AD0832转换输入单片机,从而从液晶显示上显示出来。通过对本次毕业设计[23],我学习了很多在大学遗漏的知识,让我在以后的工作中,更加的得心应手。第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪参考文献[1] 何立民.单片机高级教程应用与设计[M].北京:北京航空航天大学出版[2]郑义,陈俊.用AT89C52和TLC1543实现数据采集系统[J].电子世界,2004[3]郑学坚.微型计算机原理及应用.2006.[4]李维提.郭强.《液晶显示应用技术》北京:电子工业出版社,2000.[5]王幸之.AT89系列单片机原理与接口技术,2004.[6]何希才.传感器及其应用。北京:国防工业出版社,2001.[7]北京精电蓬远显示技术有限公司.内藏KS0108B/HD61202控制器图形液晶显示模块使用手册.[8]王幸之.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004.[9]华成英.童诗白.《模拟电子技术基础第三版》北京:高等教育出版社,2004.[10]孙传友.温控系统原理与设计。北京:北京航空航天大学出版社,2002[11]林德杰.电气测试技术。北京:机械工业出版社,1993.[12]纪宗南.单片机外围器件使用手册—输入通道器件分册[M].北京:北京航空航天大学出版社,2005.[13]贾伯年.传感器技术,南京:东南大学出版社,2000.[14]郑学坚.周斌.微型计算机原理及应用[M].北京:清华大学出版社,2006.[15]徐爱钧.彭爱华.《单片机高级语言C51应用程序设计》〔M〕.北京工业出版社,1999.[16]马忠梅等.《单片机的C语言应用程序设计》北京:北京航空航天大学出版社,1997.[17]赵阳.电磁兼容工程入门教程[M].北京:机械工业出版社,2009.[18]卢丽君.基于TLC1543的单片机多路采样监测系统的设计[J].仪器仪表与分析监测,2007.[19]ItalianConferenceonSensorsandMicrosystems DiNatale,C.Proceedingsofthe7thItalianConference:sensorsandmicrosystems:Bologna,Italy,4-6February2002[M].Singapore;RiverEdge,N.J.:WorldScientific,c2002.[20]PowerIntegrationsTOPSwitch-HXProductApplicationGuide[J].2007,05,02.[21].LanJiChangC51completelystudymanualmicrocontroller[M].beijing:chemicalindustrypress,2009.第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪[22]somefai,single-chipmicrocomputerprincipleandapplication,chemicalindustrypress,2010,8[23]ItalianConferenceonSensorsandMicrosystems DiNatale,C.Proceedingsofthe7thItalianConference:sensorsandmicrosystems:Bologna,Italy,4-6February2002[M].Singapore;RiverEdge,N.J.:WorldScientific,c2002.第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪致谢我的这篇毕业论文的完成,我首先要向在论文写作中给予我悉心关怀、鼓励和指导的老师致以深深的敬意和谢意.老师一丝不苟的钻研精神,严谨求实的治学态度,执着忘我的工作作风,独树一帜的思维方式,使学生受益匪浅,并终身难忘.应当归功于指导老师闵佳园。她无论是资料整理还是在论文的撰写等各个方面都给予了大量的指导和帮助,令我不但完成了论文,也学到了许多书本上学不到的知识,受益匪浅,特致以深深的感谢。同时也要感各位同学的帮助。四年的大学生活不知不觉中就要结束了,在这段难忘的生活中,有我许多美好的回忆。我的心中,除了不舍,还是不舍,我想,有许多人是我要用一辈子去铭记的。.第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪附录1.主程序#include#include#include#include#include#defineuintunsignedint#defineucharunsignedchar//键盘sbitk0=P1^0;sbitk1=P1^1;sbitk2=P1^2;sbitk3=P1^3;//变量bitflg=0;//数组ucharM_time[]={"Time"};//时间ucharM_Detect[]={"Detect"};//检测ucharM_Storage[]={"Storage"};//存储ucharstor[4];//以定义函数voidinitial_lcd1602(void);voiddelays1(uintn){while(n--);第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪}/***************子程序************************/voidchang_h(void){intg;if(k0==0){for(g=0;g<20;){delays1(100);g++;}if(k0==0){wr_data[4]=readtimeR[4]+1;if(wr_data[4]>0x23)wr_data[4]=0x00;}}if(k1==0){for(g=0;g<20;){delays1(100);g++;}if(k1==0){wr_data[4]=readtimeR[4]-1;if(readtimeR[4]==0x00)wr_data[4]=0x00;}}DS1302_init();showdata();Display_List_Char(1,0,lcd_time);}/***************************************/voidchang_m(void){intg;if(k0==0){for(g=0;g<20;){delays1(100);g++;}if(k0==0)第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪{wr_data[5]=readtimeR[5]+1;if(wr_data[5]>0x23)wr_data[5]=0x00;}}if(k1==0){for(g=0;g<20;){delays1(100);g++;}if(k1==0){wr_data[5]=readtimeR[5]-1;if(readtimeR[5]==0x00)wr_data[5]=0x00;}}DS1302_init();showdata();Display_List_Char(1,0,lcd_time);}/*************************************/voidchang_s(void){intg;if(k0==0){for(g=0;g<20;){delays1(100);g++;}if(k0==0){wr_data[6]=readtimeR[6]+1;if(wr_data[6]>0x23)wr_data[6]=0x00;}}if(k1==0){for(g=0;g<20;){delays1(100);g++;}if(k1==0){wr_data[6]=readtimeR[6]-1;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪if(readtimeR[6]==0x00)wr_data[6]=0x00;}}showdata();Display_List_Char(1,0,lcd_time);}/**************************************************///主函数/**************************************************/voidmain(){uchari,dd;uintg;ucharshow[4];unsignedintdata_temp=0;initial_lcd1602();delays1(100);Display_List_Char(0,0,LCD_Code2);for(g=0;g<100;){delays1(100);g++;}while(1){if(k0==0|k1==0|k2==0|k3==0){write_lcd_command(0x01);//清屏for(g=0;g<100;){delays1(100);g++;}Display_List_Char(0,0,M_time);Display_List_Char(0,8,M_Detect);Display_List_Char(1,0,M_Storage);for(g=0;g<10;){delays1(100);g++;}/*************检测*******************/第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪if(k1==0){write_lcd_command(0x01);do{if(k3==0)flg=1;data_temp=ADconv();stor[0]=data_temp;xs_int(196*data_temp,1);}while(flg==0);flg=0;}/***************存储****************/if(k2==0){write_lcd_command(0x01);//清屏do{if(k3==0)flg=1;for(i=0;i<3;){//i2c_write(0x00+i,0x63+i/*要存的数据*/);i2c_write(0x00+i,stor[0]/*要存的数据*/);i++;}_nop_();i=0;for(i=0;i<3;){dd=i2c_read(0x00+i);/*读地址数据*/show[i]=dd;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪i++;}Display_List_Char(1,0,show);}while(flg==0);flg=0;for(g=0;g<500;){delays1(100);g++;}}/***************************************/}}}2.液晶显示程序#include#include#include#defineucharunsignedchar#defineuintunsignedint#defineLCDPORTP0sbitRS=P2^6;//RS数据命令选择端,高电平数据,低电平命令sbitRW=P2^7;//RW读写选择端,高电平读操作,低电平写操作sbitEN=P2^0;//EN使能控制端,E高电平跳变为低电平时LCD执行命令ucharLCD_Code2[]="Welcome:";ucharLCD_Code[]="0123456789ABCDEF-.";/******************************LCD1602驱动程序*************************************/voidlcd_delay(uchardelaytime){while(delaytime)delaytime--;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪}voidwrite_lcd_command(ucharwrite_command){lcd_delay(40);RS=0;RW=0;LCDPORT=write_command;EN=1;EN=0;}voidwrite_lcd_data(ucharwrite_data){lcd_delay(40);RS=1;RW=0;LCDPORT=write_data;EN=1;EN=0;}voidDisplay_One_Char(ucharx,uchary,uchardat)//x表示行,y表示列{switch(x){case0:write_lcd_command(0x80+y);break;case1:write_lcd_command(0xc0+y);break;}第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪write_lcd_data(dat);}voidDisplay_List_Char(ucharx,uchary,uchar*str){switch(x){case0:write_lcd_command(0x80+y);break;case1:write_lcd_command(0xc0+y);break;}while(*str!=""){write_lcd_data(*str);str++;}}voidxs_int(unsignedintshuju,bitt)//显示一个数字{unsignedcharhuancun[6]={0};unsignedcharbiaozhi=0,i;if(shuju<10)biaozhi=1;elseif(shuju<100)biaozhi=2;elseif(shuju<1000)biaozhi=3;elseif(shuju<10000)biaozhi=4;elseif(shuju<65535)biaozhi=5;switch(biaozhi){case5:huancun[5]=shuju/10000;case4:huancun[3]=shuju%10000/1000;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪case3:huancun[2]=shuju%1000/100;case2:huancun[1]=shuju%100/10;case1:huancun[0]=shuju%10;break;default:break;}for(i=6;i>1;i--){if(i==5)Display_One_Char(1,10,".");elseDisplay_One_Char(t,15-i,0x30+huancun[i-1]);}Display_One_Char(t,15,"V");}voidinitial_lcd1602(void)//初始化LCD1602{uchari;EN=0;for(i=200;i>0;i--)lcd_delay(248);write_lcd_command(0x38);//0x38命令,双行显示,显示5x7的点阵字符for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x38);//再写一次0x38命令,双行显示,显示5x7的点阵字符for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x0c);//无光标,不闪烁for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x06);//光标右移,文字不移动for(i=4;i>0;i--)第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪lcd_delay(248);write_lcd_command(0x01);//清屏for(i=4;i>0;i--)lcd_delay(248);}3.存储程序#include#include#include#defineucharunsignedchar#defineuintunsignedint#defineLCDPORTP0sbitRS=P2^6;//RS数据命令选择端,高电平数据,低电平命令sbitRW=P2^7;//RW读写选择端,高电平读操作,低电平写操作sbitEN=P2^0;//EN使能控制端,E高电平跳变为低电平时LCD执行命令ucharLCD_Code2[]="Welcome:";ucharLCD_Code[]="0123456789ABCDEF-.";/******************************LCD1602驱动程序*************************************/voidlcd_delay(uchardelaytime){while(delaytime)delaytime--;}voidwrite_lcd_command(ucharwrite_command){lcd_delay(40);RS=0;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪RW=0;LCDPORT=write_command;EN=1;EN=0;}voidwrite_lcd_data(ucharwrite_data){lcd_delay(40);RS=1;RW=0;LCDPORT=write_data;EN=1;EN=0;}voidDisplay_One_Char(ucharx,uchary,uchardat)//x表示行,y表示列{switch(x){case0:write_lcd_command(0x80+y);break;case1:write_lcd_command(0xc0+y);break;}write_lcd_data(dat);}voidDisplay_List_Char(ucharx,uchary,uchar*str){switch(x)第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪{case0:write_lcd_command(0x80+y);break;case1:write_lcd_command(0xc0+y);break;}while(*str!=""){write_lcd_data(*str);str++;}}voidxs_int(unsignedintshuju,bitt)//显示一个数字{unsignedcharhuancun[6]={0};unsignedcharbiaozhi=0,i;if(shuju<10)biaozhi=1;elseif(shuju<100)biaozhi=2;elseif(shuju<1000)biaozhi=3;elseif(shuju<10000)biaozhi=4;elseif(shuju<65535)biaozhi=5;switch(biaozhi){case5:huancun[5]=shuju/10000;case4:huancun[3]=shuju%10000/1000;case3:huancun[2]=shuju%1000/100;case2:huancun[1]=shuju%100/10;case1:huancun[0]=shuju%10;break;default:break;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪}for(i=6;i>1;i--){if(i==5)Display_One_Char(1,10,".");elseDisplay_One_Char(t,15-i,0x30+huancun[i-1]);}Display_One_Char(t,15,"V");}voidinitial_lcd1602(void)//初始化LCD1602{uchari;EN=0;for(i=200;i>0;i--)lcd_delay(248);write_lcd_command(0x38);//0x38命令,双行显示,显示5x7的点阵字符for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x38);//再写一次0x38命令,双行显示,显示5x7的点阵字符for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x0c);//无光标,不闪烁for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x06);//光标右移,文字不移动for(i=4;i>0;i--)lcd_delay(248);write_lcd_command(0x01);//清屏for(i=4;i>0;i--)lcd_delay(248);}第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪4.AD转换程序#include"reg52.h"#include//******************adc0832****************************//sbitCS=P3^1;//使能。sbitCLK=P3^2;//时钟sbitDo=P3^3;//数据输出sbitDi=P3^3;//数据输入unsignedcharCH=0x02;//通道的选择:0x02就是单通道0;0x03就是单通道1;//0x00就是双通道ch0=“+”;ch0=“-”//0x01就是双通道ch0=“-”;ch0=“+”//*****************************************************//unsignedcharADconv(void){unsignedchari;unsignedintdata_f=0,data_c=0;Di=1;CS=1;_nop_();CS=0;Di=1;;//芯片使能之前的初始化。第一个下降沿CLK=1;_nop_();_nop_();/****************************************/CLK=0;//确定通道模式、第2个下降沿_nop_();_nop_();CLK=1;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪Di=(bit)(0x02&CH);//设定通道初始化_nop_();CLK=0;_nop_();_nop_();CLK=1;Di=(bit)(0x01&CH);//设定通道初始化.第3个下降沿_nop_();_nop_();CLK=0;//AD转化的初始化完成。Di=1;CLK=1;_nop_();_nop_();CLK=0;_nop_();CLK=1;for(i=8;i>0;i--)//得到一个正常排序的8位数据{data_f|=Do;data_f<<=1;CLK=1;_nop_();_nop_();CLK=0;_nop_();}for(i=8;i>0;i--)//得到一个反序排列的8位数据{data_c<<=1;第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪data_c|=Do;_nop_();CLK=1;_nop_();_nop_();CLK=0;_nop_();}CLK=0;_nop_();_nop_();CLK=1;_nop_();_nop_();CLK=0;_nop_();_nop_();CLK=1;_nop_();CS=1;_nop_();_nop_();returndata_f;}第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:     第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日第46页共43页 长江师范学院本科毕业设计·基于单片机的酒精浓度检测仪致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。致谢四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。最后,我要特别感谢我的导师刘望蜀老师、和研究生助教吴子仪老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。第46页共43页'