基于单片机的水温控制系统大学学位论文.doc
攀枝花学院本科毕业设计(论文)基于单片机的水温控制系统学生姓名: 赵 鹏 学生学号: 201110501083 院(系): 电气信息工程学院 年级专业: 电子信息工程2班 指导教师: 谢兵 讲师 助理指导教师: 二一五年五月攀枝花学院本科毕业设计(论文) 摘要摘 要随着工农业生产水平和人们生活水平的提高,对工农业环境和生活环境的要求也越来越高,工农业生产设备越来越趋向于自动控制控制乃至于智能控制,人们的日常用品也越趋于智能化和自动化,针对目前社会发展的实际需要,自动控制水温报警系统能应用于许多日常生活和工农业,所以本文的设计也应运而生。本设计就通过51系列单片机做出一个自动控制水温报警系统的模型。本设计主要包括硬件和软件设计两个部分。硬件部分包括单片机控制电路、传感器电路、驱动执行报警电路、数码管控制电路等部分组成。处理器采用51系列单片机AT89C51。整个系统是在系统软件控制下工作的。软件部分可以归划成以下几个模块:数据采集、按键控制、蜂鸣器报警、外接温度控制设备和显示等子函数模块。 本设计实现自动控制水温功能,即实时感测当前系统工作区的温度信息,温度信息通过数码管显示屏直观的显示出来,我们再根据自己对水温的实用需求,通过按键可以设置一个温度的控制范围,当温度值小于或者超出我们设定的范围时,本系统可以自动执行相应的加热和制冷工作,并接通蜂鸣器使其报警。关键词: AT89c51单片机,按键控制,数码管显示,AT24C02,DS18B20攀枝花学院本科毕业设计(论文) ABSTRACTABSTRACT As the level of industrial and agricultural production and people living standard rise, demand for industrial and agricultural environment and living environment is becoming more and more high, industrial and agricultural production equipment is more and more tend to automatic control and intelligent control, People's Daily supplies are more tend to be more intelligent and automation, aiming at the practical needs of social development, the automatic control water temperature alarm system can be applied to a lot of daily life and industry and agriculture, so the design of this article also arises at the historic moment. This design by 51 series single chip microcomputer to make a model of automatic control temperature alarm system. This design mainly includes the design of hardware and software two parts. Hardware part includes single chip microcomputer control circuit, sensor circuit, driver execution alarm circuit, digital tube control circuit and other parts. The processor with 51 series microcontroller AT89C51. The whole system is the system software work under control. Software part can be as the following several modules: data collection, button control, buzzer alarm, external temperature control equipment and display DengZi function module. This design to realize automatic control water temperature function, the real-time temperature sensing the current system of information, the temperature information through digital tube display intuitive display, we again according to the practical demand for water temperature, through the buttons can set a temperature control range, when the temperature is less than or beyond the scope of we set, the system can automatically perform the corresponding heating and cooling, and turn on the buzzer alarm.Key words: AT89c51, button control, digital tube display, AT24C02, DS18B20, 攀枝花学院本科毕业设计(论文) 目录目 录摘 要IABSTRACTII前 言11 绪论21.1 课题背景21.2国内外现状及研究水平21.3本课题的发展趋势32 设计要求与方案论证42.1设计要求42.2系统基本方案选择和论证42.2.1 单片机芯片的选择方案和论证42.2.2 温度传感器设计方案论证52.2.3 掉电保持方案论证52.3 电路设计最终方案决定53 系统的硬件设计73.1 AT89C51介绍73.1.1 AT89C51主要功能及PDIP封装73.1.2 AT89C51引脚介绍73.1.3 单片机最小系统83.2 DS18B20传感器介绍93.2.1 DS18B20概述93.2.2 DS18B20的内部结构103.3 数码管介绍113.4 AT24C02简介114 系统的软件设计144.1软件设计架构144.2主控制程序15 4.3 DS18B20的程序流程图165 系统仿真175.1 仿真软件Proteus的简介175.2 keil uVision2编程开发工具的简介175.3仿真设计的预期目标175.3.1仿真设计的实现175.3.2 最终仿真图186 PCB画图及实物制作196.1 制作过程理论实践概述196.2 设计原理图196.3印制电路板制作流程216.4 最终实物图227 组装与调试247.1系统组装247.2硬件调试247.3软件调试257.4硬件软件联合调试25结论26参考文献27致 谢28附录A 电路仿真图29附录B 实物展示30附录C C语言程序31附录D PCB原理图43I攀枝花学院本科毕业设计(论文) 前言前 言随着社会的发展,科学技术的进步和增强安全意识,在锅炉房大型工厂和学校越来越多关注工作环境是否是安全的,所以水温控制变得尤为重要,因此,本文的设计也应运而生。论文的第一阶段的主要任务是熟悉相关计算机辅助设计软件DXP等,了解单片机开发相关的工作流程,学习单片机系统的基础上c语言(汇编语言)编程和设计,然后能够顺利的做出这个设计的最终产品基于单片机的水温控制系统。第二阶段则是通过自己的努力、教师的指导完成毕业设计的任务和要求,使得基于单片机的水温控制系统成功实现。,有了这个系统就可以完全实时保护和控制系统工作区温度。基于单片机水温控制系统,以AT89C51作为核心设备,防水类型DS18B20为温度检测和信息传输装置,AT24c02断电保护芯片、数码管、蜂鸣器、外部加热装置(由金属板而不是这个设计)、外部散热器(由小风扇来取代这个设计)和一个键盘。AT89C51通过DS18B20生成的数据传输;通过按钮来调整温度控制范围,不是在控制温度进行加热或启动制冷冷却,温度达到后停止,添加AT24系列芯片,可以实现温度设置掉电保存。0攀枝花学院本科毕业设计(论文) 绪论1 绪论1.1 课题背景温度在许多工业中都有非常重要的作用,因为它是工业控制中主要的被控参数之一。随着我国的综合国力不断增强,经济发展日益加快,之前应用于工农业的温度技术现在也可以用在平常生活中。在工业上,许多工厂中都存在许多电站热炉和供热锅炉,它们的能源消耗非长大,如果在厂房中普及温度控制这一技术,就能极大的减少资源浪费和减轻环境治理上的负担。在农业上,现在很普及的大棚蔬菜就是利用温度控制技术对大棚里的蔬菜的生长温度进行控制,以使它们成长的更快更好,而且这一做法也节省了不少的资源环境,可谓百利而不一害。在人们的日常生活中,温度控制中的水温控制就很实用,人们可以借此控制洗澡时水的温度,这为人们的日常生活带来了极大的便利。随着电子技术的发展和人们生活质量的提高,特别是进入20世纪后集成电路的迅猛发展,给人们的生活带来了翻天覆地的变化。现代社会中,随着科学技术的进步,温度检测和控制迅速发展,温度控制将更好的服务于社会。目前,单片机控制器用于从生活工具到工业应用的各个领域。1.2国内外现状及研究水平在国内,温度控制系统可以说已经深入到社会的方方面面且已取得了重大突破和重要进展,但在温度控制器这一块来说,总体发展水平依旧欠缺,同日本、美国、德国等先进国家相比有着较大差距。目前,我国在温度控制器这一块的技术水平还处于九十年代中后期,与传统电子强国差距颇大,成熟产品主要以“点位”控制以及常规的PID控制器为主。该类型的控制器能适应大部分温度系统控制,但对延时、复杂、时变的温度系统控制效果不佳。而我国对于像自适应控制仪表和较高控制场合的智能化等技术还不怎么成熟,形成商品化并在仪表控制参数的自整定方面,国外已有较多的成熟产品。由于外国不外漏其生产技术和我国自身开发工作的缓慢,一直到现在都未能自主研发出性能可靠的自整软件。控制参数大多靠人工经验及现场调试确定。国外温度控制系统发展迅速,并在智能化、自适应、参数自整定等方面取得成果。美日德瑞等国家的改技术遥遥领先,都生产出了许多投放给市场的性能优秀的温度控制器以及仪表,并且在各行各业销售火爆,应用广泛。它们主要具有如下的特点:一是能适应一些像大滞后、大时限等复杂的温度系统控制;二是能够适应于受控系统数学模型难以建立的温度控制系统的控制;三是能够适应于受控系统过程复杂、参数时变的温度控制系统的控制;四是温度控制系统普遍采用自适应控制、自校正控制、模糊控制、人工智能等理论及计算机技术,运用先进的算法,适应的范围广泛;五是温控器普遍具有参数自整定功能。借助计算机软件技术,温控器具有对控制对象控制参数及特性进行自动整定的功能。有的还具有自学习功能,能够根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果的最优化;六是具有控制精度高、抗干扰力强的特点。如今世界上的温度传感器都在重传统的模拟化向更高级的数字化、集成化和网络化过度。传统的温度传感器有热电偶、铂电阻热敏电阻等,尽管它们都有自身对应优点,但由于本身的发热会严重影响测量温度,并且稳定性低,所以不能用来处理后续电路,但相比于使用DS18B20作为温度检测器件,DS18B20的体积更小,采用一线总线的的最新传输方式使设计更简单,因为可以直接将数字信号传给片,使数据的中间环节变得更加简单,大大提高了系统的容错性和抗干扰性。适合于恶劣环境的现场温度测量,在一10一+85C范围内,测量精度为±05。C1.3本课题的发展趋势国内外温度控制系统也发展迅速,并在智能化、自适应、参数自整定等方面取得成果。目前社会上温度控制大多采用智能调节器,国产调节器分辨率和精度较低,温度控制效果不是很理想,但价格便宜,国外调节器分辨率和精度较高,价格较贵。日本、美国、德国、瑞典等技术领先,都生产出了一批商品化的、性能优异的温度控制器及仪器仪表并在各行业广泛应用。 从市场角度看,如果我国的大中型企业将温度控制系统引入生产,可以降低消耗,控制成本,从而提高生产效率。嵌入式温度控制系统符合国家提出的“节能减排”的要求,符合国家经济发展政策,具有十分广阔的市场前景。现今,应用比较成熟的如电力脱硫设备中,主控制器在主蒸汽温度控制系统中的应用,已经达到了世界前进水平。如今,在微电子行业中。温度控制系统也越来越重要,如单晶炉、神经网络系统的控制。因此。温度控制系统经济前景非常广泛,我国的高新精尖行业研究其应用的意义更是更加重大。 1攀枝花学院本科毕业设计(论文) 设计要求与方案论证2 设计要求与方案论证2.1设计要求(1)基本范围0-99 ;(2)精度误差小于 0.1 ;(3)数码管直读显示;扩展功能:可以任意设置最高温度和最低温度并当温度不在预设范围内会报警,并能掉电依旧保持预设的温度限值。2.2系统基本方案选择和论证2.2.1 单片机芯片的选择方案和论证单片机特点:(1)高集成,体积小,可靠性高芯片本身的开发是根据控制环境和工业测量的要求,片内线路简单,其工业噪声电阻比一般CPU性能更好。微型控制器编程指令,常数和形式,如固化于ROM不容易损坏,大部分信号频道都是集中在单个芯片内部,因此,可靠性高。(2)控制功能是强大的单片机能实现大多数要求来自于控制对象的,因为其本身的指令系统有着非常强大的能力:I / O端口的逻辑操作,分支转移的能力和位处理能力。(3)低电压、低功耗、使用户携带更方便(4)容易扩展三条总线的扩展和并行、串行输入/输出接脚围绕在芯片外部,十分简单就能形成不同大小的计算机的应用系统。(5)优秀的性价比单片机的性能是非常高的。单片机寻找地址的能力已超过了64 KB的桎梏,其中部分已经可以达到16 兆,芯片上的罗容量最高可达62 兆,内存容量是2 兆。因为单片机的需求量大和使用领域宽,企业在商业竞争又令它的价格变的更加便宜,所以其性价比非常高。解决方案1:采用STC89C51芯片为核心的硬件。在STC89C51的8KB的ROM存储空间内,拥有512字节的数据存储空间以及EEPROM存储空间2KB,也能与MCS-51等系列单片机同时运行。解决方案2:采用AT89S51单片机。AT89S51单片机程序8 k字节的存储空间,256字节的数据存储空间,没有EEPROM存储空间,也能和MCS51系列单片机同时运行,拥有在线上编辑程序可以被删除的功能。两个方案都全都符合预计需求,考虑到AT89C51相对便宜,抗干扰能力强。考虑到成本因素,所以选择AT89C51单片机。2.2.2 温度传感器设计方案论证根据材料的熔点,热导率,热膨胀系数随温度的变化而变化的规律,温度传感器可以实现将温度转换为电能。温度测量仪有着十分复杂的内部结构,温度传感器作为其主要部件与其他部件相互融合成使其变的高度统一。根据使用时是否接触可分为两种:接触和非接触式;按照传感器材料及电子元件特性分为两类:热电阻和热电偶。 温度传感器的发展大致经历了以下三个阶段;(1)传统的离散温度传感器(含敏感元件);(2)模拟集成温度传感器/控制器;(3)智能温度传感器。各国科研人员都对新型传感器的发展提出了猜想:那必然是条走向数字化,智能化,网络化的方向。国际上开发出了各种测量精度高、分辨能力强的智能化温度传感器,一般使用九到十二位的模拟/数字转换器,可分辨零点五到零点零六二五摄氏度的温度范围。美国大啦思公司新开发的智能温度传感器DS1624类型,拥有十三个2进制数据,并能输出分辨率零点零三一二五摄氏度,温度测量准确度为正负零点二摄氏度。 方案1:因为这个设计是一个温度测量电路,能够利用对高温敏感的电阻设备利用的热影响,如采集发生改变的被测量温度的电流或者电压、A / D转换后,能够使用单片机实现数据处理,测量温度就能够被直观反映出来,需要使用A / D转换,加热电路更麻烦。方案2:反过来,考虑到微型控制器电路一般都离不开传感器,因此能够利用一个温度传感器DS18B20,该型号的传感器,测量温度的值,可以直接阅读,能满足设计要求。 综合以上两个方案:第二个的方案电路更加简单作为采用。2.2.3 掉电保持方案论证为了方便人们使用,本设计采用串行E2PROMI2C总线AT24C02存储设备,由于它有方便的接口,体积小,掉电源不丢失数据等优点。这个设计就是使用该特性。2.3 电路设计最终方案决定综合上面所描述的各种方案,本设计的最终方案选择,:让AT89C51担任主要control system;使用DS18B20作为传感器;采用AT24C02作为数据记录系统;使用数码管作为显示设备。51单片机最小系统数码管显示模块独立按键模块继电器输出控制模块IIC存储模块DS18B20测温模块蜂鸣器报警模块供电开关模块图2.1 总体方案设计图2攀枝花学院本科毕业设计(论文) 系统的硬件设计3 系统的硬件设计3.1 AT89C51介绍3.1.1 AT89C51主要功能及PDIP封装表3.1 AT89C51主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.1.2 AT89C51引脚介绍 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内部和外部选通可编程输入/输出引脚(32根)AT89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39Pin32):8位双向I/O口线,分别为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,分别为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,分别为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,分别为P3.0P3.7图3.1 AT89C51封装图3.1.3 单片机最小系统当在AT89C51单片机的RST引脚加上高电平并保持2个机器周期时,单片机内部就会执行复位操作,按键手动复位分为电平方式和脉冲方式两种。最小系统如图2所示。图3.2 单片机最小系统电路电路把AT89C51单片机最小系统用做控制核心,用DS18B20来测量和提供温度数据,输入部分使用三个独立式按键S1、S2、S3。数码管显负责显示。具体电路连接,详见附录1。3.2 DS18B20传感器介绍3.2.1 DS18B20概述在如今的测检设备之中,DS18B20系列拥有不可撼动的霸主地位。主机的数据处理能力虽然非常强大,但很难发挥其作用。如果没有准确和靠谱的传感器测试某种复杂的信号和提供准确的数据,电脑也不能发挥出它的最大效力。它将没有电能量的变为有电的、放大后,转换成数字量写进电脑,由电脑进行后期的步骤。用传感器和微处理器来测量和控制工业产品的检验,产品性能的精确测量,防患于未然。因为系统的作业环境相当差,和作业精度要求高,于是选用一款适合的传感器变的尤为重要。当前,国际新型号温度传感器正由传统到新型,分散到一体,模到数并向着智能网络的方向前进。智能温度传感器DS18B20正朝着高精度、多功能、总线标准化、高可靠性兼顾安全性、开发虚拟传感器以及网络传感器、单片机温度测量系统的高科技技术的方向迅速发展。因此,智能温度传感器DS18B20作为温度测量设备已广泛应用于人们的日常生活和工农业生产。 数字化的测温传感器具有能碰能磨,空间容量小,操作简单,包装样式丰富等各种优点。它的温度检测区间-55至+125,固有的温度检测分辨率0.5;提供更多的网络扩展,在很多DS1820只有三线并行,达到繁点温度测量;工作3 5 v /直流功率;在测量时设备是不必须的。DS18B20的性能特点如下:(1)独特的单线接口方式(2)不需要任何外围设备的使用;(3)可用USB供电,供电电压范围:+3.0V至+5.5V。(4)温度测量范围:-55到+125。固有的温度测量分辨率0.5。(5)可以经由程序达到九到十二的阿拉巴字符读出方式;(6)使用者可以设置不是容易失去性能报警限制上下;(7)可以在多个DS18B20三线并行,多点测温;(8)负压特性、反向连接电源保护电路。(9)DS18B20转化率较高,进行9位的温度值转换只需93.75ms。(10)能够搭配多种小型控制器或系统;(11)含有64激光校正的只读存储器ROM,工作于一个大的温度控制系统,同意于孤线主线间悬连数个DS18B20。图3.3 DS18B20测温电路UDD是需用时可选择的外部电源端,不用时接地,GND为地,NC空脚。3.2.2 DS18B20的内部结构图3.4 DS18B20内部结构3.3 数码管介绍 数码显示器是一类由LED发光二极管组合显示字符的显示器件,它一共使用了八个Led发光二极管,其中七个用于显示字符,剩下一个用于显示小数点,因而一般都叫做七段数码管显示器。四位一体的数码管,其内部段已连接好,引脚如图所示(数码管的正面朝自己,小数点在下方)。a、b、c、d、e、f、g、dp为段引脚,S1、S2、S3、S4分别表示四个数码管的位。3.4 AT24C02简介如图1为AT24C02的芯片引脚图。图3.5 AT24C02的芯片引脚图AT24C02具有电可擦除的性能并提供串行1024位存储和可编程的只读存储器。该种类型的芯片于弱电压的工厂和各种新型研发单位之间发展使其性能更加完美。AT24C01的封装为8脚PDIP、8脚JEDECSOIC、8脚TSSOP,通过2线制串行接口进行数据传输。设备操作:CLOCK和DATA 变化:SDA管脚通常外都要拉高。SDA管脚上的数据只能在SCL低期间改变。数据在SCL高期间改变定义为一个开始或停止信号。开始状态:SCL为高时SDA上产生一个下降沿。停止状态:SCL为高电平时,SDA将会产生一个上升沿的停止信号,在此停止信号后、所有通信将会被停止。在一个读的序列之后,停止信号将让EEPROM进入备用电源模式。 I2C总线说明: I2C总线来自于二十世纪八十年代初期,当前主要用于服务器的管理和沟通的各个组件的状态等。举个例子,The administrator可以很方便的查看单个零件、更改或者配置主机的具有重要使用意义的零件。可随时对其内存、硬盘、网络、系统等多个参数的温度进行监控,增加了系统的安全性,方便管理员管理。 为了避免混淆装置接到主线的Output端口,一定要打开Output或者集电极断开电路输出。和一个串行时钟线也应该为一条双行道,担任操控主线数据,在经由SCL流出电路产生的Clock通讯的同时,检查SCL在主线上,用来定夺何时给予下个Clock脉冲信号;下属机接受主人的命令,并且遵从主线SCL signal发射或者接收SDA蕴含的signal。每个装置的总线空闲,明渠输出,负载的电路阻体让上述两条线都维持较高等级的电平。任何装置产生出的低等级电压都会让对应的主线信号变的很低,换句话说:SDA的设备”和“关系,SCL也”和“关系。总线接口电路的设备制造技术和水平没有特殊要求(NMOS和CMOS兼容)。I2C总线数字资料传送速率能超过39Wbit/s。此外,主线同意接上的装备电池装载量小于399pf。总线的操作(数据)由主机控制。主机通常是微处理器,是一个开启信息传送,依次经过Clock Signal和完成时的提示信号,关闭装置。从机器主机搜索装置。为了交流,每个收到了I2C总线的装置都有一个唯一的地址,以便主机搜索。主机和从机传输数据,能够从机从由向主机发送数据,同样允许经主机向从机传输。无论设备是主机还是从机,发射信息到主线的被叫做发射极,而对应信息的接受体就为接收机。I2C总线的数据在传输过程中有三种类型的信号:起始信号、响应信号和结束信号。开始信号:SCL高电平时,SDA从高向低跳,开始传送数据。结束信号:SCL高电平时,SDA从低向高跳,结束数据传输。SDASCL开始结束回应信号,收获数据的集成电路收获后八位的信息,然后将传送一个已确定的集成电路的低电平脉冲,传达已经接收完信息。CPU单元发送数据来控制,在控制单元发送响应信息之后,CPU收到响应信号后,按照当前条件决定要不要仍然传输信号。如果未收到响应信号,由控制单元问题出现时的认定。如图3-2所示:图3.6 开始、结束信号图 大多数电路都包含有I2C接口。CYGNAL C8051F0XX系列微型芯片等等许多周边设备如存储、监控等都提供I2C接口芯片。总线基本操作:I2C程序使用主/从双向沟通。设备传送信息到主线被叫做发送方,设备收获信息被叫做接收器。从和主要组件可以在接收和发送的状态工作。主线一定要让主要装置操控着,串行时钟(SCL)则起着操控主线的传送目标、启动和关闭条件的作用。SDA的状态行数据的变化仅在SCL为低电平时,当SCL在高电平段时,SDA的状态变化是用于启动和停止条件。控制字节:开始的要求后,一定要为设备的操控字符,包括高四种不同种类的设备标识符(不一样的芯片拥有不一样的EEPROM,但其默认一般为1010),然后选择其中三个,剩下最后用于一个读和写,当为读操作1,0为写操作。 写操作:划分成单个字操作和整页操作两个方式,针对整页写按照芯片的单次载入的字符不一样。读操作:当前地址读、随机读和顺序读。6攀枝花学院本科毕业设计(论文) 系统软件设计4 系统的软件设计4.1软件设计架构本设计程序大部分在主循环中完成,程序用了一个定时器,定时器的作用是刷新数码管,以实现实时显示。在主函数中首先对整个系统进行初始化,包括对定时器初始化,开启定时中断与全局中断,配置定时周期寄存器。随后对温度传感器初始化,本设计用的温度传感器的型号是DS18B20,该温度传感器输出的信号是数字信号,采用的通信协议是I2C,但是本设计用的单片机没有I2C模块,所以本设计采用软件模拟I2C的方式来与DS18B20进行通信。对温度传感器初始化后还要对EEPROM初始化,它所用的通信协议与DS18B20一样。系统初始化完成后要进入一个设置函数,这个函数可以读取按键的值并对温度上限与下限进行设置,设置好以后将这个设置存入EEPROM,当实际温度超过这个设定值时就会报警。接下来程序会进入一个死循环,在这个大循环中不断地读取DS18B20,并且刷新数码管,一旦读取的温度超过设定值时就进入报警函数,报警函数中会控制电风扇和加热器以达到控制温度的目的,随后驱动蜂鸣器和LED进行报警。整个程序框图如图4-1所示,整个架构包含了控制部分、温度显示、温度读取等几方面。下图是本次控制显示模块的软件设计架构。图4.1 显示模块的软件设计架构4.2主控制程序 本设计在开始时要先对各个模块初始化,然后将温度读入AT24C02并与预设的限制进行比较,将当前温度发给数码管并显示,检测SET是否按下,再检查加减键是否按下,写入并保存在AT24C02中,反之如果SET没有按下,检测并比较当前温度值与限制的大小,断开相应的继电器,对应LED灯闪烁,蜂鸣响。开始初始化读取当前温度读取AT24C02内上下限温度值当前温度与限值关系判断SET是否按下加减键是否按下相应处理上下限位,并写入AT24C02上限指示灯点亮,蜂鸣器闪响下限指示灯点亮,蜂鸣器闪响While循环返回否是否是大于上限小于下限显示当前温度正常范围图4.2 主控制程序流程图4.3 DS18B20的程序流程图 程序的开始时先对DS18B20复位,然后检测温度是否改变,没有则继续当前测量点位并在短暂延时后返回原值,如果改变程序就会发出一个温度转换命令,将新温度写入DS18B20,短暂延时后温度传感器复位,程序发出一个读温度命令,读出新温度的数值并传给显示电路,通过这种不断的检测当前温度并显示,就能达到对水温的实时监控。否是发出温度转换命令写入18B20读温度前复位显示测温点位置18B20复位开始18B20存在?延时发出读温度命令写入18B20读入温度值数据返回延时图4.3 DS18B20的程序流程图11攀枝花学院本科毕业设计(论文) 系统仿真5 系统仿真5.1 仿真软件Proteus的简介Proteus软件是由英国Labcenter electronics公司出版的。它的功能很强大,能对EDA工具软件、单片机外围器件进行仿真,它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Proteus软件画电路原理图,再将连好的原理图进行仿真。使用软件仿真对下一步设计制作实物有着很好的铺垫作用。只要仿真成功,后期按照仿真制作实物就会一气呵成。ISIS是Proteus里面的画原理图部分,它具有良好的用户界面,设计中可自动走线并且可以出版高质量的原理图。5.2 keil uVision2编程开发工具的简介Keil uVision2是德国Keil Software公司设计的一款编程软件。Keil uVision2 这个开发环境功能非常强大,里面有Cx51编译器、Ax51宏汇编器等等,所有这些功能都可以在uVision2开发环境中使用。采用uvision2开发51系列单片机应用程序一般需要以下步骤。首先创建一个工程,本设计选择的单片机器件是AT89S52。其次是利用uVision2的文件编辑器编写程序,本设计利用的是C语言,将此C语言源程序文件保存并添加到项目中去。再次是检查文件无误后进行编译、链接、调试等功能,并选择生成单片机可执行文件HEX文件。最后将正确的HEX文件写入到单片机的EPROM中,单片机就可以根据我们编写的程序内容工作了。5.3仿真设计的预期目标系统在proteus软件的仿真过程中,能显示待测水的温度,温度达到规定上限或者下线值时会报警,可以通过按键设置限值温度。5.3.1仿真设计的实现实现功能的主控制芯片是AT89C52单片机,由一个防水型温度传感器来模拟检测温度,模拟电流通过ADC0832模数转换器转换成数字电流输入单片机进行操作,放大电路将电流放大,利用七段数码管显示出0-99的温度值(注:由于水的温度在标压下最高不会超过100摄氏度,最低不低于0摄氏度,所以数码管显示温度的上下极限时0-99摄氏度)。同时还设计了蜂鸣报警系统,按键控制系统,当按下按键S1,可以对报警温度进行设置,S2减小温度限值,S3增大温度限值。比如将温度设置为20-30摄氏度,当温度小于20摄氏度或超过30摄氏度,红色LED灯就会闪烁,同时蜂鸣器会报警!。按下主机的复位装置系统重置。5.3.2 最终仿真图攀枝花学院本科毕业设计(论文)