基于单片机的多点温度检测系统_第1页
基于单片机的多点温度检测系统_第2页
基于单片机的多点温度检测系统_第3页
基于单片机的多点温度检测系统_第4页
基于单片机的多点温度检测系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

西南科技大学本科生毕业论文1基于单片机的多点温度检测系统【摘要】温度是一个和人们息息相关的物理量,温度的变化会给我们带来重大的影响,因此对温度的检测控制非常重要,其检测控制一般使用各式各样的传感器。本设计使用的是DS18B20,它是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域【关键字】温度测量;单总线;数字温度传感器;单片机西南科技大学本科生毕业论文2【ABSTRACT】TEMPERATUREISAPHYSICALQUANTITYANDTHEPEOPLECLOSELYLINKED,THECHANGESINTEMPERATUREWILLBRINGSIGNIFICANTINFLUENCETOUS,SOTHEDETECTIONOFTHETEMPERATURECONTROLISVERYIMPORTANT,THEGENERALUSEOFEVERYKINDOFSENSORDETECTIONANDCONTROLTHISDESIGNISTHEUSEOFDS18B20,ITISAHIGHPRECISIONDIGITALTEMPERATURESENSORNETWORK,BECAUSEOFITSUNIQUEADVANTAGESOFSINGLEBUS,USERSCANEASILYSETUPASENSORNETWORK,ANDCANMAKETHEMULTIPOINTTEMPERATUREMEASUREMENTCIRCUITISSIMPLE,RELIABLEANDBECOMEINTHISPAPER,COMBININGWITHPRACTICALEXPERIENCE,INTRODUCESTHEHARDWAREOFDIGITALTEMPERATURESENSORDS18B20WITHSINGLECHIPANDSOFTWAREPROGRAMMING,ANDGIVESTHESOFTWAREFLOWCHARTTHESYSTEMCONSISTSOFHOSTCOMPUTERANDSLAVECOMPUTEROFTWOPARTSLOWERMACHINETOACHIEVETHETEMPERATUREDETECTIONANDPROVIDESTANDARDRS232COMMUNICATIONINTERFACECHIP,USEDS18B20DIGITALTEMPERATURESENSORAT89C51CHIPOFATMELCOMPANYANDTHEDALLASCOMPANYPCPARTUSINGTHEGENERICPCTHESYSTEMCANBEAPPLIEDTO西南科技大学本科生毕业论文3THESTORAGETEMPERATURE,BUILDINGAIRCONDITIONINGCONTROLANDPRODUCTIONPROCESSMONITORINGANDOTHERFIELDS【KEYWORDS】TEMPERATUREMEASUREMENT,SINGLEBUS,DIGITALTEMPERATURESENSOR,SINGLECHIP西南科技大学本科生毕业论文4目录【摘要】1一、绪论411系统背景412系统概述4二、方案论证521传感器部分522主控制部分623系统方案7三、硬件设计831主控制器832温度传感器1233温度测试电路1734键盘与显示电路1835电源以及看门狗电路26四、软件设计2941概述2942程序设计29五、结语32参考文献33致谢34附录35附录一温度测试子程序流程图33附录二主电路电气原理图34西南科技大学本科生毕业论文5基于单片机的多点温度检测系统第一章绪论11系统背景21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。分布式温度传感器在电力工业、煤矿、森林、火灾、高层建筑、航空、航天飞行器等有着重要的应用前景,引起研究人员的广泛关注。近年来,已经有不少分布式温度传感器的报道,包括基于光纤非线性效应的拉曼温度传感器等,但由于其昂贵的成本而无法得到广泛的应用。12系统概述本设计使用了美国DALLAS半导体公司的新一代数字式温度传感器DS18B20,它具有独特的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点。以AT89C51单片机作为控制核心,提出了一种基于DS18B20的分布式温度传感系统,多个温度传感节点通过单总线通过单总线与单片机相联形成分布式系统。单片机通过实时监控温度的变化,通过液晶显示温度的数值,当温度值西南科技大学本科生毕业论文6超出允许范围时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。第二章方案论证温度检测系统有则共同的特点测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。所以多点温度检测系统的设计的关键在于两部分温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。121传感器部分方案一采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二AD590是一种单片集成的两端式温度敏感电流源,它具有线性优良、性能稳定、灵敏的高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便的优点。首先要通过温度传感器将温度转换成电量,把它的电流信号转换成电信号,然后放大,输入到A/D转换电路,在输入到数码管显示出来。方案三进而考虑到用温度传感器,在单片机电路设计中,大多都使用传感器,所以可以采用一只温度传感器DS18B20,此传感器可以很容易直接读取被测温度西南科技大学本科生毕业论文7值,进行转换就可以满足设计要求。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量轻松的组建传感器网络。方案论证从以上三种方案,很容易看出,方案一、方案二都需要对温度信号进行放大、转换,十分麻烦,电路复杂,且工作量大,稳定性差。方案三,电路比较简单,软件设计也比较简单,故采用方案三。采用温度芯片DSB1820测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更块。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。22主控制部分方案一此方案采用PC机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦。方案二此方案采用AT89C51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据西南科技大学本科生毕业论文8采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。2方案论证从以上两个方案可以看出,方案二更适合本设计,因为它而且体积小,硬件实现简单,安装方便。故本设计采用方案二23系统方案综上所述,传感器部分采用温度传感器DS18B20,主控部分采用AT89C51单片机。总体结构方框图如图231所示。下位机(AT89C51)上位机(PC)下位机(AT89C51)传感器模块显示模块控制模块传感器模块显示模块控制模块上位机()下位机()传感器模块显示模块控制模块传感器模块显示模块控制模块图231总体结构方框图西南科技大学本科生毕业论文9第三章硬件设计31主控制器AT89C51是一种集成了众多功能部件、功能强大的单片机,适合于要求硬件功能强大,运算速度块,工作环境恶劣,可靠性高,扩展功能强及低功耗的应用系统。并且它的市场货源充足。所以本设计选择了AT89C51单片机。AT89C51简介3AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFALSHPROGRAMMABLEANDERASABLEREADONLYMEMORY)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案AT89C51提供以下标准功能4K字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。AT89C51的特性与MCS51兼容4K字节可编程闪烁存储器寿命1000写/擦循环西南科技大学本科生毕业论文10数据保留时间10年全静态工作0HZ24HZ三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路如图311T89C51单片机40引脚分布图图311T89C51单片机引脚分布图西南科技大学本科生毕业论文11VCC供电电压。GND接地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故P3口也可作为AT89C51的一些特殊功能口,如下表所示口管脚备选功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)西南科技大学本科生毕业论文12P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10MS来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,西南科技大学本科生毕业论文13计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。32温度传感器这里我们用到温度芯片DS18B20。DS18B20是DALLAS公司的最新单线数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达400625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路,而且它体积更小、适用电压更宽、更经济,DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。它的测量温度范围为55C125C,在1085C范围内,精度为05C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。5与前一代产品不同,新的产品支持3V55V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20可以程序设定912位的分辨率,精度为05C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。6总的来说DS18B20的主要特征即全数字温度转换及输出。先进的单总线数据通信。最高12位分辨率,精度可达土05摄氏度。12位分辨率时的最大工作周期为750毫秒。西南科技大学本科生毕业论文14可选择寄生工作方式。检测温度范围为55C125C67F257F内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多机挂接。多样封装形式,适应不同硬件系统DS18B20单线数字温度传感器,即“一线器件”,其具有独特的优点采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。测量温度范围宽,测量精度高DS18B20的测量范围为55C125C,在1085C范围内,精度为05C。在使用中不需要任何外围元件。持多点组网功能多个DS18B20可以并联在惟一的三线上,实现多点测温。供电方式灵活DS18B20可以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。测量参数可配置DS18B20的测量分辨率可通过程序设定912位。负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。掉电保护功能DS18B20内部含有EEPROM,在系统掉电以后,它仍可保存分辨率及报警温度的设定值DS18B20的内部结构如图321所示。图321DS18B20内部结构图西南科技大学本科生毕业论文15DS18B20的管脚排列如下图322图322DS18B20的管脚排列DS18B20引脚功能GND电压地DQ单数据总线VDD电源电压NC空引脚18B20共有三种形态的存储器资源,它们分别是ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,西南科技大学本科生毕业论文16第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM非易失性记忆体用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3EEPROM,并在RAM都存在镜像,以方便用户操作。DS18B20有4个主要的数据部件64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序号和8位家族代码28H组成。温度灵敏元件。非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图323所示。TMR1R011111MSBLSB图323DS18B20配置寄存器结构图其中,TM测试模式标志位,出厂时被写入0,不能改变;R0、R1温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值R01,R11(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系如表321所示表321配置寄存器与分辨率关系R0R1温度计分辨率/BIT最大转换时间/US0099375011018751011375西南科技大学本科生毕业论文171112750高速暂存存储器7高速暂存存储器由9个字节组成,其分配如图35所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算当符号位S0时,直接将二进制位转换为十进制;当S1时,先将补码变为原码,再计算十进制值。温度低位温度高位THTL配置保留保留保留8位CRCLSBMSB图324DS18B20存储器映像图温度值格式图DS18B20温度数据表表322DS18B20温度数据表2322212021222324MSBLSBSSSSS262524典型对应的温度值表表323DS18B20温度值表温度/二进制表示十六进制表示125250625101250500510125000001111101000000000001100100010000000010100010000000000000100000000000000000001111111111111000111111110101111007D0H0191H00A2H0008H0000HFFF8HFF5EH西南科技大学本科生毕业论文182506255511111110011011111111110010010000FE6FHFC90H33温度测试电路1硬件连接电路DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成硬件连接电路如图331所示AT89C51DS18B201DS18B202DS18B203DS18B2020VCC5V47K1WIRE图331温度测试连接电路本系统为多点温度测试。DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。2对DS18B20的设计的注意事项(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动西南科技大学本科生毕业论文19DS18B20序列号和自动排序,以减少调试和维护工作量。(3)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DS18B20在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送850的温度值。(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。34键盘与显示电路1键盘电路采用阵列式输入,排成4行4列,总共16个按键。16个按键的输入口为P1,当有键按下的时候,通过分别对各行各列进行扫描并查表得出键值。这样可以有效的减少对单片机I/O口的占用,使单片机有更多的I/O口来实现其他的功能。使单片机的设计更加灵活有效。如图341所示,16个按键排列成4行4列,4个行的引线分别同P1口的P14P17相联接,4个列的引线通过一个上拉电阻分别联接到P10P13口。如图341所示其中上拉电阻的值R47V/16MA3K。在键盘操作过程中若四个按键同时按下时,则需要的上拉电阻值为12K,故此上拉电阻取值为10K。工作原理从0列开始,顺序行扫描,即该行输出为0。每扫描一行,读入列线数据,从0开始,列检查,找该行输出为0的列,若无,则顺序扫描下一行,并检查其各列;若找到某列线为0,则该列与检查行交叉的按键为被按下的键。从0行0列开始,顺序将按键编号,就可以按扫描的值得到按键的值。本电路中从P13P10顺序输出0,再检查P17P14。此键盘的实现要用软件的方法识键和译键。2显示电路(1)LCD与单片机的接口电路LCD与单片机的接口电路如图342所示西南科技大学本科生毕业论文20图341键盘电路12345678ABCD87654321DCBA0PROTELINTERNATIONALP/LL3,12ARODBOROUGHRDFRENCHSFORESTNSWAUSTRALIA208604AUG2004102148F料料PROTEL99SEALLDDBDOCUMENTS料料SCHTITLESIZENUMBERDATEFILEREVISIONSHEETOFTIMEA2S1SWPBS2SWPBS5SWPBS6SWPBS7SWPBS8SWPBS9SWPBS10SWPBS11SWPBS12SWPBS13SWPBS14SWPBS15SWPBS16SWPBS3SWPBS4SWPBR110KR210KR310KR310K5P13P12P11P10P14P15P16P17西南科技大学本科生毕业论文21图342LCD与单片机的接口电路西南科技大学本科生毕业论文222引脚分布及功能12864液晶显示屏共有20个引脚,其引脚名称及引脚编号的对应关系如图343所示图34312864液晶显示模块引脚分布图引脚功能如表341所示表34112864液晶显示模块引脚功能引脚符号引脚功能引脚符号引脚功能1VSS电源地15CS1CS11芯片选择左边6464点2VDD电源5V16CS2CS21芯片选择右边6464点3VO液晶显示驱动电源05V17/RST复位(低电平有效)4RSH数据输入;L指令码输入18VEELCD驱动负电源5R/WH数据读取;L数据写入19A背光电源()6E使能信号。由H到L完成使能20K背光电源()714DB0DB7数据线有些型号的模块19、20脚为空脚3图形液晶显示原理123456789101121314151617181920VSDVORSR/WEDB0DB7DB6DB5DB4DB3DB2DB1CS1CS2/RSTVEAK西南科技大学本科生毕业论文2312864液晶屏横向一共有128个点,纵向有64个点,全屏分为左半屏和右半屏,DDRAM表与12864点的一一对应关系如表342所示表34212864液晶模块内部结构左半屏右半屏CS11CS21Y001626301。6263行号DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB707DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7855X0X7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB75663在液晶屏上显示1616点阵汉字首先将汉字转换成相应的代码,在送入的液晶屏的相应的位置,下面以“学”字的显示为例进行说明,“学”字在液晶屏的上的点阵排布如图344所示,在显示时先输入汉字的第1页的16位数据,在输入第2页的16位数据,即第1页与第1列的公共部分即为要输入的第1个西南科技大学本科生毕业论文24数据,第1页与第2列的公共部分即为第2个要输入的数据,按照这种取码方式可得出该字代码如下(注上面所说的第几页,第几列是相对汉字所说的)。DB40H,30H,11H,96H,90H,90H,91H,96HDB90H,90H,98H,14H,13H,50H,30H,00HDB04H,04H,04H,04H,04H,44H,84H,7EHDB06H,05H,04H,04H,04H,06H,04H,00H图344图形显示的工作原理与汉字显示相似,如果在某位置显示指定大小的图形时,首先利用图形取模软件,将图形的代码提取出来,再根据显示汉字的原理将每页码的数据写入相应的寄存器中即可。4图形液晶控制方法读状态字(STAUSREAD)RSR/WDB7DB6DB5DB4DB3DB2DB1DB001BUSY0ON/OFFRESET0000图345读状态字状态字是计算机了解128641当前状态的唯一的信息渠道。状态字为一个字节,其中仅3位有效位,它们是BUSY表示当前128641接口控制电路运行状态。BUSY1表示12864正在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除状态字以外西南科技大学本科生毕业论文25的任何操作。BUSY0表示12864接口控制电路,已处于“准备好”状态,等待计算机的访问。ON/OFF表示当前的显示状态。ON/OFF1表示关闭显示状态,ON/OFF表示开显示状态。RESET表示当前128641的工作状态,即反映RST端的电平状态。当RST为低电平状态时,128641处于复位工作状态,RESET1。当前RST为高电平状态时,128641为正常工作状态,RESET0。在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY0时,计算机对12864的操作才能有效。因此计算机在每次对12864操作之前,都要读出状态字判断BUSY是否为“0”,则计算机需要等待,直至BUSY0为止。显示开关设置(DISPLAYON/OFF)RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000011111D图346显示开关设置该指令设置显示开/关触发器的状态,由此控制显示数据的存储器的工作方式,从而控制显示屏上的显示状态。当D1为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF0。当D0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中ON/OFF1。显示起始行设置(DISPLAYSTARTLINE)RSR/WDB7DB6DB5DB4DB3DB2DB1DB00011显示起始行(063)图347显示起始行设置该指令设置了显示起始行寄存器的内容。KS0108有64行显示的管理能力,该指令中L5L0为显示起始行的地址,取值在03FH(164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的地址。如果定时间隔地,等间距西南科技大学本科生毕业论文26地修改(如加一或减一)显示起始行寄器的内容,则显示屏将呈现内容向上或向下平滑滚动的显示效果。西南科技大学本科生毕业论文27页面地址设置SETPAGEXADDRESSRSR/WDB7DB6DB5DB4DB3DB2DB1DB00010111PAGE07图348页面地址设置该指令设置了页面地址X地址寄存器的内容。12864将显示存储器分成8页,指令代码中B2B0就是要确定当前所要选择的页面地址,取值范围为07H,代表第18页。该指令规定了以后的读/写操作将在哪一个页面上进行。列地址设置(SETYADDRESS)RSR/WDB7DB6DB5DB4DB3DB2DB1DB00001YADDRESS063图349列地址设置该指令设置了Y地址计数器的内容,DB5DB003FH(164)代表某一个单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在连续进行读/写数据时,Y地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储单元唯一地确定下来,为后来的显示数据的读/写作了地址的选通。写指令数据图3410写指令数据此命令在在E的下降沿有效。写显示数据(WRITEDISPLAYDATA)下列图3411为写现实数据图RSR/WDB7DB7DB5DB4DB3DB2DB1DB000指令西南科技大学本科生毕业论文28RSR/WDB7DB6DB5DB4DB3DB2DB1DB010显示数据图3411写显示数据该操作将8位数据写入先前已确定的显示存储器的单元内,操作完成后列地址计数器自动加一。读显示数据(READDISPLAYDATE)下列图3412为写现实数据图RSR/WDB7DB6DB5DB4DB3DB2DB1DB011显示数据图3412读显示数据该操作将128641接口部的输出寄存器的内容读出,然后列地址计数器自动加一。35电源以及看门狗电路1电源电路因为单片机工作电源为5V,且底层电路功耗很小。采用7805三端稳压片即可满足要求。具体电路如图351所示。图351电源电路西南科技大学本科生毕业论文292看门狗电路看门狗电路电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平或低电平,这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,而出现程序跑飞,死机等一些不可预知的不正常工作现象。本设计为单片机电路添加一个外部看门狗电路。定时查询单片机的工作状态,一但发现异常即对单片机延时重起。保证系统安全可靠的运行。NE56604能为多种微处理器和逻辑系统提供复位信号,其门限电平为42V。在电源突然掉电或电源电压下降到低于门限电平时。NE56604将产生精确的复位信号。NE56604内置一个看门狗定时器,用于监控微处理器,以确保微处理器的正常运行。看门狗能产生一个系统复位信号用来终止任何由于微处理器故障而引发的不正常的系统操作。特性正负双逻辑输出的有效复位信号精准的门限电平监测上电复位内部延时可利用外部电阻调节的内部看门狗定时器看门狗定时器的监控周期为100MS典型值VCC08VDC时产生有效的复位信号典型值仅需很少的外围元件具体电路图如图352所示。西南科技大学本科生毕业论文30图352看门狗电路图西南科技大学本科生毕业论文31第四章软件设计41概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系42程序设计主程序调用了4个子程序,分别是显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序、单片机与PC机串口通讯程序。键盘扫描电路及按键处理程序实现键盘的输入按键的识别及相关处理。温度测试程序对温度芯片送过来的数据进行处理,进行判断和显示。显示程序控制系统的显示部分。中断控制程序实现循环显示功能。串口通讯程序实现PC机与单片机通讯,将温度数据传送给PC机1主程序设计将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。程序应该尽可能多的使用调用指令代替跳转指令。因为跳转指令使得程序难以看懂各程序段之间的结构关系。而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。主程序流程图如图421所示西南科技大学

温馨提示

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

评论

0/150

提交评论