1、题目基于单片机酒精浓度测试仪毕业设计(论文)报告纸摘要2000年以来,随着中国经济的高速发展,人民生活水平的迅速提高,中国逐渐步入“汽车社会”,酒后驾车行为所造成事故越来越多,对社会的影响也越来越大,酒精正在成为越来越凶残的“马路杀手”。据有关资料统计,全世界每年因车祸丧生的人数就超过60万人,留下永久性伤残者在400万以上,一般受伤者则不计其数。在许多国家,车祸已成为第一位意外死亡原因。此外,因为交通事故造成的经济损失也相当惊人。据事故调查统计,大约5060的车祸与饮酒有关。中国公安部门在2009年8月,在全国各地加强查处酒后驾驶的力度,以减少由酒后驾驶造成的恶性交通事故。要查处就涉及到检测
2、人体内的酒精含量和使用设备来进行检测的问题。本文研究设计了一种用于公共场所具有检测及超限报警功能的酒精浓度智能测试仪。其设计方案基于89C51单片机,MQ3酒精浓度传感器。系统将传感器输出的420MA的标准信号通过以AD0832为核心的A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示酒精浓度值。文中详细介绍了数据采集子系统、数据处理过程以及数据显示子系统和报警电路的设计方法和过程。系统对于采样地点超出规定的酒精浓度时二极管报警电路提醒监测人员。同时,操作人员对于具体报警点的上限值可以通过单片机编程进行设置。关键词酒精浓度传感器(MQ3);MCU;A/D转换器;软件设计;硬件设计毕
3、业设计(论文)报告纸ABSTRACTSINCE2000,WITHCHINASRAPIDECONOMICDEVELOPMENTANDTHERAPIDINCREASEPEOPLESLIVINGSTANDARD,CHINAHASGRADUALLYSTEPPEDINTO“CARSOCIETY“,DRINKDRIVINGACCIDENTCAUSEDBYMOREANDMOREIMPACTONSOCIETYISALSOGROWING,ALCOHOLISBECOMINGMOREANDMOREBRUTAL“KILLERS“ACCORDINGTOSTATISTICS,THEWORLDWIDENUMBEROFPEO
4、PLEKILLEDINROADACCIDENTSEVERYYEARONMORETHAN60MILLIONPEOPLE,LEFTWITHPERMANENTDISABILITYOF400MILLIONORMORE,USUALLYTHEINJUREDWERENUMEROUSINMANYCOUNTRIES,TRAFFICACCIDENTSHAVEBECOMETHEFIRSTCAUSEOFACCIDENTALDEATHSINADDITION,THEECONOMICLOSSESCAUSEDBYTHEACCIDENTISQUITEAMAZINGACCIDENTINVESTIGATION,ACCORDINGT
5、OSTATISTICS,ABOUT5060OFCARACCIDENTSANDALCOHOLRELATEDCHINASMINISTRYOFPUBLICSECURITYINAUGUST2009,AROUNDTHECOUNTRYTOSTRENGTHENEFFORTSTOINVESTIGATEANDDEALWITHDRINKDRIVING,TOREDUCETHEDRINKDRIVINGACCIDENTCAUSEDBYTHEVICIOUSTOINVESTIGATETHEHUMANBODYINVOLVINGTHEDETECTIONOFALCOHOLANDUSEOFEQUIPMENTTODETECTPROB
6、LEMSINTHISPAPER,DESIGNAPUBLICPLACEFORTHEDETECTIONANDLIMITALARMFUNCTIONSWITHANALCOHOLCONCENTRATIONOFINTELLIGENTTESTERTHISDESIGN,BASEDONSTC89C51MICROCONTROLLERANDMQ3ALCOHOLCONCENTRATIONSENSORSYSTEMSENSOROUTPUT420MASTANDARDSIGNALTHROUGHAD0832COREA/DCONVERTERCIRCUIT,AFTERCONDITIONING,DATAPROCESSINGBYTHE
7、MCU,THEFINALALCOHOLCONCENTRATIONVALUEFROMTHELCDDISPLAYTHISPAPERDESCRIBESTHEDATAACQUISITIONSUBSYSTEM,DATAPROCESSINGANDDATADISPLAYSUBSYSTEMANDALARMCIRCUITDESIGNMETHODSANDPROCESSESSYSTEMREQUIREMENTSFORTHESAMPLINGSITESEXCEEDINGTHEALCOHOLCONCENTRATIONDIODEREMINDERALARMCIRCUITMONITORSMEANWHILE,THEOPERATOR
8、SPECIFICALARMPOINTFORTHEUPPERLIMITSETBYMCUPROGRAMMINGALCOHOLTESTERWILLBRINGADRIVINGSIGNALPRIORTOASAFEKEYWORDSALCOHOLCONCENTRATIONSENSORMQ3STC85C52MUCA/DCONVERTERSOFTWAREDESIGNHARDWAREDESIGN毕业设计(论文)报告纸目录引言11绪论211酒精浓度检测仪开发背景212酒精浓度检测仪的发展213酒精浓度检测仪设计内容22方案器件简介321MCU选择的简介322数模转换器的简介523时钟芯片的简介724液晶显示器的简介
9、83总体方案设计931STC89C52单片机932ADC0832数模转换1033AT24C02存储器1034LCD1602液晶显示1035编译软件介绍124硬件设计1341最小系统的实现1342数据采集设计1543A/D转换设计1644按键设计1645外围扩充存储器电路1746时钟芯片电路1847LCD1602液晶显示设计1948报警设计2049电源电路设计215软件设计2251编译语言的选择2252主程序模块2253A/D转换模块2354按键输入模块23毕业设计(论文)报告纸55时钟模块2456液晶显示输出模块2557外围存储模块276系统调试2861系统硬件调试28611元器件的焊接286
10、12电路测试2862系统软件调试2863系统整体调试297结束语29谢辞30参考文献31附录32附录一硬件设计仿真图32附录二硬件设计原理图和PCB图33附录三检测程序34毕业设计(论文)报告纸第1页共56页引言随着中国经济的高速发展,人民生活水平的迅速提高,中国逐渐步入“汽车社会”,酒后驾驶行为所造成事故越来越多,对社会的影响也越来越大,酒精正在成为越来越凶残的“马路杀手”。越来越多的交通事故在我们的身边发生,让人心痛,经济的发展,每个人都希望人的安全意识也该发展。此外,由交通事故造成的经济损失也相当惊人。据事故调查统计,超过半数的车祸与饮酒有关。在全国各地加强查处酒后驾驶的力度,以减少由酒
11、后驾驶造成的恶性交通事故。要查处就涉及到检测人体内的酒精含量和使用设备来进行检测的问题。本文研究设计了一种用于公共场所具有检测及超限报警功能的酒精浓度智能测试仪。其设计方案基于89C52单片机,MQ3酒精浓度传感器。系统将传感器输出信号通过A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示酒精浓度值。从而让驾车的人知道自己该在什么情况下可以开车,这是一个在现代生活很实用,很负责的一个设计,给社会带来福音。毕业设计(论文)报告用纸第2页共56页1绪论11酒精浓度检测仪开发背景酒精的重要作用,是逐渐使得脑部及神经系统反应迟钝这也是许多人喜欢适量饮酒的主要原因。喝一、两杯酒对人有镇定或松
12、弛的作用。即使是少量的酒精,也没有刺激振奋的作用,这跟许多人的想法正好相反。然而,酒精有时会造成抑制力明显减弱,这会导致创造力的出现,或者是有时候会导致实际的侵略攻击性行为。根据WHO数据,全球2003年的人均纯酒精消费量为62L,其中欧洲地区人均达119L,美洲地区人均为87L。俄罗斯及其周边的东欧国家酒精消费量最高,其次为欧洲其他国家。在人均国民生产总值(GDP)低于7000美元的低收入国家,酒精消费量与人均GDP相关,GDP越高酒精消费量越高。受到酒精影响的司机通常会有如下特征对信号灯反应慢;逆向行驶;摇摆不定、突然转向、飘忽不定或在道路中线驾驶;乱踩刹车;转弯幅度大;蛇形;没有原因就停
13、车;开车速度极慢;突然转弯或违法转弯;天黑时不开前灯。据统计,驾驶员酒后开车,其发生交通事故的比率为没有饮酒情况下的16倍。由日常道路交通安全违法行为和交通肇事案例来看,机动车驾驶员酒后驾车约占386;而摩托车交通肇事中,酒后驾驶的比例则高达723。酒后驾驶让人付出了惨痛的代价,为了避免类似事故的发生,酒精浓度检测仪随之产生。12酒精浓度检测仪的发展以对气体中酒精含量进行检测的设备有五种基本类型,即燃料电池型(电化学)、半导体型、红外线型、气体色谱分析型、比色型。但由于价格和使用方便的原因,目前(截止2009年8月)常用的只有燃料电池型(电化学型)和半导体型两种。燃料电池是当前全世界都在广泛研
14、究的环保型能源,它可以直接把可燃气体转变成电能,而不产生污染,酒精传感器只是燃料电池的一个分支。燃料电池酒精传感器采用贵金属白金作为电极,在燃烧室内充满特种催化剂,使进入燃烧室内的酒精充分燃烧转变为电能,也就是在两个电极上产生电压,电能消耗在外接负载上,此电压与进入燃烧室内气体的酒精浓度成正比。与半导体型相比,燃料电池型呼气酒精测试仪具有稳定性好,精度高,抗干扰性好的优点。但是由于燃料电池酒精传感器的结构要求非常精密,制造难度相当大,目前(2009年)只有美国、英国、德国等少数几个国家能够生产,加上材料成本高,因此价格相当昂贵,是半导体酒精传感器的几十倍。13酒精浓度检测仪设计内容本论文主要完
15、成酒精浓度检测仪软件设计,设计内容包括A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。本系统采用单片机为控制核心,以实现便携式酒精浓度检测仪的基本控制功能。系毕业设计(论文)报告用纸第3页共56页统主要功能内容包括数据处理、时间设置、开始测量、超标报警、键盘检测本系统设计采用功能模块化的设计思想,本论文内容分为以下几个章节设计器件简介和选择;硬件的设计;软件设计和系统调试。2方案器件简介硬件设计部分主要包括MCU、A/D、时钟芯片、LCD、外围扩展数据RAM等芯片的选择,以下做一些器件的比较。21MCU选择的简介本系统采用单片机为控制核心。单片机/MCU主要有51基本型和52增强型
16、,而相比之下52型比51型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统。基于本系统设计内容的需要,综合考虑后,我们选择单片机STC89C52为控制核心;主要基于考虑STC89C52是无法解密低功耗,超低价高速,高可靠强抗静电,强抗干扰,功能强大的单片机。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内振荡器及时钟电路,89C5X可以按照常规方法进行编程,也可以在线编程。同时STC89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止C
17、PU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。其将通用的微处理器和FLASH存储器结合在一起,特别是可反复擦写的FLASH存储器可有效地降低开发本。STC单片机有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。STC89C52单片机单片机引脚功能(如图21)VCC电源电压GND地图21单片机引脚图P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高
18、阻抗输入端用。毕业设计(论文)报告用纸第4页共56页在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问器件激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P10和P11还可分别作为定时/计数器2的外部
19、计数输入(P10/T2)和输入P11/T2EX,参见表21。FLASH编程和程序校验期间,P1接收低8位地址。表21为P10和P11的第二功能表21P10和P11的第二功能P2口P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,同时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVRI
20、指令)时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。P3口P3口时一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入1时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口作为一般的I/O口线外,更重要的用途是它的第二功能,如表22所示此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/当访问外部程序存储器或数据存储器时,AL
21、E地址锁存允许输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲。引脚号功能特性P10T2(定时/计数器2外部计数脉冲输入),时钟输出P11T2EX(定时/计数2捕获/重装载触发和方向控制)毕业设计(论文)报告用纸第5页共56页表22P3口第二功能端口引脚第二功能P30RXD(串行输入口)P31TXD(串行输出口)P32错误未找到引用源。(外中断0)P33错误未找到引用源。(外中断1)P34T0(定时/计数器0)P35T1(定时/计数器1)P36错误未找到引用
22、源。(外部数据存储器写选通)P37错误未找到引用源。外部数据存储器读选通对FLASH存储器编程器件,改引脚还用于输入编程脉冲(错误未找到引用源。)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位复位,可禁止ALE操作。该位置复位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。错误未找到引用源。程序储存允许(错误未找到引用源。)输出是外部程序存储器的读选通信号,当89C5X单片机由外部程序存储器取指令(或数据)时,每个机器周期两次错误未找到引用源。有效,即输出两个脉冲。在次期间,当访问外部数据存储器,
23、将跳过两次信号。/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFH),端必须保持低电平(接地)。需要注意的是如果加密位LB1被编程,复位时内部会锁存端状态。如端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1振荡器反相放大器及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。22数模转换器的简介实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这
24、种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出毕业设计(论文)报告用纸第6页共56页二进制数。这类型ADC的分辨率和采样速率是相互牵制的。优点是分辨率低于12位时,价格较低,采样速率也很好。ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在05V之间、工作频率为250KHZ、转换时间为32微秒、一般功耗仅为15MW等优
25、点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。ADC0832具有以下特点8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在05V之间;工作频率为250KHZ,转换时间为32S;一般功耗仅为15MW;8P、14PDIP(双列直插)、PICC多种封装;商用级芯片温宽为0度TO70度,工业级芯片温宽为40度TO85度;芯片接口说明CS_片选使能,低电平芯片使能。CH0模拟输入通道0,或作为IN/使用。CH1模拟输入通道1,或作为IN/使用。GND芯片参考0电位(地)。DI数据信号输入,选择通道控制。DO数据信号输出,转换数据输出。CLK芯片
26、时钟输入。VCC/REF电源输入及参考电压输入(复用)。ADC0809是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。主要特点DC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近,ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能IN0IN78路模拟量输入端。8位数字量输出端。ADDA、ADDB、ADDC3位地址输入线,用于选通8路模拟输入中的一路ALE地址锁存
27、允许信号,输入,高电平有效。毕业设计(论文)报告用纸第7页共56页STARTAD转换启动脉冲输入端,输入一个正脉冲(至少100NS宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOCAD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK时钟脉冲输入端。要求时钟频率不高于640KHZ。REF()、REF()基准电压。VCC电源,单一5V。GND地。23时钟芯片的简介DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时
28、时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线1RES复位,2I/O数据线,3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低,保持数据和时钟信息时功率小于1MWDS1302是由DS1202改进而来,增加了以下的特性双电源管脚用于主电源和备份电源供应VCC1,为可编程涓流充电电源附加七个字节存储器它广泛应用于电
29、话传真便携式仪器以及电池供电的仪器仪表等产品领域8位暂存数据存储RAM使用串行I/O口方式使得管脚数量最少工作电压2050V;工作电流20V时,小于300NA读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式8脚DIP封装或可选的8脚SOIC封装根据表面装配简单3线接口与TTL兼容VCC5V可选工业级温度范围4085毕业设计(论文)报告用纸第8页共56页图21DS1302引脚图图21示出DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC102
30、V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32768KHZ晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC25V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串
31、行数据输入输出端双向。SCLK始终是输入端。根据上述介绍和这次设计的要求,我选择使用DS1302作为这次设计的时钟芯片(如图21)。24液晶显示器的简介带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个1616点汉字,和128个168点ASCII字符集利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字也可完成图形显示低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论
32、硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块;基本特性低电源电压(VDD3055V)(2)、显示分辨率12864点内置汉字字库,提供8192个1616点阵汉字简繁体可选内置128个168点阵字符,2MHZ时钟频率显示方式STN、半透、正显,驱动方式1/32DUTY,1/5BIAS视角方向6点,背光方式侧部高亮白色LED,功耗仅为普通LED的1/51/10通讯方式串行、并口可选,内置DCDC转换电路,无需外加负压无需片选信号,简化软件设计,工作温度0度55度,存储温度20度60度。LCD1602字符型液晶显示器其用法单5V电源电压,低功耗、长寿命、高可靠性内置
33、192种字符160个57点阵字符和32个510点阵字符具有64个字节的自定义字符RAM,可自定义8个58点阵字符或4个511点阵字符显示方式STN、半透、正显毕业设计(论文)报告用纸第9页共56页驱动方式1/16并口,1/5串口背光方式底部LED通讯方式4位或8位并口可选标准的接口特征适配MC51和M6800系统MPU的操作时序LCD1602液晶显示屏的主要技术参数如下表所示(表23)表23LCD1602液晶主要参数显示容量162个字符芯片工作电压4555V工作电流20MA50V模块最佳工作电压50V字符尺寸295435MM3总体方案设计在这次的整体设计中主要涉及下面几个方面(如图31)图31
34、整体方案结构图下面介绍各个模块使用的器件31STC89C52单片机STC89C52是的低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的只读程序存储器PEROM和256KBYTES的随机存取数据存储器,器件采用高密度,非易失性存储技术生产,与标准MCS51指令系统及8051产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,STC89C52单片机适合于许多较为复杂控制应用场合。主要性能参数8K字节可重擦写FLASH闪存存储器1000次写/擦循环毕业设计(论文)报告用纸第10页共56页时钟频率0HZ24MHZ三级加密存储器256字节内部RAM32个可编程I/O
35、口线3个16位定时/计数器6个中断源可编程串行UART通道低功耗的空闲和掉电模式片内振荡器和时钟电路32ADC0832数模转换ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。33AT24C02存储器在本设计中使用的是24C02存储芯片,是电可擦除的PROM,8个引脚功能及两线串行接
36、口。电压允许范围18V5V。串行E2PROM是基于I2CBUS的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。在一般单片机系统中,24C02数据受到干扰的情况是很少的,基本的读写功能外,还对地址功能以及WP引脚保护功能进行了全面的检测,发现一种ATMEL(激光印字)以及XICOR牌号的24C02具有全面的符合I2C总线协议的功能,而有些牌号24C02要么没有WP引脚保护功能,要么没有器件地址功能(即2片24C02不能共用一个I2C总线),有些甚至两种功能均无。所以说一些同样功能型号的电子器件在兼容性上往往会带来意想不到的
37、问题,值得引起注意34LCD1602液晶显示LCD1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的液晶显示模块,模块组件内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。LCD1602液晶显示屏外形尺寸LCD1602液晶显示屏分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图32所示毕业设计(论文)报告用纸第11页共56页图32LCD1602尺寸图1602液晶显示屏采用标准的16脚接口,其中各接口的功能如下表(24)所示表24LCD160
38、2的16管脚功能引脚号引脚名电平输入/输出引脚说明1VSS电源地2VDD电源正极5V3VL液晶显示偏压信号4RS0/1输入数据/命令选择端,0输入指令,1输入数据5R/W0/1输入读/写选择端,0向LCD写入指令或数据,1从LCD读取信息6E10输入使能信号,1时读取信息,10下降沿执行指令7D00/1输入/输出数据总线最低位8D10/1输入/输出数据总线9D20/1输入/输出数据总线10D30/1输入/输出数据总线11D40/1输入/输出数据总线毕业设计(论文)报告用纸第12页共56页12D50/1输入/输出数据总线13D60/1输入/输出数据总线14D70/1输入/输出数据总线最高位15B
39、LAVCCLCD背光电源正极16BLK接地LCD背光电源负极第1脚VSS为地电源。第2脚VDD接5V正电源。第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会使屏幕显示不清晰,使用时可以通过一个10K的电位器调整对比度。第4脚RS为数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚R/W为读写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶
40、模块执行命令。第714脚D0D7为8位双向数据线。第15脚背光源正极。第16脚背光源负极35编译软件介绍KEIL软件简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,KEIL软件是目前最流行开发MCS51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。KEI
41、L提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部份组合在一起。运行KEIL软件需要PENTIUM或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDO
42、WS界面。毕业设计(论文)报告用纸第13页共56页另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4硬件设计41最小系统的实现在本次设计中我们采用STC89C51来实现一个单片机系统能运行起来的需求最小的系统,电路图见图41图41单片机最小系统图上图由晶振电路和复位电路,STC89C51芯片组成,构成最小的单片机系统,下面详细介绍其中的两个电路。晶振电路单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机
43、芯片内部各种微操作提供时间基准,89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20NS且为频率低于12MHZ的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。毕业设计(论文)报告用纸第14页共56页本系统中为了尽量降低功耗的原则,采用了内部时钟方式。电路图见图42图42晶振电路图在89C52单片机
44、的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在530PF,典型值是22PF,晶振CYS选择的是12MHZ。复位电路单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态
45、。当在89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本形式一种是上电复位,另一种是上电与按键均有效的复位,上电复位,要求接通电源后,单片机自动实现复位操作。常用的上电复位,上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理
46、的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使STC89C52内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。电路图见图43毕业设计(论文)报告用纸第15页共56页图43复位电路图RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为晶振为12MHZ时,C1为10UFR4为8242数据采集设计1从传感器过来的电压信号,必须放大,滤波,采集,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟
47、通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系。2传感器的选择酒精浓度传感器由MQ3传感器组成。MQ3传感器/MQ3模块详细介绍如下表413测量电路测量电路由酒精浓度传感器MQ3,ADC0832组成。酒精传感MQ3经AD0832与STC89C52单片机相连,在显示器上显示出酒精的浓度值,当超过国家规定的标准时报警。表41传感器参数表名称MQ3传感器A标准工作条件符号参数名称技术条件备注VC回路电压15VACORDCVH加热电压50V02VACORDCRL负载电阻可调RH加热电阻313室温PH加热功耗9
48、00MWB环境条件符号参数名称技术条件备注TAO使用温度1050TAS储存温度2070RH相对湿度小于95RHO2氧气浓度21标准条件氧气浓度会影响灵敏度特性最小值大于C灵敏特性毕业设计(论文)报告用纸第16页共56页符号参数名称技术参数备注RS敏感体电阻1M8M200PPMALCOHOL适用范围101000PPMALCOHOL(200/100)ALCOHOL浓度斜率06标准工作条件温度202VC50V01V相对湿度655VH50V01V预热时间不少于24小时43A/D转换设计正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未
49、同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能如图44图44模数转换电路图44按键设计本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。键盘分为独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统只有UP、DOWN、OK、CANCEL4个控制命令,所需按键较少,所以本系统选择独立式按键。电路图见图45毕业设计(论文)报告用纸第17页共56页图45按键电路图独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平