毕业设计(论文)-基于单片机的多点温度监测系统设计与仿真.docx_第1页
毕业设计(论文)-基于单片机的多点温度监测系统设计与仿真.docx_第2页
毕业设计(论文)-基于单片机的多点温度监测系统设计与仿真.docx_第3页
毕业设计(论文)-基于单片机的多点温度监测系统设计与仿真.docx_第4页
毕业设计(论文)-基于单片机的多点温度监测系统设计与仿真.docx_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

河南工程学院毕业设计(论文)任务书题目基于单片机的多点温度监测系统设计与仿真专业 电气工程及其自动化 学号姓名主要内容: 1系统硬件设计。2模块化设计。3主控电路的设计。4系统设计的仿真实现。基本要求:1能够实时测量对象温度,超过设定值声光报警。2DS18B20测温范围-55oC+128oC,以0.1oC递增。3得到优化的仿真软件程序;蜂鸣器的原理是由振动产生声音。主要参考资料:1张开生,郭国法.MCS-51单片机温度控制系统的设计J.微计算机信息,2005,21(7) 68-692 余发山,王福忠.单片机原理及应用技术M.中国矿业大学出版社,2007.3何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,2004.4 高云红.数字温度传感器在多点温度测量系统中的应用J.沈阳航空工业学院学报,2006,(02):61-63.完 成 期 限:指导教师签名:专业负责人签名:年 月 日基于单片机的多点温度监测系统设计与仿真目录摘要IABSTRACTII1 绪论11.1 课题设计的背景11.2 课题研究的目的和意义11.3 国内外发展的现状及水平21.4 课题设计的主要内容32 方案的论证比较与选择42.1 方案设计42.1.1 设计方案一42.1.2 设计方案二52.1.3 设计方案三62.2 方案的比较与选择62.3 本章小结73 系统的硬件设计83.1 单片机系统设计83.2 温度传感器103.2.1 温度传感器的选用103.2.2 温度传感器DS18B20103.3 按键及显示电路设计123.4 本章小结144 软件设计154.1 软件开发工具的选择154.2 系统软件设计的一般原则154.3 系统软件设计的一般步骤154.4 软件的实现164.4.1 系统主程序流程图174.4.2 传感器程序设计174.4.3 温度测量程序设计184.4.4 键盘程序的设计194.4.5 报警程序的设计204.5 本章小结205 仿真调试215.1 仿真结果215.2 本章小结23结束语25致谢26参考文献27附录一:硬件仿真图28附录二:系统原理图29附录三:主程序30基于单片机的多点温度监测系统设计与仿真摘 要随着社会的进步和工业技术的发展,人们越来越重视温度因素。许多产品对温度测量范围要求严格,而目前市场上的温度测试仪器都是单点测量,且温度信息传输是不及时的、不够精确的,从而不利于工业控制来及时做出决定。在这种情况下,制定出可以多点测量、实时性高、高精度的同步测量方案是很有必要的。因此,毕业设计以单片机作为核心的部件设计出一种多点温度监测系统。毕业设计的硬件方面:温度检测部分使用数字温度传感器DS18B20检测温度信号传给单片机STC89C52进行显示;温度的显示环节利用LCD1602液晶显示器显示温度;温度上限设定环节利用三个按键调节温度的设定值;按键电路利用三个按键实现对温度值和功能键的设定;声光报警电路主要有蜂鸣器、发光二极管、三极管,利用三极管控制电路通断,并且三极管高电平导通。软件方面:根据毕业设计要求建立仿真原理图,利用Altium Designer Release 10软件画原理图,利用ISIS软件对原理图进行仿真,利用Keil uVision4软件编译LCD1602显示DS18B20读温度的程序。它适用于如大棚温度监控、冷库测温、粮仓温度监控等场所,通过DS18B20的单总线技术,实现对环境的温度测量和监控。关键词多点温度监测;仿真;单片机;DS18B20DESIGN AND SIMULATION OF TEMPERATURE MONITORING SYSTEMBASED ON MCUABSTRACTWith social progress and development of industrial technology, People pay more and more attention to the factor of temperature. Many of the products have strict requirements in the range of temperature measurement, currently temperature test instrument is a single point measurement on the market, and the temperature information is not timely, not accurate enough, which is disadvantageous to the industrial control to make timely decisions. IN this form, it is necessary to work out program that can be multi-point measurement, real-time synchronization precision measurement. So,the design of the Single chip microcomputer as the core of the component designs a multi-point temperature monitoring system.The hardware of the graduation design:Temperature detection part of the use of digital temperature sensor DS18B20 detection temperature signal to the microcontroller display;Display link of the Temperature exploits LCD1602 LCD display temperature;Temperature upper and lower limit set link use three key to adjust temperature setting value;The key circuit uses three buttons to realize the setting of temperature and function keys;Sound and light alarm circuit mainly buzzer, light-emitting diode, transistor,the control circuit is broken through the use of transistor,and the low level of the transistor is low.Software:According to the graduation design requirements to establish simulation diagram, Altium Designer Release 10 software painting schematics,Simulation of the schematic diagram with theISIS software,UVision4 Keil software compiled LCD1602 display DS18B20 read temperature program, it is suitable for such as greenhouse temperature monitoring, cold storage temperature, and temperature monitoring and other places of the barn,Single bus technology of through DS18B20,realize temperature measurement and monitoring of the environment.KEY WORDSMulti-point temperature monitoring; Simulation; Single chip processor; Thermometer DS18B20II1 绪 论1.1 课题设计的背景 温度是关于物体冷热程度的度量,是自然界主要的物理量之一,而温度测量是工业、农业、国防和科研等部门最普遍的测量项目,温度在工农业生产、现代科学研究及高新技术开发过程中是一个极其普遍而重要的测量参数,温度测量仪现己广泛应用于农业实验室,工业,环保,卫生防疫,仓储运输,博物馆,温室等领域,因此温度测量技术的研究是一个很重要的课题1。同时,温度也是和人们生活环境有着很大关系的一个物理量,是国际单位制七个基本量之一,它也是一种最基本的环境参数。人民的生活与环境温度息息相关,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人民的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。例如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常运行。炼油过程中,原油必须在不同的温度和条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境,许多电子产品不能工作,粮仓的储粮就会变质腐烂,酒类的品质就没有保障。可见,研究温度的测量具有重要的理论意义和推广价值。随着工业的不断发展,对温度测量的各种要求越来越高。然而随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域2。毕业设计就是为了满足人们在生活生产中对温度测量系统方便的需求。1.2 课题研究的目的和意义在粮库测温系统、冷库测温系统、智能化建筑系统、中央空调系统等多种系统中都需要多点温度测量系统。因此,多点温度测量技术的实现显得非常的重要。毕业设计,其目的是在于:掌握数字温度传感器DS18B20的原理、性能、使用特点和方法,利用Keil对系统进行编程。本课题综合了电子信息、计算机技术专业领域方便的知识,具有综合性、科学性、代表性,可全面检验和促进学生的理论素质和工作能力。本课题的研究可以使学生更好的掌握基于单片机应用系统的分析与设计方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研发素质、增强针对实际应用进行控制系统设计制作的能力。1.3 国内外发展的现状及水平传感器的发展处在信息技术的前沿尖端位置,尤其是温度传感器被广泛应用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。随着我国四个现代化和经济发展,我国在科技和生产各领域都取得了飞速的发展和进步,发展以温度传感器为载体的温度测量技术具有重大意义。传感器主要大体经过了两个发展阶段:模拟集成温度传感器,该传感器具有功能单一、测量误差小、传输距离远、价格低、体积小、微功耗、响应速度快、适用于远程温度测量和温度控制、不需要非直线性校准、简单的外部电路等优点。在国内和国际应用集成传感器中它是最常见的典型产品,如AD590、LM135、TMP17、AD592等;模拟集成温度控制器包括一个可编程温控开关、温度控制器,其中LM56、AD22105和MAX6509为其典型产品。智能温度传感器是出现在90年代中期,是微电子技术、计算机技术和自动测试的结果。在智能温度传感器包含一个温度传感器、模数转换器、信号处理器、内存和接口电路。一些产品有多路选择器,中央控制单元(中央处理器)、随机存取存储器(内存)和只读存储器(光盘)。智能温度传感器能输出温度数据和温度控制的相关量,适合各种单片机;它是基于硬件在软件测试能力的基础之上开发的,其智能化的高低还取决于软件开发水平。综上所述,前人的不足之处我认为有:一般的测量和控制生产都采用不同形式的温度传感器。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这将不可避免地遇到误差补偿,如多点测量的切换误差和信号调理电路的误差问题;如果处理某一过程的步骤不正确,可能会导致整个系统的性能退化。随着现代科学技术的迅速发展,特别是大规模集成电路技术的发展,小型化、一体化、数字化正成为传感器发展的一个重要方向。在美国达拉斯半导体公司推出的数字温度传感器DS18B20,具有独特的接口,只需要占用一个输入/输出接口就可以完成与单片机的通讯;在-10+85温度范围是0.5精度;用户可编程设定912位的分辨率。采用 DS18B20数字温度传感器组成的多点温度测量系统, 克服了传统温度测量系统测量精度低、外围硬件电路复杂、可靠性较低等缺点, 具有测温系统简单、测温精度高、连接方便、占用口线少等许多优点, 为多点温度的测量带来了极大的方便。这些特点使DS18B20是非常适合于构建高精度、多点温度测量系统3。综上所述:毕业设计采用数字温度传感器DS18B20作为测温元件。1.4 课题设计的主要内容毕业设计研究的内容主要如下:(1) 在查阅相关资料后,毕业设计采用以STC89C52为核心的单片机系统,来实现对温度的监测、报警等功能。(2) 研究比较各相关元器件的功能与特点,选择合适的元器件。(3) 系统硬件设计。系统硬件设计主要包括:温度检测、单片机数据采集处理、显示、键盘设定、报警电路等部分。(4) 系统软件设计。本课题采用C语言,利用Keil uVision4编译器进行编程及调试。2 方案的论证比较与选择温度传感器,使用范围广,数量多,居各种传感器之首。温度传感器大致可以分为传统的分立式温度传感器,模拟集成温度传感器/控制器,智能温度传感器。2.1 方案设计2.1.1 设计方案一AD590是美国ANALOG DEVICES公司的单片集成两端感温电流源,其输出电流与绝对温度成比例4。这个方案采用单片机、通过温度传感器AD590采集温度信号、经运算放大器把信号放大、送到A/D转换器、利用44键盘、LCD显示电路、集成功率放大器、报警器,实现多点温度测量和显示,如图2-1所示。图2-1 基于模拟温度传感器的测量系统方案这个方案使用的温度传感器AD590元件的性能指标如下:(1) AD590的测温范围为55oC+150 oC。(2) AD590的电源电压范围为4V30V,可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。(3) 输出电阻710m。(4) 精度高,AD590在55oC+150 oC范围内,非线性误差为0.3oC。(5) 优点:AD590可以裸片形式提供,适合受保护环境下的混合电路和快速温度测量,AD590特别适合远程检测应用,具有精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿,得到广泛应用。(6) 缺点:A/D转换电路设计较烦琐,而且使用AD590进行温度检测必须对端口进行补偿,以减小误差5 。测量温度是把整个器件放到需要测温度的地方,以及读取数据时,注意的方面较多,这都会给测量造成很大的误差。2.1.2 设计方案二这个方案使用AT89C51单片机作为控制的核心,以数字温度传感器DS18B20为温度的测量元件,在这个电路中采用4个DS18B20对各点温度进行检测,通过44键盘模块对正常温度进行设置,显示电路采用LCD1602模块,如图2-2所示。报警电路可以在被测温度不在上限范围内时,发出报警鸣叫声音。当DSl8B20 采集到多个温度信号后,进行电信号转换送至AT89C51中处理,同时将温度送到LCD1602液晶显示器中显示,单片机根据初始化设置的温度上限进行判断处理,即如果温度大于所设的最高温度和小于所设定的最低温度就启动报警装置6。优点:DS18B20利用单总线的特点可以方便的实现多点温度的测量,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。缺点:程序设计复杂,44键盘模块电路容易发生抖动现象,电路中采用4个DS18B20对多点温度进行检测,电路繁琐。图2-2 基于数字温度传感器的测量系统方案毕业设计采用数字温度传感器DS18B20作为测温元件,它具有如下特点:(1)独特的单线接口仅需一个端口引脚进行通讯。(2)每个器件有唯一的64位的序列号存储在内部存储器中。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度在-55OC+128 OC之间。(5)数字温度计的分辨率用户可以从912位选择。(6)内部有温度上、上限告警设置。(7)可通过数据线供电。供电范围为3.0V5.5V。(8)在1085范围内精确度为52.1.3 设计方案三这个方案使用STC89C52单片机作为控制的核心,以数字温度传感器DS18B20为温度的测量元件,在这个电路中采用2个DS18B20对各点温度进行检测,通过三个按键对正常温度进行设置,显示电路采用LCD1602模块,如图2-3所示。图2-3 基于数字温度传感器的测量系统方案这个方案与方案二工作原理相同,只是这个方案选用STC89C52单片机作为控制的核心,选用三个按键对测量温度进行设置,电路中采用2个DS18B20对各点温度进行检测。优点:毕业设计采用的STC89C52单片机作为控制的核心,和AT89C51单片机的区别在于:STC89C52单片机是一种带有8K字节闪烁可编程可擦除只读存储器的低电压,高性能COMOS8的微处理器。AT89C51是一种带有4K字节的Flash ROM。其他的功能基本相同。这个方案电路简单,容易操作7。2.2 方案的比较与选择毕业设计采用2个DS18B20对各点温度进行检测,测温范围为-55 OC+128 OC,精度为0.5 OC。采用LCD1602液晶显示器,同时显示路数和温度。综合模拟温度传感器和数字温度传感器的性能指标,以上三个方案都能达到设计的要求。方案一采用模拟温度传感器AD590,转换结果需要经过运算放大器和A/D转换器传送给处理器。它控制虽然简单,成本低,但是后续电路复杂,且需要进行温度标定,集成温度传感器AD590输出为电流信号,且输出信号较弱,所以需要后续放大及A/D转换电路,如采用普通运放则精度难以保证,而测量放大器价格较高,这样会使系统成本升高。方案二以DS18B20为传感器和AT89C51单片机为控制核心组成多点温度测试系统,该系统包括电源电路、复位电路、时钟电路、传感器电路、键盘与温度显示电路、上限报警电路等组成部。采用美国Dallas半导体公司推出的数字温度传感器DS18B20,属于新一代适配微处理器的智能温度传感器。它具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信。因而使用DS18B20可使系统结构更趋简单,可靠性更高。大大提高了系统的抗干扰能力。DS18B20体积小、经济、使用方便灵活,测试精度高,较高的性能价格比,有CRC校验,系统简明直观8。适合于恶劣环境的现场温度测试,如:环境控制、设备或过程控制、测温类消费电子产品等。但是程序设计比较复杂,稍微操作不当,都会造成设计的失败。方案三以DS18B20为传感器和STC89C52单片机为控制核心组成多点温度测试系统,该系统包括电源电路、复位电路、时钟电路、传感器电路、键盘与温度显示电路、上限报警电路等组成部。方案三和方案二工作原理基本相同,这个方案程序设计比较简单,电路也比较简单,操作起来更方便,不易出错,如果操作过程中某个方面出错了,更改起来也比较方便。综上所述,毕业设计采用方案三对系统进行设计。2.3 本章小结随着社会经济的发展,电子产品更新换代的速度也随之呈指数的上升,因此,元器件的选择和使用成为了难点。温度是日常生活和工农业生产中经常需要测试的重要参数。传统的方式一般采用热电偶或热电阻,其输出的模拟信号,需经A/D转换后才能送入单片机等微处理器,这样的硬件电路结构复杂,制作成本较高9。近年来,各种新型温度传感器和测量方法大量出现并成功应用。单总线数字式智能型传感器技术彻底改变了传统的温度测量方法,直接将温度物理量转化为数字信号并以总线方法传送到微处理器进行数据处理。其中以美国DALLAS公司生产的DS18B20为代表的数字式智能温度传感器凭借其突出优点广泛使用于各种环境的自动化测量及控制系统中,所以,毕业设计选用了数字温度传感器DS18B20作为测温元件。3 系统的硬件设计毕业设计研究的多点测温系统是以STC89C52单片机和单总线数字温度传感器DS18B20为核心,充分利用单片机优越的内部和外部资源及数字温度传感器DS18B20的优越性能构成一个完整的测温系统,实现对温度的测量。整个系统由STC89C52单片机控制,能够接收传感器DS18B20的温度数据并通过LCD1602液晶显示器显示出来,可以从三个按键输入命令,系统根据命令,选择对应的温度传感器,并由LCD1602液晶显示器对温度显示。设计了一种合理、可行的单片机监控软件,完成测量和显示的任务。由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作方便等优点。毕业设计的整个系统主要是由STC89C52单片机、LCD1602液晶显示电路、按键电路、报警电路等构成。3.1 单片机系统设计在快速发展的时代,今天的新科学和技术的发展,单片机的应用越来越受到人们的重视,它被广泛用于家电、医疗、仪器仪表、工业自动化领域等10。单片机全名为单片微型计算机,是计算机的一个基本组成部分,使之微型化,可以集成在单片微机上。目前市场上比较流行的单片机英特尔公司,菲利普公司的8051单片机,摩托罗拉的M6800系列微控制器,英特尔MCS96系列单片机11。STC89C52单片机和AT89C51相比具有以下优点:(1)STC89C52是ISP系列的,在线用串口编程,只需要三四根线就可以,但是AT89C51要取下来编程比较麻烦。(2)STC89C52内带EEPROM,可以断电后保存资料,比如,温度告警的上限,但是AT89C51要实现断电保存就得另外扩展存储器。(3)STC89C52带ADC的可以直接接模拟的温度探头,但是AT89C51还要外置ADC。综上所述:毕业设计运用深圳智威(香港)电子有限公司(WINBOND代理商)的STC89C52进行系统控制,运用到了复位电路,时钟电路,串口,I/O口。(1)复位电路:复位操作完成初始化该芯片的单片机电路,可以使单片机从确定的开始状态运行。复位操作通常是一个上电和开关复位。自动上电复位要求接通电源后,自动复位操作。开关复位是用按钮来控制单片机的复位电路,如果发生死机,单片机的复位按钮按下,使单片机复位。常用的上电复位开关和复位电路如图3-1所示。由于电容器充电,使复位持续为一段高电平。当单片机已经投入运行,按复位按钮,以达到复位操作。单片机复位操作是单片机的初始化过程,包括程序计数器寄存器PC=0000H,P0-P3=FFH,SP=07H,其他寄存器是零。图3-1 单片机复位电路(2)时钟电路:STC89C52单片机时钟信号通常是内部振荡器和外部振荡器模式。XTAL1和XTAL2引脚连接外部晶体振荡器,可以构成内部振荡器方式。单片机有高增益反相放大器,当连接外部晶体振荡器后,它构成自激振荡器和产生振荡时钟脉冲。晶体通常用6MHZ、12MHz或24MHZ。内部振荡器如图3-2所示,电容C3、C2稳定振荡频率,快速振动的作用,电容值通常是530PF。内部振荡器模式获得的时钟信号比较稳定。外部振荡器的时钟信号送入单片机,这种方法适合用于单片机的时钟与外部信号保持统一。图3-2 单片机时钟电路3.2 温度传感器3.2.1 温度传感器的选用现代传感器的原理和结构有很大差别,如何根据测量的目的,测量对象和测量环境合理选择传感器,是在测量前首先要解决的问题。当传感器被确定后,一个匹配的测量方法和设备就可以使用在实践当中了。测量结果的是否可行在很大部分上要取决于所选择的传感器能否满足要求。据测量对象和环境来确定选择哪种类的传感器,需要一个具体而可行的测量准备工作。必须首先考虑使用哪种原理的传感器,这就需要去分析各种因素来决定。因为,即使测量一个相同的物理量,有许多传感器原理是可行的,什么样的原理的传感器更为合适,需要考虑以下具体问题:范围的大小;测量位置对传感器测量体积的限制;方式是接触式或不接触式;有信号线或非接触测量;传感器是国产或进口,价格不能站立,或自行开发12。考虑到灵敏度、频率响应特性、稳定性、线性范围、精度等这些因素,如果测量目的为定性分析,选择一个重复精度高的传感器就可以了,不推荐使用绝对精度高的传感器;如若为了得到定量分析,必须获得准确的测量,精度等级应选择满足要求的传感器。3.2.2 温度传感器DS18B20DS18B20是美国 DALLAS 公司继 DS1820之后推出的增强型单总线数字温度传感器。 它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进, 给用户带来了更方便的使用13。 采用 DS18B20数字温度传感器组成的多点温度测量系统, 克服了传统温度测量系统测量精度低、外围硬件电路复杂、可靠性较低等缺点, 具有测温系统简单、测温精度高、连接方便、占用口线少等许多优点, 为多点温度的测量带来了极大的方便。DS18B20是数字温度传感器,它的输入/输出采用数字量,以单总线技术,接受主机发送的命令,根据DS18B20内部的协议进行相应的处理,把转换的温度以串口发给主机。主机按照通信协议用一个I/O口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、RAM命令)给DA18B20,转换完成之后读取温度值,在内部进行相应的数据处理,用图形液晶模块显示各点的温度。在系统启动之时,用按键设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,LCD1602液晶显示器显示该传感器的路数、设置温度值、实际温度值、从而实现了对各点温度的实时监控。其DS18B20原理图如图3-3所示。图3-3 DS18B20原理图(1) DS18B20与单片机的接口设计DS18B20温度测量系统有一个简单的测温系统,测温精度高,方便连接。DS18B20与单片机的硬件连接方式有:VDD连接到一个外部电源,GND接地,输入/输出接口和单片机的输入/输出接口相连;利用寄生供电,VDD和GND接地。输入/输出接单片机的输入/输出接口。不管是何种电源方式,输入/输出端口引脚必须连接大约4.7k上拉电阻14。如图3-4所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用3V55V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。图3-4DS18B20外部电源供电方式(2)报警电路的设计系统设计中有光电报警电路,如图3-5所示。图3-5 声光报警电路声光报警电路主要有蜂鸣器,发光二极管,三极管组成。三极管控制蜂鸣器和二极管的电路通断,并且三极管高电平导通。3.3 按键及显示电路设计毕业设计要将传感器的温度信号和按键输入的控制信号都显示出来,利用单片机STC89C52传输控制信号。(1)毕业设计中,按键主要是用来设置温度的上限,对其上限加和上限减操作,以达到所要求的温度值。 因此采用三个按键来完成这一功能。按键与单片机连接电路如图3-6所示。图3-6 按键与单片机连接电路(2)显示电路的设计毕业设计采用长沙太阳人电子有限公司的1602字符型液晶显示器显示所测的温度,一般1602字符型液晶显示器的外观和引脚如图3-7所示。图3-7LCD1602的外观图3-7 LCD1602的引脚LCD1602引脚功能的说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-1所示。表3-1 LCD1602引脚功能编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.4 本章小结在元器件的选取上,应该对DS1820的选取多注意,因为DS18B20虽然具有测温系统简单、测温精度高、连接方便等优点,但在实际应用中也应注意以下几方面的问题4:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的遵守读写时序,不然无法读取温度测量结果。(2) 在DS18B20的有关资料中都没有提到单总线上需要挂接传感DS18B20数量问题,致使让人们误理解可以连接无穷多个DS18B20,事实上并非如此。只要单总线上连接的传感器DS18B20超过8个时,必须解决单片机的总线驱动这个难题,这个问题需要注意。(3)挂接传感器的DS18B20总线电缆是有长度大小限制的。实践中,当使用普通信号电缆传输超越50m时,获取的温度测量数据就会发生错误。当使用总线电缆换为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常情况下的通讯长度可以得到改善。在这个问题下主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。4 软件设计4.1 软件开发工具的选择编程语言是在人机信息交流中最基本的工具,可分为机器语言、汇编语言和高级语言。用机器语言编写的程序是不容易记住,难以解决,不易于修改。为了克服这些缺点的机器语言,可使用具有一定意义的符号,指令助记符代表一般的英文单词的缩写。这样就有了另一种编程语言汇编语言。汇编语言是利用指令助记符、符号和数字代表的编程语言,易于理解和记忆,这是一个一个对应的机器语言指令。汇编语言不是高级语言,它的通用性不强,但属于一些计算机所特有的和计算机的内部硬件结构是密切相关的。汇编语言写成的程序被称为汇编语言程序设计。上述两种语言为低级语言。尽管汇编语言有很多优点,但它仍是有一些缺陷的机器语言,与中央处理器的硬件结构有着密切的联系,相异的中央处理器的汇编语言是不同的。这使得汇编语言程序是不可移植,使用不便;其次,如果必须使用汇编语言编程就必须了解它的硬件结构和性能,对使用者提出了较高的要求。因此,高级语言编程的单片机才问世,如PLM,C等等。综合以上的分析得知,毕业设计系统采用C语言进行编程。4.2 系统软件设计的一般原则在单片机应用开发中代码使用效率、单片机的抗干扰性和软件可靠性是实际工程设计当中的重点。单片机应用软件系统的设计包括:(1)功能模块的划分、程序流程的建立,模块接口的设计与编程。(2)根据系统的功能要求,整个软件系统分为多个独立的程序模块,这些程序模块可以是一些语句的集合、功能函数、或程序文件。(3)根据程序模块的功能,写出过程,一般需要写一个具体的功能描述。代码中常用汇编语言或高级语言。(4) 毕业系统采用C语言编程。4.3 系统软件设计的一般步骤系统进行软件设计时,首先要对设计中的硬件有一个熟练的掌握,知道系统的组成,数据的传输,信号是如何被控制的,以及信号的显示。然后进行软件设计时,先搞清楚各个部分的子程序及他们的流程图,然后进行C语言编程,最后将它们系统的编程,系统软件设计的流程图,如图4-1所示。 图4-1系统软件设计的流程图4.4 软件的实现系统软件设计主要包括系统程序和流程图,根据整个系统的要求,完成温度的测量与控制必须经过以下几个步骤:STC89C52单片机接受数字传感器DS18B20的温度信号,并通过LCD1602液晶显示器显示出来,单片机扫描按键,接受控制信号,并将温度上限设定值显示出来,若温度不在范围内则发出报警,如图4-2所示。图4-2软件实现流程图4.4.1 系统主程序流程图首先要对系统的各个模块初始化,先执行测温子程序,获取外界的温度值送STC89C52单片机进行处理,调用相应的显示子程序,对获取的温度显示。然后单片机对按键所连接的引脚进行巡回检测,若为低电平,说明有键被按下,执行相应的按键功能,对温度上限的设定值进行调整并显示在LCD1602液晶显示器。若检测到返回键为低电平,则回到原来的测温状态,此时的报警上限的设定值已经修改,系统根据此设定值和主程序,判断是否需要调用报警子程序和蜂鸣器响起子程序,如图4-3所示。图4-3 系统主程序流程图4.4.2 传感器程序设计(1)DSl8B20编程简介DSl8B20的单总线在芯片内部有一个全球唯一的64位编码,多路温度测量的时候匹配每个芯片代码,以搜索确定为哪个传感器的温度。对一个单一的DS18B20芯片总线访问来说,每个设备必须遵守以下命令序列:第一是初始化;第二是执行ROM命令;第三就是执行功能命令(R0M命令和功能命令)。如果有混乱序列,那么单总线器件不响应的主机。当然,搜索ROM命令和告警命令搜索在执行一个命令后返回单片机的初始化。单总线上的转移过程都是以初始化启动开始的,初始化启动开始过程由主机发送复位脉冲与响应脉冲的从机所构成。应答脉冲让主机知道从机在总线上,并一切准备就绪。每次访问任何单总线器件,该命令序列必须严格遵守;如果有混乱序列,单总线设备就不响应主机。该标准对于命令搜索ROM与命令告警搜索除外,在执行命令后,主机要求不执行随后的功能命令,必须返回到第一步。主机发出一个只读存储器命令,然后可以发出一个支持命令来访问特定的DS18B20。这些命令允许主机写入或读取它的暂存器,启动温度转换和判断从机器的电源供电模式。(2)软件实现前面提到,单总线器件存储器命令,主机检测到一个脉冲信号后,可以发ROM命令。这些命令与从机的唯一64位代码有着密切的联系。允许主机可以拥有多个从器件在单个总线连接,指定操作其中的从机设备。这些命令允许主机能够检测有多少个从机设备在总线上,以及设备的类型或没有设备处于报警状态。从机设备可能支持五种ROM命令(实际情况和具体模型),每个命令的长度是8位。主机的功能的命令发出之前,必须发出适当ROM命令。传感器DS18B20在一个输入/输出线中读取和写入数据,当然,读取和写入数据位有严格的时间要求,只有严格遵守通信协议才可以来保证数据的正确性和完整性传输。所有的时序都是以主机为Master,单总线元器件是以Slave,每个数据传输都是从主机开始,开始写的时序,若需要单总线元器件发送数据写入命令,主机需要启动读的时序来完成数据的接收。传输命令与数据都是以低位在先的。4.4.3 温度测量程序设计根据系统的要求,单片机不仅要能接收到温度信号,还要将温度信号显示出来,使系统一目了然。液晶显示模块LCD相比与数码管,突显它的专业、漂亮。LCD1602液晶显示屏拥有的特点是功耗低、超薄轻巧、体积小、显示内容格式非常丰富、超薄轻巧、使用方便等,在家用电器、工业控制仪器仪表、电子设备等低功耗非常低的应用系统当中得到了很广泛的使用,如图4-4所示。图4-4 温度测量程序流图4.4.4 键盘程序的设计根据毕业设计的系统要求,键盘主要是用来设置温度的上限,通过设置3个按键来控制温度上限的显示和调整。具体程序如下:void keyscan() if(key=0) /S1消警 delay(10); if(key=0) k_value=0; while(!key);if(key1=0) /S2报警温度加一delay(10); if(key1=0)value3=value3+1; while(!key1);if(key2=0) /S3报警温度减一delay(10); if(key2=0) value3=value3-1; while(!key2);4.4.5 报警程序的设计当温度大于所设定的温度时,蜂鸣器开始响起,一直到温度在设定温度内,如图4-5所示。图4-5报警程序流程图4.5 本章小结软件设计的难点在于DS18B20的时序,如果时序不正确,将无法读出正确的温度值,对系统产生很大的影响。因此,DSl8B20读写时序必须经过仔细调整,可以进行周而复始的调试修改,从而找到合理的延时时间。进行软件设计时,首先要对各个部分的子程序及他们的流程图有很清楚的认识,这样才能达到很好的效果,然后进行C语言编程,这就要求我们不说对它精通吧,但是要有一定的C语言功底,这样在编程的时候才能很好地运用和在编程过程中查找出错误。5 仿真调试5.1 仿真结果在KEIL下编译项目,进入调试方式后全速运行,然后切换到PROTEUS环境,此时在屏幕上将会显示出各测温点的温度值,如图5-1所示。用鼠标指向某传感器的和或点击左键,屏幕上对应位置的温度值将随之增减。仿真图如下图所示:(1)如图5-1所示,二个DS18B20温度传感器巡回检测二点温度,并且只挂接在一根总线上,与P1.7引脚相连。图5-1 系统电路仿真图(2)如图5-2是温度传感器所检测的温度值,经过单片机STC89C52的处理,送LCD1602液晶显示器显示的值。图5-2温度传感器所检测的温度值首先程序下载到单片机中,然后按仿真按钮开始仿真,但是在仿真过程中有传感器的温度总是0,如图5-3所示,经过检查后发现它的序列号和二维数组id中定义的不一样,所以导致仿真出错,经过改正后,仿真正确,如图5-3所示。图5-3 仿真出错图(3)如图5-4是按下按键S2后,LCD1602显示的是温度的上限初始值加0.1。图5-4温度上限初始值的显示在设置温度上限初始值时,还是比较顺利的,没有出现什么错误,能够正常的显示温度值。(4)如图5-5所示,为调整温度上限之后的显示数据,如果温度在30以下单片机不会发出报警命令,只要平均温度大于30,单片机就会发出报警命令,蜂鸣器响起,发光二极管发光,然后做出相关的操作。图5-5温度上限设置值在设置温度上限后,把其中一个传感器温度调到不在上限范围内时,发现蜂鸣器不响,发光二极管不发光,通过寻找原因发现,发光二极管由于在硬件电路中接线有问题,与其相连的电阻选择的阻值太大了,蜂鸣器由于与其相连的三极管使用错误,应该连接NPN的三极管,在电路中用成了PNP,导致电路不导通,通过改进这些问题,再次进行调试,发现问题解决了。通过这次仿真使我学到了很多,首先在以后的做事中,最起码的细心要有,做事不求最好,但求更好。5.2 本章小结毕业设计利用PROTEUS与Keil uVision4对单片机二点温度测量系统进行了仿真设计。从设计的结果可以看出,利用PROTEUS进行单片机系统的仿真设计可以极大地简化单片机程序在目标硬件上的调试工作,大幅度节省制作电路板的时间和成本,对于提高产品的开发效率、降低开发成本等有重要的意义。通过调试系统发现DS18B20除了上述特点,也有一些缺点,比如:简单的硬件连接需要复杂的软件编程来实现,大大增加了复杂程度。DS18B20测量温度的时,灵敏度不够高,快速变化的温度不能迅速显示其变化。通过一系列的实验:DS18B20的测温系统比较适合用于环境温度监测、对温度的微小变化敏感、不适合实时性强、温度要求变化很大的测温系统15。36结束语通过这次的毕业设计,使我对在大学中所学的专业知识进行了综合的衔接和运用。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。我对此只是做了一个简单的设计。硬件电路的简单是以软件的复杂为代价的,因此在程序的编写与调试的过程当中稍一粗心就会出现错误,包括时间延时不够长,设置参数的类型有错误。该程序经过反复的调试和修改,虽然能够达到预期的目标,但是还有很多地方需要修改完善,如开始仿真时机器会扫描错误代码而使电路报警,还可以利用剩余的输入/输出口挂接更多的DS18B20等。毕业设计通过分析对比各种不同的温度传感器,选定DS18B20,这种单总线数字温度传感器的通信方式比较独特新颖,软件编写的比较易懂,特点突出。使用其构建的系

温馨提示

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

评论

0/150

提交评论