资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目 录引 言11 系统的相关介绍21.1 系统的目的及意义21.2 设计要求21.3 系统传感器DS18B20的介绍21.3.1 DS18B20的主要特性21.3.2 DS18B20的外形和内部结构3 2 系统分析设计42.1 温度控制系统结构图及总述42.2 系统显示界面方案42.3 系统输入方案52.4系统的功能53 相关软件编译知识介绍53.1 C语言简介53.1.1 C语言的优点53.1.2 C语言缺点63.2 Keil简介63.2.1 系统概述63.2.2 Keil C51单片机软件开发系统的整体结构74系统流程图设计74.1主程序流程图74.2 DS18B20控制程序流程图84.2.1 DS18B20 复位程序流程图94.2.2 DS18B20写数据程序流程图94.2.3 DS18B20读数据程序流程图104.3 温度读取及转换程序流程图124.4 MAX7219驱动程序流程图134.4.1 MAX7219写入一个字节数据程序流程图134.4.2 MAX7219写入一个字数据程序流程图15 4.5 数码管温度显示程序流程图164.6 按键中断服务程序流程图17 5 电路仿真195.1 PROTEUS软件介绍195.2 温度控制系统PROTEUS仿真196总结207参考文献21附录1 源程序代码22 引 言信息采集(即传感器技术)、信息传输(通信技术)、信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。近百年来,温度传感器的发展大致经历了以下三个阶段;(1)传统的分立式温度传感器(含敏感元件);(2)模拟集成温度传感器/控制器;(3)智能温度传感器。目前,国际上新型温度传感器正从由集成化向智能化、网络化的方向发展。 下面介绍的就是两种最常见的温度传感器: (1)集成温度传感器模拟集成温度传感器。集成传感器是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别。 (2)智能温度传感器智能温度传感器(亦称数字温度传感器)是20世纪90年代中期微电子技术、计算机技术和自动测试技术的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 1 系统的相关介绍1.1 系统的目的及意义温度检测控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。因此温度监测是生产自动化的重要任务。因而本设计具有非常实际的生产意义。 1.2 设计要求本设计是基于单片机STC89C52的温度控制。它实现的是温度的监测和控制功能。 可设置报警温度。本设计用DS18B20传感器来检测温度,LED用于显示。MAX7219用来驱动数码显示。设计先通过keil和proteus来联合仿真,然后焊接实物。具体设计要求如下:(1) 使用STC89C52控制器和DS18B20温度传感器,实现温度的检测和显示;(2) 设置默认报警温度为500C,并且能够通过按键设置调高调低报警温度;(3) 当温度高于报警温度时报警灯亮,低于报警温度时控制电阻丝加热;(4) 四位数码管能通过按键交换显示实测温度和报警温度。1.3 系统传感器DS18B20的介绍1.3.1 DS18B20的主要特性 (1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。 (2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内. (5)温范围55+125,在-10+85时精度为0.5 (6)可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。 (7)在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 1.3.2 DS18B20的外形和内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图1: 图1.3.2.1 DS18B20的外形及管脚排列 2 系统分析设计 2.1 温度控制系统结构图及总述本设计实际上是模仿饮水机的工作原理。它是采用DS18B20温度传感器测试环境温度,经过CPU数据处理,用LED数码管来显示温度。该设计可设置预期温度。当温控开关打开时,若测得环境温度低于设定温度,则继电器吸合,启动电热丝工作;若测得环境温度高于设定温度,则继电器释放,电热丝停止工作。 时钟电路按键设定电路温度传感器电路LED显示电路报警信号灯控制电路继电器控制电路单片机(89C52)主控制器 图2.1.1系统总框图 2.2 系统显示界面方案该系统要求完成温度的显示以及按键操作时的实时显示功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用LCD液晶显示。这种方案显示精确,可方便的显示各种英文字符,温度符号,正负号等,但实现复杂,且须完成大量的软件工作。方案二:完全采用数码管显示。这种方案优点是实现简单。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。2.3 系统输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多。 由于该系统是对设定报警温度的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 2.4系统的功能 能完成对系统温度的监测及控制,并且能够对被控现场的温度进行智能调节,以保持被控现场温度基本不变。该系统如果应用于现实生活具有很强的实用意义。 3 相关软件编译知识介绍 3.1 C语言简介 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言 。具体应用比如单片机以及嵌入式系统开发。3.1.1 C语言的优点 C语言现在被广泛应用于单片机以及嵌入式系统的开发,它具有如下一些优点: (1) 简洁紧凑、灵活方便; (2) 运算符丰富; (3) 数据类型丰富 ; (4) C是结构式语言; (5) 语法限制不太严格,程序设计自由度大; (6) 允许直接访问物理地址,对硬件进行操作; (7) 生成目标代码质量高,程序执行效率高; (8) 适用范围大,可移植性好 。 3.1.2 C语言缺点C语言是一种较汇编语言高级的语言,但相对于汇编这种直接面向机器的语言来说,它的处理效率较会变低。3.2 Keil简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。3.2.1 系统概述Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 3.2.2 Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号