基于单片机技术的甲烷气体检测仪的设计_第1页
基于单片机技术的甲烷气体检测仪的设计_第2页
基于单片机技术的甲烷气体检测仪的设计_第3页
基于单片机技术的甲烷气体检测仪的设计_第4页
基于单片机技术的甲烷气体检测仪的设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

-基于单片机技术的甲烷气体检测仪的设计【摘要】:随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。本文以电阻式甲烷传感器和单片机技术为核心并与其他电子技术相结合,设计出一种技术水平较好的甲烷气体检测。其中选用MQ-2型半导体可燃气体敏感元件甲烷传感器实现甲烷的检测,具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。选用的STC89C52单片机,其整合了A/D转换、硬件乘法器、硬件脉宽调制器等资源,具有高速、低功耗、超强抗干扰等优点,是目前同类技术中性价比较高的产品。以STC89C52单片机和MQ-2型半导体电阻式甲烷传感器为核心设计的甲烷气体检测可实现声光报警、浓度显示、报警限设置等功能。是一种结构简单、性能稳定、使用方便、价格低廉、智能化的甲烷气体检测。具有一定的实用价值。【关键词】:甲烷气体检测;STC89C52;传感器;AD转换器-i-Abstract:Inthispaper,resistancetypesmokesensorandsingle-chipmicrocomputerasthecoretechnologyandotherelectronictechnologies,designagoodtechnicallevelofmethanegasdetection.ChoosewhichdetectthesmokeofMQ-2typesemiconductorgassensitiveelementsmokesensor,hastheadvantagesofhighsensitivity,fastresponse,stronganti-interferenceability,andthepriceislow,theservicelifeislong.TheselectionofSTC89C52microcontroller,whichintegratesA/Dconversion,hardwaremultiplier,hardwareresourcessuchaspulsewidthmodulator,highspeed,lowpower,stronganti-jammingandotheradvantages,issimilarincost-effectivehightechnologyproducts.Keywords:Methanegasdetection,STC89C52,sensor,ADconverter-ii-目录前言.21.设计背景和要求.31.1研究概况及发展趋势.31.2本文主要研究内容.32.总体方案论证与设计.42.1主控模块的选型和论证.42.2显示模块的选型和论证.42.3时钟芯片的选型和论证.42.4温度检测模块的选型和论证.52.5AD数据采集模块的选型和论证.52.6系统整体设计概述.53.系统硬件电路设计.73.1主控模块.73.2LCD液晶显示器简介.103.3键盘模块设计.133.4语音报警模块设计.133.5时钟模块的设计.163.6温度检测模块设计.213.7甲烷传感器介绍.233.8AD采集模块设计.254.系统硬件电路设计.274.1系统软件总体设计.274.2程序设计原理.285.系统硬件电路设计.295.1硬件调试.295.2软件调试.295.3调试结果与分析.29结论.33参考文献.33致谢.34附录.35附录1:实物照片说明.35附录2:部分源程序.36-0-前言随着科技的发展,越来越多的巨大的隐患由于工业生产和人们的日常生活而产生。为了早期发现和通报火灾,防止和减少火灾危害,保护人身和财产安全。保卫社会主义现代化建设,防止火灾引起燃烧、爆炸等事故,造成严重的经济损失,甚至危及生命安全。国外的监控系统技术理论上讲高于国内发展水平,但应用于国内煤矿尚有一定的局限性,如煤矿管理模式生产方式的不同,价格过高不适于国内煤矿现有条件,除在传感器技术方面可供借鉴外,其它仅具一定的参考价值。气体检测监控系统是工矿企业、社会公用事业、环境保护等领域必备的安全设备。经过20多年的努力,气体检测仪表的敏感元件性能、质量有了根本性的改善。在可测气体种类、测量范围、精度、稳定性和寿命等主要技术指标方面均有明显的提高,尤其精度、稳定性与寿命指标,提高了几倍。目前有代表性的是法国OLDHAM公司的MX21,德国Drager公司的Multiwarn,日本理研株式会社的GX86、GX111、GX91、GX82系列,美国GasTech公司的GT、SAFETMTE等仪表。我们通过这几种仪表的介绍和分析,概要说明气体检测监控系统的现状。(1)气体敏感元件的性能便携式气体监测仪表使用的气体敏感元件性能即代表了仪表整体的性能。(2)气体仪表的功能气体检测仪表的功能主要是指所测气体浓度值、报警点的设置,声光报警,开机指示,电池欠压指示等。(3)气体仪表的智能化仪表的智能化是当今电子产品的发展方向。目前技术水平较高的“智能化”,即程序化功能是指:自动校正和可燃气的对比参数。为了减少这类事故的发生,就必须对甲烷进行现场实时检测,采用先进可靠的安全检测仪表,严密监测环境中甲烷的浓度,及早发现事故隐患,采取有效措施,避免事故发生,才能确保工业安全和家庭生活安全。因此,研究甲烷的检测方法与研制甲烷气体检测器就成为传感器技术发展领域的一个重要课题。-1-1.设计背景和要求1.1研究概况及发展趋势探测器朝新探测技术的发展进一步拓展了甲烷探测的应用领域,为一些传统探测器无法胜任的环境提供了有效的手段。相关技术的发展,如傅立叶近红外光谱技术弱信号处理技术、低功耗MCU技术进一步促进了传统探测技术的改进,使得传统探测器在技术和性能上有了显著的提高。火灾着极早期探测、多传感器复合探测和探测器小型化、智能化的方向发展迈出了更快的步伐。近几年来,单片机已逐步深入应用到工农业生产各部门及人们生活的各个方面。各种类型的单片机也根据社会的需求而开发出来。单片机是器件级计算机系统,实际上它是一个微控制器或微处理器。由于它功能齐全,体积小,成本低,因此它可以应用到任何电子系统中去,同样,它也可以广泛应用于报警技术领域,使各类报警装置的功能更加完善,可靠性大大提高,以满足社会发展的需要。我国甲烷气体检测系统起步较发达国家晚几十年,从上世纪70年代我国才开始研制生产甲烷气体检测系统产品。进入80年代后,国内主要厂家也多是模仿国外产品,或是引进国外技术进行生产,没有真正意义上的核心技术,并且市场也刚刚开始发育。甲烷气体检测产品真正发展是在90年代以后,随着政府逐渐开放国门,国外企业开始大量进入中国消防市场,带来先进技术的同时也促进了市场的成熟。这时期,我国生产甲烷气体检测产品的企业也得到了快速发展,部分企业进行了合资生产、技术合作,取得了不菲的成绩,也造就了现今市场上许多有实力的商家,部分技术已接近或赶上了国际水平。1.2本文主要研究内容本系统设计制作一个基于单片机的甲烷报气体检测仪。包括有以下几种功能:(1)单片机通过读取DS1302上的数据获取年月日时分秒等信息并在LCD1602上进行显示。(2)单片机通过读取AD的数据再进行数值换算出具体的甲烷浓度,并在LCD1602上实时显示浓度。(3)通过温度传感器实时监测环境温度并在液晶显示屏上显示。(4)设有按键模块,用户可以通过按键调节实时时间以及设置甲烷上限浓度的值和温度的上限值。当单片机检测到实时的浓度大于设置的上限的浓度或温度超过上限时,单片机会进行声光报警,语音报警的内容可由用户自行录制。-2-2.总体方案论证与设计根据所要实现的功能划分,系统一共需要以下几个模块:主控模块、显示模块、时钟模块、温度检测模块和AD采样模块和语音报警模块,以下就针对这几个模块的选型和论证进行讨论。2.1主控模块的选型和论证方案一:采用MSP430系列单片机,该单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。其内部集成了很多模拟电路、数字电路和微处理器,提供强大的功能。不过该芯片昂贵不适合一般的设计开发。方案二:采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个IO口,且STC系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。因此选用方案二中的51系列单片机作为主控芯片。2.2显示模块的选型和论证方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。方案二:采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用单片机口线少。但是由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往有很多障碍,所以不采用LED数码管作为显示。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,对于本设计而言一个LCD1602的液晶屏即可,价格也还能接受,需要的借口线较多,但会给调试带来诸多方便。所以本设计中方案三中的LCD1602液显示屏作为显示模块。2.3时钟芯片的选型和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现时间计数。采用此种方案虽-3-然可以减少时钟芯片的使用,节约成本,但是,实现的时间误差较大。方案二:采用DS1302时钟芯片实现时钟,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与单片机进行通信,并可采用突发一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时存放数据的RAM存储器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓流充电的能力。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768KHZ晶振作为标准时钟。因此本设计中采用方案二中的DS1302作为时钟模块。2.4温度检测模块的选型和论证方案一:AD590是美国ANALOGDEVICES公司的单片集成两端感温电流源,其输出电流与绝对温度成比例。在4V至30V电源电压范围内,该器件可充当一个高阻抗、恒流调节器,调节系数为1A/K。片内薄膜电阻经过激光调整,可用于校准器件,使该器件在298.2K(25C)时输出298.2A电流。由于该芯片输出为模拟量还同时需要AD转换器对其进行采集。因此不适用于本设计方案二:DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。因此本设计采用方案二中的DS18B20芯片进行温度采集。2.5AD数据采集模块的选型和论证由于本设计需要把甲烷传感器的模拟信号转换成数字信号给单片机进行读取,这里我们选用了10位的AD转换器进行采集。采集到的信号最终通过数学运算转换成甲烷浓度进行显示。2.6系统整体设计概述本系统以单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、液晶显示、时间读取、测温等功能的控制,起到总控和协调各模块之间工作的作用。-4-主控模块单片机时钟模块DS1302AD采集模块TLC549烟雾传感器MQ-2语音模块ISD1820液晶模块LCD1602扬声器温度检测模块DS18B20按键模块图2-1系统结构框图系统由STC89C52,LCD1602,甲烷传感器,TLC549,DS18B20,电机,蜂鸣器等组成,系统由两部分组成分别是电子时钟和甲烷浓度采集,系统带有4个按键,用户可以通过按键设置时间,还有可以设置甲烷浓度的上限浓度,温度值的上限,当超过浓度后,或者温度超过后,单片机会进行语音报警,并且亮起指示灯。-5-3.系统硬件电路设计3.1主控模块主控模块模块在整个系统中起着统筹的作用,需要检测键盘,时间检测、语音报时等功能,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的STC89C52单片机作为系统的主控芯片。51系列单片机最初是由Intel公司开发设计的,但后来Intel公司把51核的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel等大公司。因此市面上出现了各式各样的均以51为内核的单片机。这些各大电子生产商推出的单片机都兼容51指令、并在51的基础上扩展一些功能而内部结构是与51一致的。STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。STC89C52单片机的基本组成框图见图3-1。时钟电路ROM/EPROM/Flash4KBRAM128BSFR21个定时个/计数器2CPU总线控制中断系统5个中断源2个优先级串行口全双工1个4个并行口XTAL2XTAL1RSTEAALEPSENP0P1P2P3VssVcc图3-1STC89C52单片机结构图3.1.1STC89C52单片机主要特性1.一个8位的微处理器(CPU)。2.片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89系列单片机最多提供1K的RAM。3.片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。目前单片机的发展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST公司推出的89系列单片机分别集成了16K、32K、64KFlash存储器,可供用户根据需要选用。4.四个8位并行IO接口P0P3,每个口既可以用作输入,也可以用作输出。5.两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部-6-事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6.五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源。7.一个全双工UART(通用异步接收发送器)的串行IO口,用于实现单片机之间或单机与微机之间的串行通信。8.片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。P1.024MS7CK8RETXALVNU传图3-2STC89C52单片机管脚图部分引脚说明:1.时钟电路引脚XTAL1和XTAL2:XTAL2(18脚):接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。2.控制信号引脚RST,ALE,PSEN和EA:RST/VPD(9脚):RST是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源Vcc发生故障,降低到低电平规定值时,将5V电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,从而合复位后能继续正常运行。-7-ALE/PROG(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。如果想确定8051/8031芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031基本上是好的。ALE端的负载驱动能力为8个LS型TTL(低功耗甚高速TTL)负载。此引脚的第二功能PROG在对片内带有4KBEPROM的8751编程写入(固化程序)时,作为编程脉冲输入端。PSEN(29脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM的OE端(见后面几章任何一个小系统硬件图)。PSEN端有效,即允许读出EPROMROM中的指令码。PSEN端同样可驱动8个LS型TTL负载。要检查一个8051/8031小系统上电后CPU能否正常到EPROMROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。EA/Vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM的8031或8032,需外扩EPROM,此时必须将EA引脚接地。此引脚的第二功能是Vpp是对8751片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。3.输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932脚):P0口是一个漏极开路的8位准双向I/O口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口(P1.0P1.7,18脚):P1口是一个带内部上拉电阻的8位准双向I/O口。P1口每位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口(P2.0P2.7,2128脚):P2口是一个带内部上拉电阻的8位准双向I/O口。P口每位能驱动4个LS型TTL负载。在访问片外EPROM/RAM时,它输出高8位地址。P3口(P3.0P3.7,1017脚):P3口是一个带内部上拉电阻的8位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O端口有很大的区别,它的每个引脚都有第二功能,如下:-8-P3.0:(RXD)串行数据接收。P3.1:(RXD)串行数据发送。P3.2:(INT0#)外部中断0输入。P3.3:(INT1#)外部中断1输入。P3.4:(T0)定时/计数器0的外部计数输入。P3.5:(T1)定时/计数器1的外部计数输入。P3.6:(WR#)外部数据存储器写选通。P3.7:(RD#)外部数据存储器读选通。3.1.2STC89C52单片机的中断系统STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。3.1.3单片机最小系统设计P.34MOSI67CKRET9XALVNU传+YHZpFWBu图3-3单片机最小系统电路图图3-3为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用。-9-3.2LCD液晶显示器简介由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示,可以把一些相关的参数进行显示。3.2.1液晶原理介绍液晶显示器(LCD)英文全称为LiquidCrystalDisplay,它一种是采用了液晶控制透光度技术来实现色彩的显示器。和CRT显示器相比,LCD的优点是很明显的。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题。显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD液晶模块,采用一个162的字符型液晶显示模块。点阵图形式液晶由M行N列个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1个字节的8个位,即每行由16字节,共168=128个点组成,屏上6416个显示单元和显示RAM区1024个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符由68或88点阵组成,即要找到和屏上某几个位置对应的显示RAM区的8个字节,并且要使每个字节的不同的位为1,其它的为0,为1的点亮,为0的点暗,这样一来就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。3.2.2液晶模块简介LCD1602液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM,LCD1602液晶模块的引脚图如图3-4所示。-10-图3-4LCD1602引脚图液晶寄存器选择控制如表3-1。表3-1寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busyflag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.2.3液晶显示部分与STC89C52的接口如图3-5所示。用STC89C52的P0口作为数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为57点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。-11-P1.02345/MOSI67CK8RET9XALVNU传+YHZpFWDBlcdu图3-5LCD1602与STC89C52的接口3.3键盘模块设计本按键模块使用的是多位独立按键,按键一端接IO口,一端接地,由于单片机的IO口都有内部上拉,因此当按键没有按下的时候,IO检测到的时候高电平,当按键按下的时候,相当于IO短接地,因此这时候单片机检测到的电平为低电平,通过检测不同时刻的IO口状态就可以判断按下的是那个按键。4个按键分别代表以下功能,第一为功能按键,可以切换不同参数设置界面,第二个为切换按键,可以切换时、分、秒等参数进行设置,第三个为增加按键,第四个为减少按键。其中按键还可以设置闹钟,重置时间等功能。键盘模块电路图如图3-6所示。图3-6键盘模块电路图3.4语音报警模块设计-12-3.4.1ISD1820芯片介绍语音报警模块选用了ISD1820芯片,美国ISD公司于2001年最新推出一种单片820秒单段语音录放电路ISD1810,采用CMOS技术,内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动及FLASH阵列。主要特征:表3-2ISD1820语音芯片主要特性使用方便的单片8至20秒语音录放外接电阻调整录音时间高质量、自然的语音还原技术内置喇叭驱动放大电路边沿/电平触发放音10,000次录音周期(典型)自动节电、维持电流0.5uA35V单电源工作不耗电信息保存100年(典型值)借助专用设备可以批量拷贝表3-3振荡电阻和取样率表Rosc录放时间采样频率典型带宽80K8秒8.0KHz3.4KHz100K10秒6.4KHz2.6KHz120K12秒5.3KHz2.3KHz160K16秒4.0KHz1.7KHz200K20秒3.2KHz1.3KHz通过震荡电阻和取样率表可以看出,将ROSC端所接的振荡电阻改为电位器可以无级调节语音的快慢,录入的时间越短音质越好,录入的时间越长音质越差。图3-7芯片引脚图3.4.2ISD1820电路设计图3-8为ISD1820的电路原理图,当用户按下按键后,REC变成高电平,语音芯片进入录音状态,用户这时只需通过对麦克风说下录音内容变成录入,当需要播放已录制的内容,只需要给PLAYE的引脚输入一个上升沿便可播放内容。-13-REC1PLAY23MI4F5G6S7V8+9O0TDUWBK.ic传图3-8ISD1820电路原理图3.5时钟模块的设计本万年历系统的主要一部分功能在于时钟模块,这里选用串行日历时钟芯片DS1302。与采用并行总线与单片机进行数据通信的时钟芯片相比,DS1302与单片机的连线大为减少,极大的节省了单片机的系统资源,单片机通过读取DS1302上面的数据可以得到实时时间。3.5.1DS1302概述DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小-14-于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:VCC1在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;VCC2在双电源系统中提供主电源,在这种运用方式中,VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2中较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。如果在传送过程中置RST为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC=2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的内部结构图如图3-8所示。图3-8DS1302内部结构图DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于Vcc10.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32.76kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK始终是输入端。图3-9为DS1302的引脚示意图。-15-图3-9DS1302引脚示意图VCC,GND-直流电源通过这两个引脚提供给该器件,VCC为+5V输入,当提供的5V电源在正常范围内器件能充分地被访问,能对器件读写数据。当3V的电池被连至该器件且VCC低于1.25VBAT时,对器件的读写被禁止,而计时功能照常进行,不受低输入电压的影响。当Vcc降到低于VBAT,则RAM区和计时器将被切换到外部电源VBAT来供电(名义上VBAT为3.0V直流电源)。VBAT-电池输入引脚。可以是任意标准的3V锂电池或其它电源。为了器件能够正常工作,电池电压必须限制在2.03.5V之间。事实上,写保护带电压被内部电路设置为1.25VBAT。表3-2DS1302引脚功能表引脚号引脚名称功能1VCC2主电源2,3X1,X2振荡源,外接32768HZ晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行数据输入端8VCC1后备电源3.5.2DS1302内部RTC和RAM地址分配DS1302的RTC与RAM寄存器的地址分配如图3-10所示。RTC寄存器地址位于00H到07h处。RAM寄存器地址位于08h3Fh。在多字节存取中,当地址指针到达3Fh,即RAM空间的最后一个单元,则下一个操作地址将翻卷到00h,即时钟空间的开头。-16-图3-10DS1302地址分配图DS1302的控制字如图3-11所示。控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。位51(A4A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。图3-11控制字节的含义为了提高对32个地址的寻址能力(地址/命令位15逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址931或RAM寄存器中的地址31不能存储数据。在多字节方式中,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。不管是否写了全部31字节,所写的每一字节都将传送至RAM。数据读写程序如图3-12所示。图3-12数据读写程序-17-3.5.3DS1302时钟和日历通过读取正确的寄存器字节能获得正确的时钟和日历信息,实时时钟寄存器如表3-3所示。通过写入正确的寄存器字节能够设置或者初始化时钟和日历。时钟和日历寄存器中的内容均采用BCD码格式,时钟寄存器00h的位7是时钟停止位,当该位被设置为1时,晶振失效,当该位被清零时,晶振使能。所以,在初始化程序中,使能晶振(CH位=0)是很重要的。DS1302可以运行在12小时或24小时模式,小时寄存器的位7被定义为作为12小时或24小时模式选择位。当该位为高时选择12小时模式,采用12小时模式时,位5是AM/PM标志位,该位为1表示PM。当采用24小时模式时,位5是第二个10小时位(2023小时)。当总线开始工作时,当前的时间信息被传送给一串二级寄存器,时间信息然后从这些二级寄存器中读取,而时钟照常运行。当在读过程中,主寄存器内容发生变化时,这样可以避免再次读寄存器的必要性。DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3-2,其中奇数为读操作,偶数为写操作。表3-3DS1302的日历、时钟寄存器及其控制字命令字各位内容寄存器名写操作读操作取值范围76543210秒寄存器80H81H00-59CH10SECSEC分钟寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-232/24010APHRHR日期寄存器86H87H01-28,29,30,31010DATEDATE月份寄存器88H89H01-12000IOMMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止振荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5是AM/PM位,此位是高电平时表示PM,低电平表示AM,在24小时方式下,位5为第二个10小时位(2023h)。DS1302控制寄存器用来控制SQW/OUT引脚的操作。OUT:输出控制。当方波输出失效时,该位控制SQW/OUT引脚的输出。如果SQWE=0,若OUT=1则SQW/OUT引脚的逻辑电平为1,而OUT=0则SQW/OUT引脚的逻辑电平为0。SQWE:方波使能。当该位被设置为逻辑1时,使能晶振输出,方波输出的频率由RS1和RS0位的值来确定。当方波输出的频率设为1Hz,则时钟寄存器内容将在方波的下降沿更新。-18-表3-4方波输出频率RS1RS0SQWOUTPUTFREQUENCY001Hz014.096KHz108.192KHz1132.768KHzRS:速率选择。当方波输出使能时,这些位控制方波输出的频率。表3-5列出了方波频率与RS位的值的对应关系。3.5.4DS1302时钟电路设计实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32.768Hz晶振。单片机通过时序可以读出时钟芯片内部的相关时间信息,DS1302的时钟电路如图3-13所示。VC2XGNDE5I/O6SLK78UR+Y.HZBT图3-13DS1302时钟电路图3.6温度检测模块设计本设计还带有一个温度检测的功能,系统可以通过读取DS18B20的温度数据并在LCD1602上显示,使整个万年历的功能更加丰富。3.6.1温度传感器工作原理DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125摄氏度,可编程为9位12位转换精度,测温分辨率可达

温馨提示

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

评论

0/150

提交评论