《单片机酒精检测报警器(1.docx》由会员分享,可在线阅读,更多相关《单片机酒精检测报警器(1.docx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕 业 论 文(设计)论文题目 基于单片机的酒精测试报警器 摘要进入21世纪,我国的汽车产业获得迅猛发展,机动车数量也迅猛增加,汽车价格的下调,越来越多的人开始购买私家车,例如2002全国共生产汽车325.12万辆,截止2011年底全国机动车保有量为2.25亿辆。全球机械化水平的提高给人类的文明和进步带来了无可厚非的积极影响。遗憾的是对道路交通安全却没有带来正面的影响,导致了人员的伤亡、财产和经济损失,例如:在2002年统计中,全国机动车驾驶员肇事727365起,造成死亡97821人。2011年因交通事故死亡人数达10.7万人,伤47万人,由此造成的直接经济损失达23亿。大量的交通事故有很大的
2、一部分原因是因为醉酒驾车,饮酒驾车。当酒精在人体血液内达到一定浓度时,造成神经麻痹,大脑反应迟缓,肢体不受控制等症状。人对外界的反应能力及控制能力就会下降,处理紧急情况的能力也随之下降。对于酒后驾车者而言,其血液中酒精含量越高,发生撞车的几率越大。而根据世界卫组织的事故调查,大约50%69%的交通事故与酒后驾驶有关,酒后驾驶已经被列为车祸致死的主要原因。所以酒驾已成为交通事故的罪魁祸首,自从2011年开始我国加大对酒驾的处罚力度,酒精检测仪已成为酒驾检测必不可少的工具。所以考虑毕业设计的实用性,酒精检测报警仪是一个很好的课题,它主要是利用气敏传感器和单片机,检测空气中的酒精浓度含量,当酒精浓度
3、和环境温度超过预先设定的值时,报警器就会发生报警并且显示当前酒精浓度等级和温度数值,来提示危害。关键词 STC89C52单片机, MQ-2酒精传感器 , ADC0832 , DS18B20AbstractInto the 21st century, Chinas auto industry get rapid development, motor vehicle number also increases rapidly, car prices lower, more and more people begin to buy cars, 2002 the total production of
4、 3.2512 million cars, for example, by the end of 2011, the national motor vehicle ownership for 225 million. Global the improvement of mechanization has brought human civilization and progress is the positive impact. Unfortunately for road traffic safety has no positive effect, caused the personnel
5、casualty and property and economic losses, such as: the statistics in 2002, 727365, the national motor vehicle drivers accident resulting in death of 97821 people. Because of the traffic accident death toll of 107000 2011 people, injured 470000 people, caused a direct economic loss of 2.3 billion. H
6、uge number of accidents, there is a big part of the reason is because of drunk driving, drink driving. When the alcohol reaches a certain concentration in human blood, and cause nerve paralysis, brain slow response, the symptom such as uncontrolled body. People of the world response ability and cont
7、rol ability will drop, ability to deal with emergencies. For drunk drivers, the higher blood alcohol levels, the risk of a crash. And accidents, according to the world health organization survey, about 50% - 69% of the traffic accidents related to drink driving, drink driving has been listed as the
8、main cause of traffic accident death. So drunk driving has become a traffic accident culprit, since 2011, our country increase penalties for drunk driving and alcohol detector has become the necessary tools for drunk driving test. So considering the practicability of graduation design, alcohol testi
9、ng alarming device is a good topic, it is mainly using gas sensor and single-chip microcomputer, and to detect the contents of the alcohol concentration in the air, when the concentration of alcohol and temperature over the preset value, the alarm system will alarm and show the current alcohol conce
10、ntration level and temperature values, to prompt the hazards. Keyword STC89C52 singlechip, MQ - 2 alcohol sensors, ADC0832, DS18B20目录第一章 绪论51.1酒精检测报警器的发展历程5第二章:总体设计分析62.1课题研究的主要内容6第三章: 硬件电路的设计73.1总体硬件电路设计描述73.2 酒精传感器模块73.3温度传感器模块93.3.1 DS18B20 温度传感器简介93.3.2 DS18B20内部结构:93.3.3DS18B20温度传感器的优点:113.4 数模
11、转换模块123.4.1AD0832简介及引脚说明123.4.2单片机对 ADC0832 的控制原理133.5单片机模块:133.5.1STC89C52单片机原理介绍133.5.2晶振电路153.5.3复位电路163.6数码管显示模块:163.7蜂鸣器模块:17第四章:软件系统设计分析194.1 软件编译语言的选择194.2 总体程序设计194.3 A/D转换模块20第五章:系统的调试与测试225.1硬件测试225.2软件调试22参考文献25致谢26附录27使用元器件汇总:27实物图片:28整体程序代码28 第一章 绪论1.1酒精检测报警器的发展历程众所周知,我国是人口大国,酒已成为老百姓餐桌上
12、必不可少的东西,近年来随着老百姓生活水平的提高,汽车在老板姓家庭中已经非常普片,汽车的普及也加剧了交通状况不好的局面,再加上人们饮酒驾车,醉酒驾车,交通事故的多发已必不可少。所以近年来我国也逐步加大了查处酒驾的力度,在交警查处酒驾时就会使用较为先进的酒精测试仪,它的精确度会精确到小数后两位。提及酒精检测仪的发展历程,最初的时候人们是用鼻子作为传感器。到19世纪时,人们可以利用化学的方法来检测。提取人体的体液加入化学试剂就会产生相应的颜色差异。然后和标准浓度的酒精浓度相比较得出相应的酒精浓度。现在的酒精浓度检测仪以会利用酒精浓度传感器来检测然后经过数模转化将其显示出来。第二章:总体设计分析2.1
13、课题研究的主要内容本论文研究的是一种以气敏传感器和单片机为主的酒精浓度测试仪。当传感器检测到酒精时,信号由ADC0832进行处理模数转化再到单片机进行处理,当检测到浓度超标时,蜂鸣器会发出滴滴的报警声。同时,此系统还可以检测温度,防止温度过高酒精燃烧发生火灾。当检测到测到温度超过设定的报警温度时候,蜂鸣器也将产生报警,系统的按键还具有连加、减功能,可以设置酒精浓度和高温报警值,可紧急报警和手动取消紧急报警功能,当有特殊情况时可按紧急报警键报警,并有掉电保存功能,设置的参数保存在单片机内部EEPOM中。所以该课题用到的硬件装置有酒精传感器、模数转换器、单片机、以及蜂鸣器构成。本文设计的酒精浓度检
14、测仪主要是以酒精传感器,温度传感器和单片机为平台设计而成的,其硬件系统功能框图如图2.1所示。单片机模数转换器 数码管 酒精传感器报警器 酒精传感器 第三章: 硬件电路的设计3.1总体硬件电路设计描述考虑到硬件电路对整个设计的重要性,所以在设计之前必须要有总体设计思路,按照第二章中的介绍以及图2-1的设计思路可分为以下几大模块设计:有酒精传感器模块和温度传感器模块,数模转换器模块,单片机模块,数码管显示模块,蜂鸣器报警模块 。在万用板上将上诉所有模块的器件全都焊接在万用板上,然后在Protel软件上画出原理图,连线,仿真,然后在万用板上进行连线焊接。3.2 酒精传感器模块酒精传感器模块:MQ-
15、2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、乙醇,丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。MQ-2气敏元件的结构和外形如图3-1所示(结构 A 或 B), 由微型Al2O3陶瓷管、SnO2 敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢 部件材料1气体敏感层二氧化锡2电极金(Au)3测量电极引
16、线铂(Pt)4加热器镍铬合金(Ni-Cr)5陶瓷管 三氧化二铝6防爆网100目双层不锈钢(SUB316)7卡环镀镍铜材(Ni-Cu)8基座胶木或尼龙9针状管脚镀镍铜材(Ni-Cu) 图3-1酒精传感器外形图腔体内,加热器为气敏元件提供了必要的工作条件。封装好的气敏元件有只针状管脚,其中个用于信号取出,个用于提供加热电流。基本电路如图3-2。图3-2 MQ-2基本电路MQ-2传感器灵敏度曲线: 图3-3图3-3给出了MQ-2型气敏元件的灵敏度特性。其中:温度:20、湿度:65%、氧气浓度:21%RL=5kRs:元件在不同气体,不同浓度下的电阻值。R0: 元件在洁净空气中的电阻值3.3温度传感器模
17、块 3.3.1 DS18B20 温度传感器简介课题使用的是DS18B20 温度传感器DS18B20是DALLAS(达拉斯)公司生产的一款超小体积、超低硬件开销,抗干扰能力强、精度高、附加功能强的温度传感器。图3-43.3.2 DS18B20内部结构:DS18B20主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警除法器TH和TL、配置寄存器。ROM中的64位序列号是出厂前被光刻好的,它可以看做是DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。图3-5DS18B2
18、0管脚排列:图3-6GND为电源地,DQ为数字信号输入/输出端,VDD为外接供电电源输入端。图3-7 DS18B20寄生电源工作方式(电源从IO口上获得)注意:当温度高于100时,不能使用寄生电源,因为此时器件中较大的漏电流会使总线不能可靠检测高低电平,从而导致数据传输误码率的增大。图3-8 DS18B20外接电源工作方式3.3.3DS18B20温度传感器的优点:采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
19、测量温度范围宽,测量精度高。DS18B20的测量范围为-55-125,在-10-85范围内,精度为0.5。在使用中不需要任何外围元件。持多点组网功能。多个DS18B20可以并联在唯一的单线上,实现多点测温。供电方式灵活。DS18B20可以通过内部寄生电路从数据线上获取电源,因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更简单,可靠性更高。3.4 数模转换模块3.4.1AD0832简介及引脚说明采用AD0832信号采集芯片。AD0832芯片是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换 芯片。由于它体积小兼容性强性价比高而深受单片机爱好者及企业欢迎
20、其目前已经有很高的普及率。ADC0832 具有以下特点(1)8 位分辨率(2)双通道 A/D 转换 (3)输入输出电平与 TTL/CMOS 相兼容(4) 5V 电源供电时输入电压在 05V 之间(5)工作频率为 250KHZ(6)转换时间为 32S (7)一般功耗仅为 15mW (8)8P、14PDIP双列直插、PICC 多种封装图3-9ADC0832引脚封装图芯片接口说明 CS_ 片选使能低电平芯片使能。 CH0 模拟输入通道 0或作为 IN+/-使用。 CH1 模拟输入通道 1或作为 IN+/-使用。 GND 芯片参考 0 电位地。 DI 数据信号输入选择通道控制。 DO 数据信号输出转换
21、数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入复用3.4.2单片机对 ADC0832 的控制原理正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK、 DO、DI。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双 向的所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。 当 ADC0832 未工作时其 CS 输入端应为高电平此时芯片禁用CLK 和 DO/DI 的电平可任意。当要进行 A/D 转换时须先将 CS 使能端置于低电平并 且保持低电平直到转换完全结束。此时芯片开始转换工作同时由处理器向芯 片时钟输入
22、端 CLK 输入时钟脉冲DO/DI 端则使用 DI 端输入通道功能选择的 数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平表示启始信号。 在第 2、3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能。图3-10 ADC0832 引脚接线图3.5单片机模块:3.5.1STC89C52单片机原理介绍基于本系统设计内容的需要,综合考虑后,选择STC89C52单片机为控制核心。主要基于考虑STC89C52是低功耗,超低价,高速,高可靠,强抗静电,强抗干扰,功能强大的单片机。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可
23、编程定时计数器,2个全双工串行通信口,2个读写口线,片内振荡器及时钟电路。同时STC89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本。STC单片机有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。STC89C52单片机引脚如图3-11:图3-11单片机引脚图Vcc:电源电压GN
24、D:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱(吸收或输出电流)4个TTL逻辑门电路。P3口:P3口时一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE :当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址
25、的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 :程序储存允许()输出是外部程序存储器的读选通信号,当89C5X单片机由外部程序存储器取指令(或数据)时,每个机器周期两次 有效,即输出两个脉冲。在次期间,当访问外部数据存储器,将跳过两次 信号。 /VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFH), 端必须保持低电平(接地)。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端3.5.2晶振电路单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的
26、时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,STC89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片STC89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。本系统中为了尽量降低功耗的原则,采用了内部时钟方式。在STC89C52单片机的内
27、部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在530pF,典型值是22pF,晶振CYS选择的是12MHz。STC89C52单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚19对应的XTAL1和18对应的XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。如图3.7所示,石英晶体及电容C1和C2接在放大器的反馈回路中构成并联谐振电路。石英晶体的两端分别接到引脚XTAL1 和引脚XTAL2,同时石英
28、晶体的两端分别接一个电容C1和C2,电容的另一端接地。对于外接电容C1和C2的大小虽然没有十分严格的要求,但电容容量的大小还是会对振荡频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。根据技术资料的推荐,使用石英晶体推荐电容容量为30pF10pF,使用陶瓷谐振器推荐电容容量为40pF10pF。因为电路中接的是石英晶体,所以设计中接的两个电容C1和C2的容量都为30pF。3.5.3复位电路单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用
29、寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据.因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。当在STC89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。对于复位电路部分,STC89C52技术资料给出,当振荡器工作时,RST引脚出现两个机器周期以上的高电平将使单片机复位。复位是单片机的初始化操作,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,可以按复位键以重新启动,所以复位电路的设计很有必要。复位操作有上电自动复位、按
30、键电平复位和外部脉冲复位三种方式,本设计选用按键电平复位方式。3.6数码管显示模块:数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为公共阴极。当驱动信号为高电平、端接低电平时,才能发光。图3-12数码管实物图数码管如图所示面向自己,引脚排列如下,一共12个引脚,4个位选,八个段选,从上面一排左边第一引脚开始按顺时针顺序依次往下所有引脚:1 左边第一个数码管的位选择端 2 :a 3: f 4 左边数起第二个数码管的位选择端 5 左边数起第三个数码管的位选择端 6 :b 7 左
31、边数起第4个数码管的位选择端8:a 9: c 10:小数点dp 11 :d 12 :e . 图3-13数码管引脚图3.7蜂鸣器模块:蜂鸣器单片机设计中很多都有用到蜂鸣器,用于报警,该课题所使用的蜂鸣器不需要利用交流信号进行驱动,只需要对驱动口输出驱动电信号,并且要接上三极管进行电流的放大,然后驱动其报警 图3-15 蜂鸣器实物图 图3-14蜂鸣器原理图硬件电路系统制作接线原理图:图3-16原理连线图第四章:软件系统设计分析4.1 软件编译语言的选择对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言
32、。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法。4.2 总体程序设计软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能写各个子程序。整个软件程序的编写采用查询式方式编写的。报警手动报警键是否按下 否 是MQ-2气体检测信号采集 ADC0832信号转换 将转换的数据送到P1口后传给单片机温度传感器采集温度信号 译码显示模块报警数据
33、处理 图4-1根据以上流程图系统系统主要完成信号转换功能(将MQ-2酒精传感器采集到的酒精信号转化为电信号,数码显示功能,报警功能。主程序实现的功能:与硬件相结合实现便携式酒精浓度检测仪的各个功能。主要是检测与显示,功能子函数的调用。首先进行的是酒精浓度采集,当传感器检测到有酒精的时候,传感器A、B两脚之间的电阻减小,对应与气体传感器负载的电阻分压变大,将这一变化的数值送入模数转换模块中,之后通过软件编写对数据进行处理,再将这一变化值成功的通过驱动数码管显示。判定浓度是否超标,一旦被测浓度超过了这一数值,启动蜂鸣器报警。4.3 A/D转换模块开始启动A/D转换转换结束否? Y 读取A/D转换结
34、果 将结果送入单片机并显示 图4-2 4.4显示报警模块否ADC0832采集酒精浓度值单片机处理ADC0832采集的数据送至数码管是否超过设定值数码管动态扫描显示开始是单片机初始化蜂鸣器报警18B20采集温度单片机处理温度值数据送至数码管 图4-3 单片机18B20、ADC0832采集的酒精浓度数据处理,送至数码管显示,数码管采用动态扫描显示。第五章:系统的调试与测试前面几章,我们详细叙述了酒精测试仪的硬件和软件设计,但是要让系统真正发挥它的功能,就必须对系统进行调试。系统的调试包括系统的硬件和软件设计调试。5.1硬件测试首先焊接前对电阻,电容的值要用万用表检测一下,看看是否与标准值一致,然后
35、在万用板上按器件连线图焊接好元器件间的连接,注意检查各焊接点是否存在虚焊,是否存在短路现象,再者对器件引脚功能检查一下,看看设计是否正确。上面的部分检查完毕没有问题时,还要进行上电测试,首先测试电源部分,测试电源端口和其他部分工作参数是否属于正常的范围,同时应注意元器件有无过热的现象。5.2软件调试打开keil CS51软件,将写好的调试程序代码在计算机上输入,编译产生代码,电路连接好后,将程序代码烧写到STC89C52单片机里,先进行各模块程序调试,看看每一个模块是否能实现各功能,如不能实现,就要进行程序和电路图的检查。直至每个模块都能实现他的功能。然后再调试整个程序,对其进行整体测试。图
36、4-4 程序编译形成.hex文.图4-5 ,4-6烧写程序 图4-7 单片机放在开发板上烧写程序 数模转换模块,将酒精浓度和温度这些信号转化为数字信号,然后运用单片机原理驱动报警模块,数码管显示模块实现各自的功能,从而实习整个设计的整体功能。之所以要研究这个课题,就是因为看见现在因为机动车数量大量增加,人们饮酒驾车,甚至醉酒驾车会导致很严重的交通事故,该课题的酒精检测报警功能正好能检测酒精浓度,到酒精浓度达到一定值时,这个装置就会发生报警,从而作为酒精检测的一个工具使用。这个课题让我重点在传感器,数模转换,单片机原理等方面有了更深入的认识,同时在电路板的焊接方面,也加强了我的焊接功底,我想作为
37、电子信息专业的学生,这些知识与技术都是不可缺少的,也是最基本的功底。在课题的研究中遇到了一些困难有:(1) 对单片机的原理了解不深,在制作中自己也看了很多关于单片机原理方面的资料,在实际运用中还是遇到了一些实际问题。(2) 在软件设计方面,由于自己学习的C语言还属于初步阶段,对于该课题所实现的功能的程序,自己编写遇到了很多问题,在这一段时间自己也看了很多书籍,同时也请教了我们的学习委员,因为他在C语言方面研究较深,自己也清楚的了解了对于这种功能较多的程序,要采用模块化设计的思想。分模块功能实现。(3) 焊接功底有待加强。总之完成该课题是对四年知识学习的总结,也是检测四年学习成绩的一次测试,自己
38、在制作时遇到了很多困难,也感受到了科学研究的不易,课题的基本完成,同是也给了我很大的自信,让我在以后的工作更加好的发挥自己的专业知识。参考文献【1】 童诗白 华成英模拟电子技术基础 高等教育出版社第四版【2】 余小平 奚大顺 电子系统设计基础篇第二版 北京航空航天大学出版社【3】 信号与系统 第三版 西安电子科技大学出版社【4】 张力 C语言程序设计 中国农业出版社【5】 黄友锐 单片机原理与应用 合肥工业大学出版社【6】 数字信号处理 第三版 西安电子科技大学出版社【7】 Protel 99 SE标准实例教程 机械工业出版社致谢本论文由于是零时改题,时间较为仓促,特别感谢焦俊老师的指导与帮助
39、,在很短的时间里从选题到制作,再到形成论文焦老师都耐心指导和帮助。焦老师对学生很平易近人、他的指导让我掌握了基本的研究方法,还使我明白了许多研究学术的一些心态问题。我的这个课题是单片机酒精检测报警器,是一个实际小工程,作为一个本科生,我对实际设计的精华认识不足,很多细节问题考虑不到,还有很多软件程序问题弄的不是很清楚,所以这些问题的解决和该课题的完成焦老师都是很耐心的帮助我们,给了一个很清晰的思路,遇到程序软件问题,模块化的设计思路对我很有启发,让我的思路有了一个很清晰的脉络。同时也要感谢我们的学习委员和其他同学,他们在程序设计上和硬件电路设计上也给了我很大的帮助。最后我还要再次深深地感谢焦老
40、师、学习委员和其他同学,正是由于焦老师的悉心指点和大家的全心的帮助,我才能比较顺利地完成毕业设计。在此,向他们表示由衷的感谢。附录使用元器件汇总:红外热电释防盗报警器名称型号数量单片机STC89C521单片机座DIP_401蜂鸣器有源1三极管S85505数码管四位共阳1红色发光二极管3mm1晶振12M1瓷片电容20P2电解电容10uF1红色发光二极管3mm1自锁开关1微动按键4单排排针7P1电阻1k5电阻100欧姆8电阻2K2电阻10k2温度传感器DS18B201万能板洞洞板1焊接导线若干电池盒3节装1AD采集芯片AD08321酒精传感器MQ-318脚芯片座子1实物图片:整体程序代码#incl
41、ude #include eepom52.h#define uchar unsigned char #define uint unsigned int#include /数码管段选定义 0 1 2 3 4 5 6 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /断码/数码管位选定义uchar code smg_we=0x7f,0xbf,0xdf,0xef;/uchar code smg_we=0xfe,0xfd,0xfb,
42、0xf7;uchar dis_smg8 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;uchar smg_i = 3; /显示数码管的个位数sbit SCL=P34;/SCL定义为P1口的第3位脚,连接ADC0832SCL脚sbit DO=P33;/DO定义为P1口的第4位脚,连接ADC0832DO脚sbit CS=P32;/CS定义为P1口的第4位脚,连接ADC0832CS脚sbit dq = P35;/18b20 IO口的定义sbit beep = P36; /蜂鸣器IO口定义uint temperature,s_temp ; /温度的变量uchar dengji,s_dengji; /烟物等级uchar shoudong; /手动报警键uint huoyan;bit flag_300ms ;uchar key_can; /按键值的变量uchar menu_1; /菜单设计的变量bit flag_lj_en; /按键连加