基于单片机的果园环境温度检测及报警系统

上传人:陈** 文档编号:102175625 上传时间:2022-06-06 格式:DOCX 页数:42 大小:2.16MB
收藏 版权申诉 举报 下载
基于单片机的果园环境温度检测及报警系统_第1页
第1页 / 共42页
基于单片机的果园环境温度检测及报警系统_第2页
第2页 / 共42页
基于单片机的果园环境温度检测及报警系统_第3页
第3页 / 共42页
资源描述:

《基于单片机的果园环境温度检测及报警系统》由会员分享,可在线阅读,更多相关《基于单片机的果园环境温度检测及报警系统(42页珍藏版)》请在装配图网上搜索。

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. 北京: 北京航空航天大学出版社, 2004.7

34、 杨刚, 周群. 电子系统设计与实践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在单片机控制系统仿真中的应用J.

37、福建电脑, 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#include /加入温度传感器头文件#include/加入掉电保存头文件#define Par P2 /数码管段sbit Set = P14; /设置按钮sbit Up = P36; /上调按钮sbit Down= P32; /下调按钮sbit Beep= P01; /蜂鸣器定义sbit Pos1=P04; /数码管位1sbit Pos2=P03; /数码管位2sbit Pos3=P

40、02; /数码管位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,0xf7,0x64,0x3d,0x35; /9 A B C D E F $ - H L (L-) 段码/E D H C G A

41、F Buint temp;/读取温度变量(为了保持精度,温度是放大了10倍的)/*T:要显示的温度Flag:符号位num:显示次数 */void displayset(uint T,uchar Flag,uint num)/显示设置报警范围:0-99.9while(num-)if(T999) /如果设置上限温度大于99.9,就重新循环回0.0Up_Temp=0;time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(time50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,

42、松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Up_Temp,18,num);/显示高温报警阀值time=0;while(Down=0)if(Up_Temp=0) /如果设置上限温度为0,就重新循环回99.9Up_Temp=1000;Up_Temp-=1; /报警下限温度减小0.1time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复i

43、f(time50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Up_Temp,18,num);/显示高温报警阀值time=0;if(Set=0) /再次按下设置键,则跳出报警上限温度的设置break;while(Set=0) /等

44、待按键释放displayset(Low_Temp,19,5); /显示报警下限温度阀值while(1)displayset(Low_Temp,19,2); /显示报警下限温度阀值while(Up=0)Low_Temp+=1; /报警上限温度增加0.1if(Low_Temp999) /如果设置上限温度大于99.9,就重新循环回0.0Low_Temp=0;time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(time50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复

45、num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Low_Temp,19,num); /显示低温报警阀值time=0;while(Down=0)if(Low_Temp=0) /如果设置上限温度为0,就重新循环回99.9Low_Temp=1000;Low_Temp-=1; /报警下限温度减小0.1time+=10; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复i

46、f(time50) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复time=49; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=50-time; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复if(num30) /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复num=30; /这里来调整按键方式,按着不放的话调整速度越来越快,松手后恢复displayset(Low_Temp,19,num);/显示低温报警阀值time=0;if(Set=0) /再次按下设置键,则跳出报警下限温度的设置break;while(Set=0) /

47、等待按键释放displayset(Low_Temp,19,5); /显示低温报警阀值eeprom(Up_Temp,Low_Temp); /写入报警阀值到EEPROM/*T:要显示的温度Flag:符号位num:显示次数 */void display(uint T,uchar Flag,uint num) /主显示函数while(num-) if(T999) /如果温度大于99.9,则四位数码管均用来显示Pos1=0;Pos2=Pos3=Pos4=1; /打开第一位数码管Par=TabT/1000; delay_main(60);Par=255; /显示温度的百位数Pos2=0;Pos1=Pos3

48、=Pos4=1; /打开第二位数码管Par=TabT%1000/100; delay_main(60);Par=255; /显示温度的十位数Pos3=0;Pos2=Pos1=Pos4=1; /打开第三位数码管Par=TabT%1000%100/10&0xDF; delay(60);Par=255; /显示温度的个位数并加小数点Pos4=0;Pos2=Pos3=Pos1=1; /打开第四位数码管Par=TabT%1000%100%10; delay_main(60);Par=255;/显示温度的小数位else /如果温度小于100if(T100)/如果温度小于10Pos2=0;Pos1=Pos3

49、=Pos4=1;/打开第二位数码管Par=TabFlag; delay_main(60);Par=255;/显示温度的符号位Pos3=0;Pos2=Pos1=Pos4=1;/打开第三位数码管Par=TabT%100/10&0xDF; delay_main(60);Par=255; /显示温度的个位数并加小数点Pos4=0;Pos2=Pos3=Pos1=1;/打开第四位数码管Par=TabT%100%10; delay_main(60);Par=255;/显示温度的小数位else /如果温度小于100,大于10Pos1=0;Pos2=Pos3=Pos4=1;/打开第一位数码管Par=TabFla

50、g; delay_main(60);Par=255;/显示温度的符号位Pos2=0;Pos1=Pos3=Pos4=1;/打开第二位数码管Par=TabT/100; delay_main(60);Par=255;/显示温度的十位数Pos3=0;Pos2=Pos1=Pos4=1;/打开第三位数码管Par=TabT%100/10&0xDF; delay_main(60);Par=255; /显示温度的个位数并加小数点Pos4=0;Pos2=Pos3=Pos1=1;/打开第四位数码管Par=TabT%100%10; delay_main(60);Par=255;/显示温度的小数位void arm()/

51、报警函数Beep=0;/打开蜂鸣器display(temp,T_flag,90);/延时Beep=1;/关闭蜂鸣器display(temp,T_flag,2); /延时void main()/主函数uchar i;Up_Temp=IapReaduchar(0x2002)*256+IapReaduchar(0x2003); /读取掉电前温度上限Low_Temp=IapReaduchar(0x2004)*256+IapReaduchar(0x2005);/读取掉电前温度下限for(i=0;i=Up_Temp|temp=Low_Temp)/检查报警arm();传感器头文件#ifndef _DS18B20_H_#define _DS18B20_H_#define uchar unsigned char /*宏定义 字符型数据 整型数据 */#define uint unsigned intuint DD;uchar T_flag; /温度标志位,正温度16 负温度17 ,增加18,减小19sbit DQ=P10; /

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!