基于单片机的酒精浓度测试系统设计--毕业论文.docx_第1页
基于单片机的酒精浓度测试系统设计--毕业论文.docx_第2页
基于单片机的酒精浓度测试系统设计--毕业论文.docx_第3页
基于单片机的酒精浓度测试系统设计--毕业论文.docx_第4页
基于单片机的酒精浓度测试系统设计--毕业论文.docx_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的酒精浓度测试系统设计摘 要因酒精引起的安全问题逐年增加,酒精浓度测试系统也成为当今安全领域的研究热点。本次设计是对酒精浓度测试系统进行研究,借助编程来实现酒精浓度测试。酒精浓度测试系统的设计包含传感器、单片机、编程等多方面知识。本次设计一共分为硬件和软件系统,其中控制芯片选用STC89C52RC单片机;选用MQ-3酒精浓度传感器作为系统的信号收集模块,利用传感器采集信号,经过模数转换将信号转换为能被单片机识别的数字信号;采用LCD液晶显示器进行最终的显示。软件系统采用C语言编程,对系统各个模块分开编写控制。本次设计的系统硬件和软件都采用模块化结构,通过对酒精浓度测试系统硬件的选择和程序的编写,最终完成了基于单片机的酒精浓度测试系统设计。关键词:STC89C52RCRC单片机;C语言;MQ-3酒精传感器Design of alcohol concentration test system based on MCUAbstractWith the increasing safety problems caused by alcohol, alcohol concentration test system has become a hot research field in todays security field. This design is the alcohol concentration test system to study, with programming to achieve the final alcohol concentration test. Alcohol concentration test system design includes sensors, microcontrollers, programming and other aspects of knowledge.The design of a total of hardware and software is divided into two major systems, including the central control of the hardware system core selection STC89C52RC microcontroller; use MQ-3 alcohol concentration sensor as a system of signal collection module, and the use of sensors to collect signals and signals can be converted into Single-chip identification of digital signals; using LCD liquid crystal display for the final test results show. Software system using C language programming, the system separately prepared to control the various modules. The design of the system hardware and software are modular structure, through the alcohol concentration test system hardware selection and procedures for the preparation, and ultimately completed the single-chip based on the alcohol concentration test system design.Key Words: STC89C52RCRC microcontroller; C language; MQ-3 alcohol sensor目 录1 绪论11.1 课题背景11.2 现状及发展趋势11.3 研究意义21.4 研究内容21.5 系统总体思路22 系统总体方案设计32.1 总体设计32.2 处理器优势论证32.3 显示部分论证43 硬件电路设计53.1 单片机的选择53.1.1 单片机介绍53.1.2 STC89C52RC单片机主要性能参数63.2 传感器73.2.1 MQ-3酒精传感器介绍73.2.2 MQ-3酒精传感器关键部件材料73.2.3 MQ-3酒精传感器各项技术指标73.2.4 MQ-3酒精传感器结构93.2.5 MQ-3酒精传感器系统电路93.3 模数转换器103.4 电源电路113.5 LCD显示113.5.1 LCD1602液晶显示器主要参数113.5.2 LCD1602液晶显示器引脚及其功能113.6 报警设计133.7 按键电路设计143.8 存储电路153.9 系统硬件设计原理图分析154 系统软件的设计174.1 主程序设计174.2 A/D转换器程序流程图185 程序调试与实验结果195.1 调试步骤195.1.1 按键修改酒精阈值程序195.1.2 模数转换程序195.1.3 液晶显示程序设计195.1.4 储存程序设计195.1.5 整体功能调试程序195.2 实验结果206 总结21参考文献22致 谢23毕业设计(论文)知识产权声明24毕业设计(论文)独创性声明25附录126附录227附录328421 绪论1.1 课题背景在酒精测试过程中,常用的测试类型有:燃料电池型酒精浓度测试系统,半导体型酒精浓度测试系统、红外线型酒精浓度测试系统、气体色谱分析型酒精浓度测试系统、比色型酒精浓度测试系统1。但由于实用性和性价比的原因,现在市面上常用的只有燃料电池型酒精浓度检测系统和半导体型两种酒精浓度检测系统。燃料电池型酒精浓度测试系统可以把可燃气体直接转化为电能使用,这样就可以不用产生其他污染。燃料电池型酒精传感器一般都会用白金为电极,然后用特种催化剂进行催化,这样就可以使酒精得到充分的燃烧,从而转换为电能,进而使两极产生电压,产生的电能可以用在外接负载上,燃料电池型酒精传感器产生的电压和酒精浓度成正比。而且,燃料型酒精浓度检测仪,它有很好的稳定性,并且,精度高,抗干扰性能优越。不过因为燃料电池酒精传感器对结构性能要求的非常高2,所以制造成本和难度都非常大。从的科技发展来说,目前经常用的气体测试系统都有自己适用的范围,而且,随着科技的不断发展,大量新型技术与产品都在不断的涌现,这将成为未来气体测试系统的主力军队,现在人们常用的酒精浓度测试系统大都采用的是吹管式的,随着传感器和单片机的技术在科技上的不断突破,这将很大程度的提升酒精浓度测试系统的精度。1.2 现状及发展趋势自第二次工业革命以来,随着汽车的出现,人类的文明开始了大跨步式的进步。过去汽车对于寻常人家来说是个不可实现的梦想。但是随着经济的发展,汽车几乎进入了家家户户,让过去遥不可及的梦想成为了现实,并且拉近了地域之间的距离,促进了经济的发展,但是所有事物都是两面性的,因为汽车的出现,也造成了很多的人间悲剧,据世界卫生组织不完全统计,全球每年因为交通事故死亡的人数超过50万。交通事故出现的原因有许多,除去不可避免的事件,还有很多是可以避免的,其中就有酒驾造成的交通事故,并且因酒驾死亡人数占交通事故死亡人数的25%3。当人喝过酒后,大脑其实是清醒的,所以就会有一种可以驾驶汽车的错觉,因为在酒精的作用下,大脑是无法做出正确判断的,这就容易导致车辆失控,从而使人间悲剧的发生。要想从根源上去除酒后驾车的危险,这就需要一种对司机酒后测试的系统,酒精浓度测试系统也就应时而生。其实,酒精浓度测试系统还可以用在很多行业,比如:食品加工,酿造业等,这样可以有效的提高安全性能。目前市面上大多都是呼气式酒精浓度测试系统,这样可以简洁的对驾驶员进行酒精浓度的检测,从而判断是否为酒驾,这样就可以有效的减免这类交通事故的发生。1.3 研究意义中国的酒桌文化由来已久,这也就造成聚会,谈生意等场合无酒不欢。在这种情况下,酒精导致司机的判断能力下降,进而导致对车辆的失控,从而使惨绝人寰的交通事故的发生。那是因为酒中的乙醇也就是我们常说的酒精,对人的大脑有很强的抑制和麻醉作用,表现为人的兴奋或抑郁、肢体不协调、反应不灵敏、思维迟钝、胆量增大、判断力下降、沉睡不清醒等行为失常。这种情况下,如果让喝酒的人开上机动车,后果是可想而知的。即使是只喝少量的酒,也会和不喝酒时的状态不一样,很容易发生危险的。因此,世界上的国家都是严格禁止酒后驾车的4。所以,酒精浓度测试系统的研究对这个世界意义重大。1.4 研究内容(1) 单片机的选用:本设计选用的是STC89C52RC单片机为中央处理器;(2)传感器的选用:选择的是MQ-3酒精传感器;(3)模数转换选用:模数转换选用的是ADC0832,通过ADC0832,将模拟电压信号变成数字电压信号5;(4)显示器的选用:显示器选用的是LCD1602液晶显示器;(5)软件:通过用C语言对各模块进行编程,最终实现测试。1.5 系统总体思路酒精浓度测试系统主要是用来检测环境中的酒精浓度6,本设计由MQ-3酒精传感器、STC89C52RC单片机、LCD液晶显示器、键盘以及报警系统构成。酒精传感器将检测到的酒精信号转化为电信号,然后将电信号传送给模数转换器,经过模数转换器转换后,把转换后得到的数字信号传给单片机7,单片机对所输入的数字信号进行分析处理,最后将分析处理的结果通过显示器显示出来。由于不同的环境对酒精浓度测试的要求也不一样,所以,可以通过键盘来设定不同环境中酒精浓度测试的不同阀值。如果所检测到的空气中的酒精浓度超过了所设定的阀值,那么单片机将会控制报警系统报警来提示。2 系统总体方案设计2.1 总体设计图2.1 总设计框图本设计第一部分是传感器部分,由MQ-3酒精传感器采集酒精信号,并将该信号转换成模拟信号,由于单片机只能识别数字信号,所以就需要一个模数转换器,选用的是美国国家半导公司生产的ADC0832模数转换器,把单片机不能接收的模拟信号转换成可以接收的数字信号8。单片机选用的是STC89C52RC单片机。STC89C52RC单片机和LCD1602液晶显示器相连,通过程序,加上后期调试,最终显示环境中酒精的浓度。而且,STC89C52RC单片机还与键盘相连,这样可以方便对阈值的调整,使本设计可以在各种环境中测量。最终测量的结果如果大于设定值时,系统就会发出声光报警9。总设计框图如图2.1所示。2.2 处理器优势论证本系统的处理模块选用的是STC89C52RC单片机来进行处理。首先STC89C52RC单片机需要将接收到模拟信号通过模数转换器转换成可以识别的数字信号10。再用事先设计好的程序,对单片机进行编程,使单片机将信号传输给LCD1602液晶显示器进行显示。这时,如果环境中的酒精浓度高于预先设定的阈值,单片机就会控制声光报警器进行报警。从而实现报警功能。2.3 显示部分论证显示模块选择LCD液晶显示器,因为它符合本设计的各种需求,将STC89C52RC单片机的P0口与LCD液晶显示器相连便可实现数据传输11,使LCD液晶显示器上显示实时酒精浓度 12。3 硬件电路设计3.1 单片机的选择本设计采用单片机为处理模块。设计所选用的是STC89C52RC单片机为中央处理器,主要考虑的是STC89C52RC单片机低功耗,低价,高速,抗静电能力强,抗干扰强,是一款功能强大的单片机13。3.1.1 单片机介绍单片机又称为微型计算机,它具有计算机系统的核心功能和结构,它不单单是一块芯片,它还有中央处理器CPU、指令储存器、数据储存器等。简要的说它就是一台计算机。因为其质量轻、体积小、易于携带等优点,所以它的问世给很多电子行业带来飞速的发展14。本次设计采用的是STC公司生产的STC89C52RC单片机。STC89C52RC单片机相对于STC89C51单片机来说就是STC89C51单片机的增强型,C52比C51定时器多一个T2,RAM多128B,ROM多4K,中断多2个,多一个看门狗,在掉电、数据指针等方面还有一些改进。另外在RAM上还多了一个定时器2,在串口通信中可以设置更高的波特率,定时器2的功能与其他两个定时器也不一样。所以C52单片机有着C51单片机所具有的片上Flash允许程序存储器在系统可编程、低功耗、高性能、可降至0Hz静态逻辑操作,支持2种软件可选择节电模式等一切功能。设计选用C52单片机正是考虑到这一点15。STC89C52RC单片机引脚功能(如图3.1)图3.1 单片机引脚图3.1.2 STC89C52RC单片机主要性能参数:(1)增强型8051单片机;(2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机);(3)工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作频率可达48MHz;(4)用户应用程序空间为8K字节;(5)片上集成512字节RAM;(6)通用I/O口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;(7)具有EEPROM功能;(8)具有看门狗功能;(9)低功耗设计;(10)8通道,8位逐次逼近式ADC。STC89C52RC单片机系统原理(如图3.2)图3.2 STC89C52RC单片机系统原理图3.2 传感器3.2.1 MQ-3酒精传感器介绍酒精传感器是整个设计检测系统的核心。本设计选用的是MQ-3酒精传感器,因为MQ-3酒精传感器拥有很高的灵敏度,良好的稳定性,并且使用寿命长。MQ-3酒精传感器所使用的气敏材料是在空气中电导率较低的二氧化锡(SnO2)和三氧化二铝(Al2O3)。当传感器处在酒精环境中时,传感器的表面电阻随环境中酒精浓度的增大而增加16。MQ-3酒精传感器主要特点:(1) 灵敏度高;(2) 有良好的选择性;(3) 可以有效的快速响应恢复;(4) 使用寿命长和拥有可靠的稳定性;(5) 拥有简单的驱动电路。3.2.2 MQ-3酒精传感器关键部件材料表3.1 MQ-3酒精传感器关键部件材料部件1气体敏感层二氧化锡(SnO2)2电极金(Au)3加热器镍铬合金(Ni-Cr)4陶瓷管三氧化二铝(Al2O3)5测量电极引线铂(Pt)6基座胶木7针状管脚镀镍铜材(Ni-Cu)3.2.3 MQ-3酒精传感器各项技术指标表3.2标准工作条件符号参数名称技术条件备注VC回路电压15VAC or DCVH加热电压5.0V0.2VAC or DCRH负载电阻可调RH加热电阻313室温PH加热功耗900mW表3.3环境条件符号参数名称技术条件Tao使用温度-10-50Tas储存温度-20-70RH相对温度小于95%RHO2氧气浓度21%(标准条件)氧气浓度会影响灵敏度最小值大于2%表3.4灵敏度特性符号参数名称技术参数备注Rs敏感体电阻1M-8M(200ppm alcohol)适用范围:10-1000ppm Alcohol(200/100)Alcohol标准工作条件温度:202 Vc:5.0V0.1V相对温度:65%5% Vh:5.0V0.1V预热时间不少于24小时图3.3为MQ-3酒精传感器灵敏度曲线。环境中酒精浓度改变时,敏感体电阻也发生改变。图3.3 MQ-3酒精传感器灵敏度曲线3.2.4 MQ-3酒精传感器结构MQ-3酒精传感器结构图如图3.4所示。MQ-3酒精传感器由于其成本便宜,性能优越,所以被大量用于各行各业中。MQ-3酒精传感器工作电压为5V,正因为如此,所以功耗很低。用前必须预热20秒17。图3.4 MQ-3酒精传感器结构图3.2.5 MQ-3酒精传感器系统电路MQ-3酒精传感器电路图如下。酒精传感器捕获酒精信号后,经过敏感元件处理后,得到模拟信号,再经过ADC0832模数转换器,转换成单片可以接收的数字信号。MQ-3酒精传感器系统电路如图3.5所示。图3.5 MQ-3酒精传感器系统电路本设计采用的MQ-3酒精传感器,它的电路由两部分构成,第一部分是加热电路,第二部分为信号输出电路,信号输出电路能够有效准确地反映出传感器感应电阻表面的电压变化。感应电阻RS,是通过负载电阻RL上的电压信号VRL获得的。表达式:RS/RL=(VCVRL)/ VRL,VC是回路电压10V。负载电阻0.5200K,加热电压为5V。传感器输出电压05V。3.3 模数转换器A/D转换的方法有很多种,有:逐级逼近法,并行转换法,双斜积分法,计数法。本设计采用的是美国国家半导体公司生产的ADC0832模数转换器。ADC0832模数转换器是一款8位分辨率,双通道的A/D转换芯片。ADC0832模数转换器输入输出电平与TTL/CMOS相互兼容,在5V电源供电时输入电压在05V之间,工作频率一般在250KHZ,转换时间32S左右,一般功耗为15mW; 商用芯片温度范围一般为0C -70C,工业芯片范围一般为40C- 85C。其主要特点如下:(1) 体积小;(2) 兼容性强,性价比高;(3) 工作频率高,转换时间短;(4) 功耗低;(5) 8位分辨率;(6) 双通道A/D转换;(7) 输入输出电平与TTL/CMOS相互兼容。芯片接口说明:(1) CS片选使能,低电平芯片使能;(2) CH0模拟输入通道0,或作为IN+/-使用;(3) CH1模拟输入通道1,或作为IN+/-使用;(4) GND芯片参考0 电位(地);(5) DI数据信号输入,选择通道控制;(6) DO数据信号输出,转换数据输出;(7) CLK芯片时钟输入;(8) Vcc/REF电源输入及参考电压输入(复用)。ADC0832模数转换器最高分辨可达256级,适应很多的模数转换的要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。3.4 电源电路本设计用的是USB供电接口,电压为5V,电脑与本论文所设计的酒精浓度测试系统,并不能直接对其编程的,需要通过接口中的PL2303芯片控制的转换电路,才能对系统进行编程。如图3.6所示。图3.6 供电以及程序编写电路3.5 LCD显示显示模块与单片机的连接方式有两种,第一种为直接访问模式,第二种为间接控制模式。LCD1602液晶显示器是一款可以显示字母,数字,符号等的显示器,应用极为广泛。目前市面上的LCD1602液晶显示器大都是161,162,202,402行的显示器。其有14和16个引脚两种类型18,主要区别就是多了两条背光电源线。LCD1602液晶显示器主要构成有LCD显示屏,控制器,列驱动器以及偏压电路组成。3.5.1 LCD1602液晶显示器主要参数表3.5 LCD1602液晶显示器主要参数显示容量162个字符芯片工作电压4.55.5V最佳工作电压5.0V最佳工作电流2.0mA字符尺寸2.954.35mm3.5.2 LCD1602液晶显示器引脚及其功能表3.6 1602液晶显示器引脚及其功能引脚号引脚名电平输入/输出引脚说明1VSS电源地2VDD电源正极(+5V)3VL液晶显示偏压信号4RS0/1输入数据/命令选择端,0:输入指令,1:输入数据5R/W0/1输入读/写选择端,0:向LCD写入指令或数据,1:从LCD读取信息6E10输入使能信号,1时读取信息,10(下降沿)执行指令7D00/1输入/输出数据总线(最低位)8D10/1输入/输出数据总线9D20/1输入/输出数据总线10D30/1输入/输出数据总线11D40/1输入/输出数据总线12D50/1输入/输出数据总线13D60/1输入/输出数据总线14D70/1输入/输出数据总线(最高位)15BLA+VCCLCD背光电源正极16BLK接地LCD背光电源负极表3.7 LCD1602液晶显示器部分指令表指令码功能01H显示清屏,数据指针清0,所有显示清008H显示关闭06H显示光标移动设置0CH显示开及光标设置02H显示回车,数据指针清0LCD1602液晶显示器要显示字母,数字,字符,就要有字符发生储存器。而要将不同的数字,字母,字符显示在液晶显示器上,就需要用ASCII码来控制。并且,为了更加的整洁,每个字符都有特定的代码。通过对ASCII码操作,实现对LCD1602液晶显示器的控制。当然也可以直接用字符型常量或者变量赋值。表3.8 LCD1602寄存器选择控制表RSR/W操作说明00写入指令寄存器(清屏等)00读取位址计数(DB0DB6)值10写入数据寄存器11从数据寄存器读取数据LCD1602液晶显示器外接电路如图3.7所示。J2的4,5,6引脚是显示器的RS,E/W和E,用来和单片机的P2.5,P2.6,P2.7连接。J2的3引脚是背光引脚,与之连接的是R9和R10电阻,是为了调节背光亮度。J2的7-14引脚也分别和单片机的P0.0-P0.7连接,是用来数据的传输的19。图3.7 LCD1602液晶显示器外接电路3.6 报警设计在所有单片机系统中,系统的工作状态大都可以通过显示器和指示灯进行观察。不过,人都有出错的时候,何况是机器,当出错的时候,如果操作人员无法发现,那么就会发生一系列错误,最终酿成大错。所以就需要一种报警装置。而报警装置有三类:第一种是闪光报警,用于人的视觉方面。第二种为鸣音报警,作用于人的听觉系统,这种容易引起人们的注意。第三种为语音报警,这种大多用于高端电子产品中,其系统复杂,成本高。本设计采用的是声光报警系统。经过单片机处理后,当信号大于预设值时,单片机的P3.3接口就会和声光报警电路相连,并输出低电平,三极管就会导通,声光报警系统就会报警。反之就不会导通。声光报警电路如图3.8所示。图3.8 声光报警电路3.7 按键电路设计按键电路设计分为两种:独立式和矩阵式。本系统需要用键盘对测试阈值进行设定,但是只需要四个按键,分别是+,-,设置和复位,所以选择相对简单的独立式按键。电路图如图3.9所示。图3.9 按键电路3.8 存储电路阈值的设定必须先经过储存才能进行调整,才能进行比较大小,所以就需要一个储存器。基于EEPROM的存储芯片是一种很好的选择,单片机通过P1.0和P1.1口对EEPROM进行编程,EEPROM将新的阈值存储到芯片中,从而实现阈值的重新设置。芯片AT24C02的SCL和SDA分别与单片机的P1.0和P1.1相连。储存电路如图3.10所示。图3.10 EEPROM存储电路3.9 系统硬件设计原理图分析图3.11 系统硬件原理图硬件设计的原理和外围电路,二者是紧密相关的,缺一不可。从电源到单片机,从键盘到显示器,无不环环相扣,各自却又是相互独立的,有独自的功能。最后,将它们连接在一起,组成了酒精浓度测试系统的设计。系统硬件原理图如图3.11所示。4 系统软件的设计4.1 主程序设计图4.1 程序流程图主程序的功能无外乎是,实现酒精浓度测试系统各个组件之间的联系,功能子函数的调用。首先开启启动键,启动系统,同时对单片机进行初始化,由于本论文所设计的酒精浓度测试系统可以调整阈值,所以要通过中断设定阈值,如果没有设定,就沿用上次设定。酒精浓度测试系统检测到酒精信号后20,先要将模拟信号转换成单片机可以识别的数字信号,然后通过处理将其显示在显示器上,另一方面要将所得数值与阈值进行比较,如果高于阈值21,三极管就输出低电平,声光报警器进行报警。如果低于阈值,就不会报警。主程序流程图如图4.1所示。4.2 A/D转换器程序流程图图4.2 模数转换流程图A/D模数转换器的主要功能就是将放大过的模拟信号转换为单片机可以接收的数字信号。当系统初始化后,如果酒精浓度测试系统有外部中断,那么就要重新设定阈值,阈值的设定需要先经过储存,才能进行调整。反之,如果没有外部中断,测得的酒精浓度数值就与之前设定的阈值比较。模数转换流程图如图4.2所示。5 程序调试与实验结果5.1 调试步骤5.1.1 按键修改酒精阈值程序对阈值设置的程序作用在于,让主程序知道使用者要设置阈值,这就需要主程序不断的检测。如果按键被按下,主程序就要立刻有人要进行阈值设置,并且按照按键按下的次数进行对预知的修改。当新的阈值设定后,系统测得酒精浓度就要与新的阈值进行比较,如果超过了设定值,就需要立刻报警。 5.1.2 模数转换程序系统启动时,模数转换器会进行初始化,酒精传感器将信号传输给模数转换器,处理成单片机识别的数字信号。然后将信号发送到液晶显示器上,进行显示。同时,把测得酒精浓度值与设定的阈值进行比较。5.1.3 液晶显示程序设计系统启动时,液晶显示器程序存在的作用是为了,让显示器可以接收单片机的信号。5.1.4 储存程序设计当对酒精浓度测试系统进行阈值调整时,必须先对EEPROM进行编程,才能重新进行调整。5.1.5 整体功能调试程序酒精浓度测试系统是由几个部分组成,每个部分都需要进行调试配合,最后在进行整理,才能够完成酒精浓度值的检测。首先把程序放到keil编译器里面进行编译,成功后,就会生成HEX文件,接下来就是将编译好的程序烧录到单片机中,接上电源,就可以了。通电以后,酒精浓度测试系统,就会按照烧录好的程序进行运行,设置好酒精浓度测试系统的阈值,如果所测得酒精浓度高于所设定的阈值,那么报警系统就会启动,发出报警。当然,如果在使用的过程中,使用者按下按键进行阈值调整,那么酒精测试仪的阈值就会被重新设定,并且保存下来,酒精浓度测试系统检测到的酒精浓度就会与新设定的阈值进行比较,同上,如果超过新设定的阈值,就会触发报警系统,发出报警,并且在LCD1602液晶显示器上进行显示。5.2 实验结果本论文是基于单片机的酒精浓度测试系统设计,采用的是模块化分部设计,因为分的部分较少,所以使用起来比较方便。通过不懈的努力,在对硬件和软件的不断调试,最终成功的完成设计,其可以用来对酒精浓度进行检测。本设计可以通过按键,对阈值进行调整,当酒精浓度测试系统,检测到酒精浓度没有超过阈值时,显示实时酒精浓度,LED绿灯亮,蜂鸣器不响。当检测到酒精浓度高于预先设定的阈值时,就会在显示器上显示实时酒精浓度值,并且会触发系统报警系统,从而,蜂鸣器报警,LED红灯闪烁。这次设计,软件方面通过线上与线下查找的资料作为参考,硬件方面主要通过书籍作为参考。设计所选用的是STC89C52RCRC单片机为中央处理器,主要考虑的是STC89C52RCRC单片机低功耗,低价,高速,抗静电能力强,抗干扰强,是一款功能强大的单片机。最开始进行设计的时候,想把阈值设定为定值,这样应该会使用简单一点,但是再后来的查阅中发现,这个设想很不切合实际,因为,如果将系统阈值设定为定值,那么就大大缩小了本设计的适用范围,这样就限制了本设计的使用,并且使本设计毫无意义。于是决定增加AT24C02来储存阈值。并且安装了键盘,以方便使用者对酒精浓度测试系统的阈值进行调整。本次设计,让我学到了很多,熟悉了protel的操作,学会了Keil的运用,以及c语言相关的知识,并且深入的学习和了解了单片机的使用和操作。相信本次设计所学习的知识,可以让我在以后的学习生活中更加方便。这设计的时候,我发现了自身的很多问题,让我及时对自身的不足进行了调整。通过此次设计,让我的动手能力和理解能力都有了大的提升,同时加强自身的知识储备。 6 总结由于酒精浓度测试系统的快速发展,以及方便携带等要求。酒精浓度测试系统的更新换代速度也随之加快。从工厂到企业,再到住户,酒精检测都有存在,而且,食品加工,酿酒等需要在检测酒精浓度的场合有很多,其次,酒精浓度检测可以有效的减少酒后驾车,可以很好的保护了居民的人身和财产安全,现在,人们的安全意识都有所加强,都希望有个安全的生活环境。本次设计的酒精浓度测试系统检测精度高、灵敏度高、携带方便等。再加上系统的总体低功耗,低成本,所以可以很好的推广。针对目前的情况,本系统的设计原则是遵循体积小、重量轻、性价比高的原则。本次设计首先要了解系统所要实现的功能,其次,根据功能选择合适的硬件资源,再对系统进行模块划分,然后逐一突破。最后对各个模块进行了优化和集成,得到了完整的系统。基于此思路,完成了酒精浓度测试系统的基本设计思路。软件采用C语言编写,因为C语言易于编程,可控性好,模块化和可移植性强等优点。由于设计的思路是模块化的思想,将系统划分成各种功能,然后对各个模块进行编程。该系统的主要模块是传感器检测,A/D转换,液晶显示和处理器。通过这个毕业设计,让我学到了很多专业课没有覆盖到的知识,可以使我在以后的生活工作中,更加得心应手。参考文献1 何立民.单片机高级教程应用与设计M .北京:北京航空航天大学出版社,2001.2 郑义,陈俊.用AT89C52 和TLC1543 实现数据采集系统J.电子世界,2004.3 郑学坚.微型计算机原理及应用M.2006.4 李维提.郭强.液晶显示应用技术J.北京:电子工业出版社,2000.5 王幸之.AT89系列单片机原理与接口技术M,2004.6 何希才.传感器及其应用J.北京:国防工业出版社,2001.7 北京精电蓬远显示技术有限公司内藏KS0108B/HD61202控制器图形液晶显示模块使用手册8 王幸之.AT89 系列单片机原理与接口技术M.北京:北京航空航天大学出版社,2004. 9 华成英. 童诗白. 模拟电子技术基础第三版M.北京: 高等教育出版社, 2004. 10 孙传友.温控系统原理与设计J.北京:北京航空航天大学出版社,2002.11 林德杰.电气测试技术M.北京:机械工业出版社,1993.12 纪宗南.单片机外围器件使用手册输入通道器件分册M.北京:北京航空航天大学出版社,2005.13 贾伯年.传感器技术J.南京:东南大学出版社,2000.14 郑学坚.周斌.微型计算机原理及应用M.北京:清华大学出版社,2006.15 徐爱钧.彭爱华.单片机高级语言C51应用程序设计M.北京工业出版社,1999.16 马忠梅等.单片机的C语言应用程序设计M.北京:北京航空航天大学出版社,1997. 17 赵阳.电磁兼容工程入门教程M.北京:机械工业出版社,2009.18 卢丽君.基于TLC1543 的单片机多路采样监测系统的设计J.仪器仪表与分析监测,2007.19 Italian Conference on Sensors and Microsystems Di Natale, C. Proceedings of the 7th Italian Conference :sensors and microsystems : Bologna, Italy, 4-6 February 2002 M. Singapore ;River Edge, N.J. :World Scientific,c2002. 20 Power Integrations TOPSwitch-HX Product Application GuideJ2007,05,0221 LanJiChang C51 completely study manual microcontroller M.beijing: chemical industry- press, 2009. 附录2附录1附录2西安工业大学北方信息工程学院(论文)附录31主程序#include #include #include#include#include#define uint unsigned int#define uchar unsigned char/键盘sbit k0=P10;sbit k1=P11;sbit k2=P12;sbit k3=P13;/变量bit flg=0;/数组uchar M_time=Time; /时间uchar M_Detect=Detect; /检测uchar M_Storage=Storage; /存储uchar stor4;/以定义函数void initial_lcd1602(void);void delays1(uint n)while(n-);/*子程序*/void chang_h(void) int g;if(k0=0) for(g=0;g0x23)wr_data4=0x00; if(k1=0) for(g=0;g20;)delays1(100);g+; if(k1=0) wr_data4=readtimeR4-1; if(readtimeR4=0x00)wr_data4=0x00; DS1302_init();showdata();Display_List_Char(1,0,lcd_time); /*/void chang_m(void) int g;if(k0=0) for(g=0;g0x23)wr_data5=0x00; if(k1=0) for(g=0;g20;)delays1(100);g+; if(k1=0) wr_data5=readtimeR5-1; if(readtimeR5=0x00)wr_data5=0x00; DS1302_init();showdata();Display_List_Char(1,0,lcd_time); /*/void chang_s(void) int g;if(k0=0) for(g=0;g0x23)wr_data6=0x00; if(k1=0) for(g=0;g20;)delays1(100);g+; if(k1=0) wr_data6=readtimeR6-1; if(readtimeR6=0x00)wr_data6=0x00; showdata();Display_List_Char(1,0,lcd_time); /*/主函数/*/void main() uchar i,dd;uint g; uchar show4; unsigned int data_temp=0; initial_lcd1602();delays1(100);Display_List_Char(0,0,LCD_Code2);for(g=0;g100;)delays1(100);g+; while(1) if(k0=0|k1=0|k2=0|k3=0) write_lcd_command(0x01); /清屏 for(g=0;g100;)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;g10;)delays1(100);g+;/*检测*/if(k1=0)write_lcd_command(0x01); do if(k3=0) flg=1; data_temp=ADconv(); stor0=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;i3;) / i2c_write(

温馨提示

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

评论

0/150

提交评论