版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计说明书基于单片机的果园环境温度检测报警系统设计专业自动化学生姓名班级学号指导教师完成日期2013年6月5日毕业设计说明书(毕业论文)独创性声明本人声明所呈交的毕业设计说明书(毕业论文)是本人在导师指导下进行的研究、设计工作后独立完成的。除了文中特别加以标注和致谢的地方外,说明书中不包含其他人己经发表或撰写过的研究成果。对本文的研究所做贡献集体和个人,均己在说明书中作了明确的说明并表示谢意。本人完全意识到本声明的法律后果由本人承担。毕业设计说明书(毕业论文)作者签名(手写): 日期: 年 月 日指导教师签名(手写):日期: 年 月 日基于单片机的果园环境温度检测报警系统设计摘 要:温度是
2、人们在农业生产中经常需要测量和控制的一个量,而基于单片机的果园环境温度测量和报警系统使得温度测量与报警更加的直观、准确,它具有使用方便、性能可靠的优点。主要讨论了在果园的环境下的温度测量及报警的处理方法和系统构成。基于数字传感器DS18B20的性能特点,利用单片机和简单的接口电路组成一个温度测量及报警系统,通过键盘和LED显示数码管对温度进行显示和对温度报警上下限进行设置。给出了相关的应用电路和软件程序。该系统的温度的测量范围在55- +100之间,它的测量的精度为0.1。这个系统完全满足了果园的温度测量及报警需求。随着单片机技术和半导体技术的发展,这种智能化的温度测量及报警技术将会慢慢取代传
3、统的温度测量技术,使得温度测量技术朝着更加智能化和自动化的方向发展。关键字:果园环境;单片机;温度传感器DS18B20;温度测量及报警 The Design of Based on Single-chip Orchard Ambient Temperature Detection and Alarm SystemAbstract: Temperature is that people in agricultural production often need to measure and control an amount, and microcontroller-based orchard
4、ambient temperature measurement and temperature measurement alarm and alarm system makes more intuitive, accurate, and it is easy to use, reliable performance advantages. mainly discusses the orchard environment temperature measurement and alarm processing method and system configuration. Based on t
5、he performance characteristics of digital sensor DS18B20, using SCM and simple interface circuit a temperature measurement and alarm system, through the keyboard and LED display digital temperature display and temperature alarm limit settings. There gives the relevant application circuit and softwar
6、e programs. The system temperature measuring range -55 - +100 between, its measurement accuracy of 0.1 . The system fully meets the orchard temperature measurement and alarm requirements.With chip technology and development of semiconductor technology, this intelligent temperature measurement and al
7、arm technology will gradually replace the traditional temperature measurement technology, making the temperature measurement and automation technology towards more intelligent direction.Key Words: Orchard environment;Microcontroller;Temperature sensor DS18B20;Temperature measurement and alarm目 录1 课题
8、概述11.1 课题背景和意义11.2 课题研究的内容及要求12 整体方案的论证与设计32.1 系统的基本设计思想32.2 系统模块结构论证33 系统硬件设计53.1 单片机STC89C5253.2 温度传感器63.3系统概述83.4模块化系统设计94 软件设计144.1 程序设计流程144.2 程序编写175 硬件调试185.1 静态检查185.2 通电检查185.3软件调试及软硬件联调185.4硬件实物图186 结束语19参考文献20致 谢21附 录22附录1:程序清单22附录2:电路原理图34附录3:PCB布线图35附录4:Proteus仿真图36附录5:实物图37附录6:元器件清单39基
9、于单片机的果园环境温度检测报警系统设计1 课题概述1.1 课题背景和意义 谈到温度,大家并不陌生。尽管温度充满在我们生活当中,但是很多人认识到的温度只是一个抽象的名次,只是看天气预报时才会去在意。在人类的生活环境中,温度扮演着极其重要的角色。我们在平时一般用几个简单的词语来表达对温度的感知,比如:冷、凉、温、热、烫等,但是这样的表述是很有限的。冰块和凉水都是很冷的,但是它们冷的程度又是不一样的。因此,为了能够更加精确地表述出物体的把物体具体的冷或热,就使用了一个概念温度。而要准确地测量物体的温度需要使用的便是温度计。人们在农业生产活动中需要根据气温的变化,及时地采用相应的农业生产方式,这对农业
10、生产是十分重要的。而一个简单,方便,可靠的温度测量系统就大大方便了农业生产活动。在果园种植过程中,果农需要对果园的环境温度有着准确而又实时的掌握,这样才能进行相应的农业活动,来降低温度对果树成长的约束,增加果实的产量,给果农带来可观的经济效益。随着人们对水果的需求增加,大规模的果园越来越多。果园的温度检测及控制已经成为一个重要的课题。传统的温度测量是在果园中放置一个酒精或者水银温度计,通过读取温度计的度数来知道果园的实际温度,这种的温度测量方法还是比较落后和浪费劳动力的,而且不是很方便。随着果园的规模越来越大,这种传统的温度测量措施就出现了很大的局限性,于是果园种植对温度检测技术的要求越来越高
11、。由于电子技术的发展到超大规模的集成电路阶段段,功能强大但体积更小的单片微型计算机就诞生了,因为它的价格低廉,所以单片机被全面应用在家用电器、军事武器、电子仪器、工业生产、节能环保、智能机器等广阔的领域,使得设计简化,成本降低,还提高了产品的质量和功能,使产品更加智能化、小型化。采用单片机来对温度进行检测,不仅具有控制方便、组态简单和灵活性大等优点而且还可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。因此,单片机对温度的测量
12、控制问题是一个工农业生产中经常会遇到的问题。基于此,本课题围绕应用于果园的基于单片机的温度测量及报警系统展开应用研究工作。1.2 课题研究的内容及要求本文所要研究的课题是基于单片机控制的果园环境测量报警系统。主要是介绍了对气温的显示及报警,实现了温度的实时显示及控制。气温测量部分提出了用DS18B20、STC89C52单片机及LED的硬件电路完成对气温的实时检测、显示及超出设定的上下限温度的报警。本系统具体控制功能如下:(1)能够对气温进行连续测量,通过十进制数码管来显示气温。(2)能够满足日常的温度测量要求。(3)超出报警上下限能够发出报警,并且能通过按键来设定报警温度的上下限。2 整体方案
13、的论证与设计2.1 系统的基本设计思想该系统是以STC89C52单片机为核心,通过单片机控制测温电路(DS18B20)获取温度值,然后通过数码管显示电路显示出来,并且对测的温度值跟设定的值进行比较,如果不在设定范围就通过报警电路发出报警,报警温度的值通过按键电路进行设定。系统结构框图如图2-1:图2-1 系统结构框图2.2 系统模块结构论证2.2.1 测温模块论证与选择方案一:采用AD590温度传感器,AD590是美国模拟器件公司的电流输出型温度传感器,其电源电压范围为430V,输出电流223A(50)423A(150),灵敏度为1A/。适用于多点温度测量和远距离温度测量。方案二:采用温度传感
14、器DS18B20,温度传感器DS18B20可以分为三脚T0-92直插式和八脚S0IC贴片式。贴片式不常用,所以我选择的是直插式封装。温度传感器DS18B20它的体积更加小、性能更突出、工作更加稳定、功耗更低、兼容大多数单片机,它可以直接输出数字量的温度信号供处理器处理。从性价比方面综合考虑选择方案二。2.2.2 单片机模块论证与选择方案一:采用STC89系列单片机,其架构简单,相对熟悉,价格便宜,完全满足设计的要求,焊接起来也是比较方便。方案二:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对较高,而且对此不熟悉。因此,选择方案一。2.2.3显示模块论证与选择方案一:采用LCD液晶显示
15、器作为显示模块核心。LCD显示器节能环保,显示直观。方案二:采用8段LED数码管作为显示模块核心。数码管显示器件相对便宜,体积更小巧。因此,选择方案二。2.2.4报警模块论证与选择方案一:采用语音播报系统作为报警模块的核心。该方案更具人性化、智能化,但是相对成本过高工作量偏大。方案二:采用蜂鸣器作为报警模块的核心。该方案使用的硬件很少,电路设计和实物焊接都很方便,软件设计也容易,性价比较高。因此,选择方案二。2.2.5电源模块论证与选择方案一:采用USB为设备供电,该方案容易实现,能够直接使用计算机的USB接口供电。电脑的USB接口属于接口电源,要并联耦合电容进行缓冲。方案二:采用将220伏、
16、50赫兹的交流电转换为5V的直流电作为供电电源。该方案实施简单,电路搭建方便,可作为单片机开发常备电源使用。方案三:采用干电池串并联到5V作为电源模块。该方案也很容易实现,不需要设计额外的电路,但是由于电池消耗,使得电源不是很稳定,长时间带负载后电压会降低,可能使电路无法长时间的平稳工作。因此,选择方案一。3 系统硬件设计3.1 单片机STC89C52单片机的分类有很多,按应用的范围可以划分为专业型和通用型。专用型是根据某些特定的产品而设计的,例如用于汽车发动机的单片机。通用型的单片机又分为非总线型和总线型或者8位和16位,总线型的具有并行三条总线,可以很方便的扩展外围设备。非总线型没有总线引
17、脚,芯片体积小,要扩展可通过I/O口,因此非线型更适合中小系统。STC89C52单片机标准的40引脚双列直插式集成电路芯片的引脚图如图3-1:图3-1 STC89C52引脚图采用STC89系列单片机,主要考虑到STC系列的单片机的诸多优点:(1)不容易受干扰:对抗静电能力高;很容易实现2千伏/4千伏快速脉冲的干扰实验;电压范围大,对电源要求低;宽温度范围,4085;I/O口通过过防干扰强化;单片机内部供电的电源系统经过防干扰强化;单片机内部的时钟电路经过特殊处理;单片机内部的复位电路经过特殊处理;单片机内部的看门狗电路经过特殊处理。(2)三种方法减少单片机的时钟对外部的电磁干扰:禁止ALE输出
18、;如果使用每个机器周期为六个时钟周期,外面的时钟周期就可以减少一半;单片机时钟振荡器增益可设为1/2Gain。(3)超低功耗:掉电模式:典型功耗<0.1A;空闲模式:典型功耗2mA;正常工作模式:典型功耗4mA-7mA;在掉电模式下接收到外部中断就会被唤醒,一般使用电池作为电源,例如电表、警报器、水压表、便携设备等。(4)在系统可编程,无需编程器,可远程升级。(5)可送STC-ISP下载编程器,1万片/人/天。(6)可供应内部集成MAX810专用复位电路单片机。STC89C52单片机的内部结构如图3-2:图3-2单片机内部结构图3.2 温度传感器3.2.1 传感器的定义从广泛意义上来说,
19、传感器就是可以感受到外部一些信号并能按照某些规律将这些信号转换成可直接使用的信号的仪器,简单地说传感器就是把外部的信号转换为电信号的装置。所以传感器一般有两部分组成,一部分是感知信号部分,另一部分是信号转换部分。它可以感知到特定的信号然后把这种信号传送给信号转换部分,经过处理这些模拟信号就被转换成电信号了。现在的一些使用半导体作为敏感元件的传感器本身可以直接输出电信号。3.2.2 温度传感器的发展随着科学技术的发展,传感器技术已经渗透到生活的方方面面。在这当中,温度类传感器已经被应用到了各种领域,它是传感器中种类最多的传感器。最先发明的传感器是温度传感器,也是被广泛应用的一种传感器。最先把温度
20、的模拟信号转换成数字信号的热电偶传感器。热电偶传感器是德国的物理学家赛贝在1821年发明的。1870年以后,又一个德国人西门子研究了使用铂电阻作为传感器的温度计。在进入2000年以后,随着半导体的广泛应用,又相继出现了PN结温度传感器、集成温度传感器和半导体热电偶传感器。而且,依据物质与波的相互作用的规律,又出现了红外传感器微、波传感器和声学温度传感器。在1990年以后出现了智能温度传感器或者叫做数字温度传感器。它采用了计算机技术、自动测量技术(ATE_)和微电子技术三大技术。现在智能传感器的种类已经非常丰富了。数字温度传感器内部集成了温度传感器电路、信号处理器、A/D转换、存储器(或寄存器)
21、和接口电路。一些数字温度传感器还有多路选择器、只读存储器(ROM)、随机存取存储器(RAM)和中央控制器(CPU)。数字温度传感器能输出数字量及相关的控制量,适用于各种微型控制器(MCU),并且测试功能的实现可通过软件来进行,软件的开发水平越高它的智能化越高。3.2.3 温度传感器的分类温度传感器分为好多种,输出模拟量被称为模拟式温度传感器。输出数字量的被成为数字式温度传感器。因为数字式传感器使用高度集成的设计和数字量的处理与模拟式传感器相比,在可靠性、抗干扰能力以及器件微小化方面都有明显的优点,但受半导体本身限制,数字式传感器还存在以下不够理想的地方:(1) 数字式传感器是测量传感器敏感元件
22、的温度,而且是敏感元件与引线连接处的温度值。因此每一个传感器的敏感元件都要放在一个很好环境中进行测量。在平时我们用传感器来测量温度时都是比真实值略小的,还需要我们进行修正;(2) 数字式传感器对温度转换为数字量的时间都较长;(3) 测温范围不宽(均在-55 125摄氏度);(4) 数字式传感器的传递函数存在有一定的非线性,可有软件校正,不过,数字式传感器最好在常温下使用,超过常温范围它的误差较大。所以数字式传感器目前还不适合于对温度变化敏感、环境恶劣的行业;(5) 由于数字式温度传感器采用材料价格比较高,所以对于大范围推广使用有一定的困难。 综上所述,由于各有各的优缺点、应用范围、和市场,数字
23、式传感器和模拟式传感器会并存很长一段时间,但随着材料科学和半导体技术的深入发展与合作,数字式传感器测温精度进一步提高,测温范文拓宽,生产成本和销售价格不断降低,其发展趋势必将取代模拟传感器。3.3系统概述本设计电路系统原理图如图3-3所示:图3-3电路原理图3.3.1最小系统的概述 最小应用系统设计是单片机应用系统的设计基础。一般包含了复位电路、时钟电路和与I/O口线通信电路。3.3.2系统的显示电路概述在单片机系统实际使用过程中,为了使人们时刻了解单片机和电路的运行状态,所以我们就要使用一些能够显示运行状态和结果的显示器件。常用的显示方式有LED灯,数码管,液晶屏等。考虑到数字温度计要显示的
24、内容不是很多和成本,我们采用了普通的共阳极四位一体七段LED数码管显示测得的温度。3.3.3 系统的按键概述在单片机系统实际运行过程,我们需要对系统的一些方面进行准确的控制,我们就需要使用按钮来进行操作。一般经常使用独立的按键和矩阵式的按键,独立式按键可以直接使用导线于I/O口相连,这样的按键电路设计简单方便,不需要编程。矩阵式按键适用于使用按键多,I/O接口少的场合,编程复杂。本数字温度计需要的使用四个端口,STC89C52有充足的端口供使用,因此采用编程简单的独立式按键。3.4模块化系统设计3.4.1单片机最小系统模块(1) 电源模块:电源电路采用的是USB母头如图3-4所示,提供5V的电
25、压。其有四个引脚,1引脚接的是电源,4引脚接地。由于USB接口使用的是开关电源,不是很稳定的。接C1、C2、C3做为稳压电容,这样就可以的得到稳定的5V电压了。在电源两端并联一个发光二极管来指示电源是否接通。图3-4电源模块(2)时钟电路模块:晶振为单片机提供时钟信号如图3-5所示,其中Y1为12M。电容的大小在30pF左右,两个电容的一端相连并且接地,而另一端分别与晶振两端相连,然后分别接在单片机的XTAL1和XTAL2口。图3-5时钟电路模块(3)复位电路模块使用复位电路可以是单片机重新启动,之前的数据都会被清除,单片机内部的CPU及其他的部分都会返回初始状态。一般单片机的RST引脚作为复
26、位引脚,它与单片机内部的施密特触发器相连。在单片机正常工作的时候,如果在RST引脚上加上一个超过24个振荡周期(2个机器周期)的高电平时,单片机的CPU就会发出响应并且把单片机复位。单片机系统的复位方式有两种:手动按钮复位和上电复位。本次设计采用手动按钮复位,如图3-6:图3-6复位电路模块3.4.2 键盘模块在电路中使用的是独立式按键设计,独立式的按键的一端用导线直接与单片机的I/O口相连,另一端直接接地。所以每一个独立式的按键都要单独使用一个I/O端口,但是每个按键的工作时是不会影响其他的I/O端口的。独立式按键的典型应用如图3-7所示。独立式按键的电路简单方便,程序编写也很简单。缺点是每
27、一个按键要使用一个I/O端口,因此,在需要使用较多的按键时,I/O端口就会不够使用,不是十分的适合。图3-7键盘模块3.4.3温度传感器(DS18B20)模块DS18B20它是第一片使用“一线总线”接口的温度传感器,温度传感器DS18B20可以分为三脚T0-92直插式和八脚S0IC贴片式。贴片式不常用,所以我选择的是直插式封装。温度传感器DS18B20它的体积更加小、性能更突出、工作更加稳定、功耗更低、兼容大多数单片机,它可以直接输出数字量的温度信号供处理器处理。在DS18B20进行温度转换的时候,I/O端口为DS18B20提供稳定的电压使得传感器能很好的进行温度转换,因为DS18B20正常工
28、作时的电流需要1mA,所以在同一个I/O端口上使用几个温度传感器同时进行测温时,单单使用一个上拉电阻时是无法使DS18B20正常进行工作的,可能会使测量的温度值不准确甚至是无法进行测量。因此,在如图3-8所示的电路只能保证单个DS18B20正常工作,如果使用多个传感器后者电源供电不稳定,就会使DS18B20内部的寄生电源接受到的电流太小,无法驱动传感器正常工作,使得传感器测量不准确。所以在实际使用中,必须保证电源的电压稳定在5V,是DS18B20能够正常工作。图3-8温度传感器模块3.4.4 报警电路模块报警电路如图3-9所示,采用蜂鸣器发声报警。蜂鸣器的负极接地,正极接到三级管集电极,三极管
29、发射极接到电源VCC上,三极管的基集接到单片机上,三极管起到一个开关的作用,当P0.1输出低电平时,三极管导通,这样蜂鸣器就有电流经过,形成回路,然后蜂鸣器发出声音。当P0.1输出高电平时,三极管就截止,蜂鸣器不发出声音。图3-9报警电路模块3.4.5显示电路模块具体电路如图3-10所示:图3-10数码管显示模块本设计采用的是4位LED供阳极数码管显示,如图3-10所示。数码管采用的静态扫描方式,因为数码管位数少,采用静态扫描的方式使得显示非常的稳定,使用CPU的时间短,大大简化了显示部分的程序设计。4 软件设计4.1 程序设计流程(1)主程序设计主函数完成对DS18B20的初始化,读取温度的
30、转换值,调用数据处理的子程序然后再生成显示代码,再将温度显示出来,然后根据温度显示的代码判断温度值是否超出了预设的范围。如果超出,则调用报警电路,蜂鸣器会响起来。然后返回到主函数开始的位置,无论温度值是否超出预设值,程序都会返回开始的位置重复循环。主程序流程图如下:图5-1主程序流程图(2)DS18B20复位子程序:图5-2 DS18B20复位子程序流程图(3)读温度值子程序:图5-3 DS18B20读温度值子程序流程图4.2 程序编写本程序的设计采用Keil uVision4编译软件,具体内容见附录一。5 硬件调试5.1 静态检查首先对购买的硬件器材的型号进行核对,确认无误后按照电路原理图进
31、行焊接,焊接时注意器件的极性,焊接完成后再对电路进行检查,确认电路连接是否正确。最后使用万用表检查每一个元器件是否正常工作。5.2 通电检查首先调试电源部分。整个电路只需要+5V的电压,接上电源,将电源通入,测试USB母头输出端,输出电压和理论计算值一致,再用示波器检测单片机的复位和晶振电路是否有复位信号和振荡信号。5.3软件调试及软硬件联调对软件先用仿真器进行了调试。确认软件能正常运行以后,再使用烧录软件将程序烧录到STC89C52单片机中,然后再将电路接通,检查电路是否有问题。5.4硬件实物图实物图和实物运行时的效果图见附录5。6 结束语在经过几个月努力以后,我终于在指导老师的帮助下完成了
32、课题设计,并且自己亲自焊接出了实物,正常运行。虽然还不能完全达到预期效果,但是这无疑是一次巨大的成功。在这次的设计过程并不是一帆风顺的,从一开始选课题时的迷茫,到电路设计时的纠结,然后到软件设计时的苦恼,最后到做出实物的喜悦,我在这个过程中遇到了各种各样的问题,虽然这个课题表面上看起来很简单。比如在蜂鸣器焊接了以后,它会乱响,于是我就请教了同学和老师,再经过几次的测量与实验找到了症结所在,然后顺利地解决了。这次课题设计不仅仅是一次理论上的设计,还需要自己动手进行焊接,大大锻炼我的动手能力。 从这次设计过程中,我终于能够把我所学的知识运用到实践中去了,在设计过程中我深刻体会到了理论联系实际必要。
33、我们只是学习书本上的知识还是很有限的,只有在实践中才能对所学的知识有更加深刻的体会。参考文献1 李朝青. 单片机原理及接口技术M. 北京: 北京航空航天大学出版社, 1998.2 李广弟. 单片机基础M. 北京: 北京航空航天大学出版社, 1994.3 阎石. 数字电子技术基础(第三版)M. 北京: 高等教育出版社, 1989.4 刘高潮. 一种实用的多功能数字温度计设计J. 电子测量技术, 2007, 2, 8-10.5 白泽生. 用MCS-51单片机实现温度的检测J. 现代电子技术, 2005, 6, 12-15.6 何立民. 单片机应用技术选编M. 北京: 北京航空航天大学出版社, 20
34、04.7 杨刚, 周群. 电子系统设计与实践M. 北京: 电子工业出版社, 2004.8 张洪润. 电子线路与电子技术M. 北京: 清华大学出版社, 2005. 9 王松武. 电子创新设计与实践M. 北京: 国防工业出版社, 2005.10 李建忠. 单片机原理及应用M. 西安: 西安电子科技大学出版社, 2002.11 钟富昭. 8051单片机典型模块设计与应用M. 北京: 人民邮电出版社, 2007.12 王俊峰, 孟令启. 现代传感器应用技术M. 北京: 机械工业出版社, 2007.13 宋文绪, 杨 帆. 自动检测技术M. 北京: 高等教育出版社, 2000.14 江孝国, 王婉丽,
35、祁双喜. 高精度PID温度控制器J. 电子与自动化, 2000, 5, 22-24. 15 金发庆. 传感器技术与应用M. 北京: 机械工业出版社, 2006.16 范晶彦. 传感器与检测技术应用M. 北京: 机械工业出版社, 2005.17 沈聿农. 传感器及应用技术M. 北京: 化学工业出版社, 2001.18 于洋. 高低温试验箱微机自动控制系统的设计J. 工业仪表与自动化装置, 2003, 2, 12-14 .19 周航慈. 单片机应用程序设计技术M. 北京: 北京航空航大大学出版社, 2005.20 赵晓安. MCS-51单片机原理及应用M. 天津: 天津大学出版社, 2001.21
36、 杨清梅, 孙建民. 传感器与测试技术M. 哈尔滨: 哈尔滨工程大学出版社, 2005.22 彭立, 张建洲, 王少华. 自适应温度控制系统的研制J. 东北师大学报(自然科学版), 1994, 1, 37-40 . 23 王青云. 基于单片机的温度测量系统J. 2010, 5, 3-7. 24 马云峰. 单片机与数字温度传感器DS18B20的接口设计J. 计算机自动测量与控制, 2002, 4, 14-19. 25 李钢, 赵彦峰. 1-Wire总线数字温度传感器DS18B20原理及应用J. 现代电子技术, 5, 33-40. 26 吕宏丽. Proteus和Keil在单片机控制系统仿真中的应
37、用J. 福建电脑, 2008, 3, 12-22.27 李升, 陈亮. 单片机原理及应用课程数字仿真教学探讨J. 中国现代教育装备, 2007, 11, 11-14.28 杨海. 基于AT89C52单片机的药品库房温湿度控制系统设计J. 科技信息, 2010, 7, 30-35.29 王占玖, 邢春华. 设备自控的新动向J. 科技信息, 2009, 9, 6-15.30 谢延兴. 基于AT89C51单片机最小系统的数字体温计设计J. 机电技术, 2009, 4, 23-29.31 马向阳, 王明艳. 单片机与数字传感器在温度测控系统中的应用J. 中国科技信息, 2010, 1, 2-5.致 谢
38、首先要衷心感谢指导老师林萍老师的在毕业设计过程中的指导和帮助!在这次设计过程我遇到了很多自己解决不了的问题,在林萍老师的详细讲解及悉心指导下得以完成。老师学识渊博,为人和蔼,无时无刻关心着学生的学习和生活。为我营造了一种愉快、良好的学术氛围。在整个毕业设计过程中,无时无刻关心着我的进度及询问我设计上遇到的问题,并且针对我提出的问题做出详细的讲解且不断对我得到的结论进行修改和总结。同时也很感谢其他同学给予我的帮助。在设计过程中,我遇到了好多问题都是其他同学帮助解决的。俗话说三人行,必有我师,每个同学都可以是我的老师,我们在实验室中一起学习,一起探讨问题,最后我们一起进步,一起提高。最后衷心感谢电
39、气学院老师们的热情帮助和支持!附 录附录1:程序清单程序内容具体如下:/*作品:数字温度计设计 单片机:STC89C52RC 晶振:12M 编译环境:Keil uVision4下载:12T/单倍速*/ #include<reg52.h>#include<DS18B20.H> /加入温度传感器头文件#include<STC89C52_EEPROM.H>/加入掉电保存头文件#define Par P2 /数码管段sbit Set = P14; /设置按钮sbit Up = P36; /上调按钮sbit Down= P32; /下调按钮sbit Beep= P01
40、; /蜂鸣器定义sbit Pos1=P04; /数码管位1sbit Pos2=P03; /数码管位2sbit Pos3=P02; /数码管位3sbit Pos4=P05; /数码管位4uint Up_Temp; /报警温度上限的十倍(方便小数位判断)uint Low_Temp; /报警温度下限的十倍(方便小数位判断)uchar code Tab=0x28,0xEE,0x32,0xA2,0xE4,0xA1,0x21,0xEA,0x20, /0 1 2 3 4 5 6 7 8 段码/7 6 5 4 3 2 1 00xA0,0x60,0x25,0x39,0x26,0x31,0x71,0xff,0xf
41、7,0x64,0x3d,0x35; /9 A B C D E F $ - H L (L-) 段码/E D H C G A F Buint temp;/读取温度变量(为了保持精度,温度是放大了10倍的)/*T:要显示的温度Flag:符号位num:显示次数 */void displayset(uint T,uchar Flag,uint num)/显示设置报警范围:0-99.9while(num-)if(T<100)/如果要设置的温度小于10,则第二位数码管不显示 (为了保持精度,温度是放大了10倍的)Pos1=0;Pos2=Pos3=Pos4=1; /打开第一位数码管Par=TabFlag
42、; delay(600);Par=255; /显示高低温标志Pos3=0;Pos2=Pos1=Pos4=1; /打开第三位数码管Par=TabT%1000%100/10&0xDF; delay(600);Par=255; /显示温度的个位数并加小数点Pos4=0;Pos2=Pos3=Pos1=1; /打开第四位数码管Par=TabT%1000%100%10; delay(600);Par=255;/显示温度的小数位else /如果设置温度大于10,第二位数码管也参与显示(为了保持精度,温度是放大了10倍的)Pos1=0;Pos2=Pos3=Pos4=1;/打开第一位数码管Par=Tab
43、Flag; delay(600);Par=255;/显示高低温标志Pos2=0;Pos1=Pos3=Pos4=1;/打开第二位数码管Par=TabT/100; delay(600);Par=255;/显示温度的十位数Pos3=0;Pos2=Pos1=Pos4=1;/打开第三位数码管Par=TabT%100/10&0xDF; delay(600);Par=255; /显示温度的个位数并加小数点Pos4=0;Pos2=Pos3=Pos1=1;/打开第四位数码管Par=TabT%100%10; delay(600);Par=255;/显示温度的小数位void eeprom(uint datu
44、p,uint datlow) /写入报警阀值到EEPROMIapEraseSector(0x2000); /擦除0x2000扇区的内容IapProgramuchar(0x2002,datup/256);/在0x2002地址上写入报警上限温度的十位数IapProgramuchar(0x2003,datup%256);/在0x2003地址上写入报警上限温度的个位数IapProgramuchar(0x2004,datlow/256);/在0x2004地址上写入报警下限温度的十位数IapProgramuchar(0x2005,datlow%256);/在0x2005地址上写入报警下限温度的个位数voi
45、d delay_main(uint t) /设置函数uint time,num;while(t-)if(Set=0)Beep=1; /停止报警while(Set=0) /等待按键释放displayset(Up_Temp,18,5); /显示高温报警阀值while(1)displayset(Up_Temp,18,2);/显示报警上限温度阀值while(Up=0)Up_Temp+=1; /报警上限温度增加0.1if(Up_Temp>999) /如果设置上限温度大于99.9,就重新循环回0.0Up_Temp=0;time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复
46、if(time>50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num>30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Up_Temp,18,num);/显示高温报警阀值time=0;while(Down=0)if(Up_Temp=0) /如果设置上限温度为0,就重新循
47、环回99.9Up_Temp=1000;Up_Temp-=1; /报警下限温度减小0.1time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(time>50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num>30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复di
48、splayset(Up_Temp,18,num);/显示高温报警阀值time=0;if(Set=0) /再次按下设置键,则跳出报警上限温度的设置break;while(Set=0) /等待按键释放displayset(Low_Temp,19,5); /显示报警下限温度阀值while(1)displayset(Low_Temp,19,2); /显示报警下限温度阀值while(Up=0)Low_Temp+=1; /报警上限温度增加0.1if(Low_Temp>999) /如果设置上限温度大于99.9,就重新循环回0.0Low_Temp=0;time+=10; /这里来调整按键方式,按着不放的
49、话调整速度越来越快,松手后恢复if(time>50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num>30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Low_Temp,19,num); /显示低温报警阀值time=0;while(Down=0)if(Low_Temp=0
50、) /如果设置上限温度为0,就重新循环回99.9Low_Temp=1000;Low_Temp-=1; /报警下限温度减小0.1time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(time>50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num>30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Low_Temp,19,num);/显示低温报警阀值time=0;if(Set=0) /再次按下设置键,则跳出报警下限温度的设置break;while(Set=0) /等待按键释放displayset(Low_Temp,19,5); /显示低温报警阀值eeprom(Up_Temp,Low_Temp); /写入报警阀值到EEPROM/*T:要显示的温度Flag:符号位num:显示次数 */void display(uint T,uchar Flag,ui
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林师范大学《土壤地理学》2021-2022学年第一学期期末试卷
- 吉林师范大学《教学系统化设计》2021-2022学年第一学期期末试卷
- 双捷中学校园安全信访维稳工作预案
- 幼儿园紧急事件处理制度
- 校园文化活动期间餐饮配送方案
- 食品安全双重预防体系制度探讨
- 吉林大学《肿瘤康复学》2021-2022学年第一学期期末试卷
- 乐山公墓市场调研方案
- 智能办公家具采购实施方案
- 医院管理提升措施方案
- 普宁市北部中心水厂榕江取水工程环境影响报告书
- 不良资产项目律师法律尽调报告(模板)
- 接交车辆检查表-原版
- 剪辑师职业生涯规划与管理
- 水稻栽培技术-水稻常规栽培技术
- 四风整改台账清单
- 标准报价单模板(二)
- 【期中】第1-4单元易错题专项攻略-数学四年级上册苏教版(含答案)
- 《mc入门教程》课件
- 福建省厦门市第一中学2023-2024学年七年级上学期期中数学试卷
- 医院病房超市经营管理服务方案
评论
0/150
提交评论