基于51单片机的温度自动控制系统设计研究_毕业设计论文(34页).doc

上传人:1595****071 文档编号:37054153 上传时间:2022-08-29 格式:DOC 页数:34 大小:929.50KB
返回 下载 相关 举报
基于51单片机的温度自动控制系统设计研究_毕业设计论文(34页).doc_第1页
第1页 / 共34页
基于51单片机的温度自动控制系统设计研究_毕业设计论文(34页).doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《基于51单片机的温度自动控制系统设计研究_毕业设计论文(34页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的温度自动控制系统设计研究_毕业设计论文(34页).doc(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-基于51单片机的温度自动控制系统设计研究_毕业设计论文-第 29 页 本 科 毕 业 设 计(论文)题目 基于51单片机的温度自动控制 系统设计研究 院(系部) 电气与自动化工程系 专业名称 通信工程 摘 要基于单片机的温度控制器,采用DS18B20温度传感器采集所要测量的当前环境的温度,通过单片机进行处理并加以显示。单片机采用的是AT89S52系列单片机。温度传感器DS18B20具有12位精度,可较为精确的测量当前环境的温度。该温度控制器具有设定温度上、下限的功能,通过控制继电器控制外部降温、加热装置,从而实现环境温度处于设定温度上、下限范围内。该温度控制器的显示部分采用LED数码管显示,

2、具有显示当先温度、温度上、下限值的功能。按键部分采用四个按键,每个按键的功能不同,通过按键的配合使用,可以实现切换LED数码管显示,调节温度上下限的功能。该系统结构简单,精度高、量程宽、灵敏度高、体积小、功耗低,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:单片机 AT89S52 DS18B20 数码管 继电器AbstractTemperature controller based on MCU, using the current environment to measure the temperature of sensor DS18B20, processin

3、g and display by MCU. The microcontroller is series of MCU AT89S52. The temperature of sensor DS18B20, with 12 accuracy, can accurately measure the current environment temperature.The temperature controller can set temperature, and have the lower limit function,control the relay to control the exter

4、nal cooling, heate device. So as to realize the environmental temperature at the setting temperature, and lower bounds.The temperature controller with the display parts, adopts LED digital tube display. Displaying the current temperature, lower value. The part of the four keys, with defferent functi

5、on , can realize the switch LED digital tube display, adjust the temperature upper limition .This system is simple, high precision, wide range, high sensitivity, small size, low power consumption, strong anti-jamming capability, suitable for harsh environments on-site temperature measurement, has a

6、broad application prospection.Key words: MCU AT89S52 DS18B20 digitron relay目 录前 言11 系统方案设计21.1 方案论证21.1.1 方案一21.1.2 方案二21.2 系统设计框图32 系统硬件设计42.1 单片机选择42.1.1 AT89S52 特点42.1.2 AT89S52 功能描述52.1.3 AT89S52 引脚功能52.2 温度传感器的选择62.2.1 DS18B20简单介绍62.2.2 DS18B20性能特点72.2.3 DS18B20内部结构72.2.4 DS18B20测温原理82.2.5 DS18

7、B20工作时序102.3 硬件电路设计112.3.1 测温电路112.3.2 显示电路132.3.3 报警电路152.3.4 降温、加热电路152.3.5 其他电路163 系统软件设计183.1软件设计184 系统调试204.1 软件调试204.2 元器件调试205 总 结22致 谢23参考文献24附录一25附录二34前 言温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。例如:在农业温室大棚生产、冶金工业、化工生产、电力工程、造纸行业、机械制作、和食品加工等诸多领域中,人们都需要对各类环境、加热炉、热处理炉、反应炉和锅炉中的温

8、度进行检测和控制。采用单片机对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业中经常遇到的问题。基于单片机的温度控制系统可以实现温度的显示、预警等功能,对于工业生产效率的提高,可以起到很大的作用。科学技术是第一生产力,对温度实现比较系统化的检测控制使人们的生产节奏有一个良好的循环。从而将节约更多的人力物力,降低生产过程中可以省略的一些繁琐的细节。一个简单有效地控制系统可以在一定程度上使工厂的生产效益上一个台阶,只要运用得当,就有可能做到。本设计是基于当前社会发展的良好形势,经

9、过慎重考虑后决定的,也是对自己所学知识的一次检验,期望能够获得温故而知新的效果。只有不断地学习才能不断的进步。结合社会的实际情况,然后根据自己的特点,更好的去了解自己,充分挖掘自己的潜力。学以致用是老师要求我们的努力方向,现今社会要求我们对知识的应用越来越熟练,只有靠自己锲而不舍的奋发图强,才能争取自己的一片天地。1 系统方案设计1.1 方案论证由于本方案是基于温度传感器的温度自动控制。可以采用两种方案:一种是使用热敏电阻之类的元件;另一种是使用数字温度传感器1.1.1 方案一选用热敏电阻电路,测温部分选用热敏电阻,将随被测温度变化的电压或电流采样,进行A/D转换后就可以用单片机进行数据处理,

10、实现温度显示。这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。1.1.2 方案二考虑到单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,体积小、构成的系统结构简单,它可直接将温度转化成数字信号给单片机处理。另外DS18B20具有3引脚的小体积封装,测温范围为-55+125摄氏度,测温分辨率可达0.0625摄氏度,其测量范围与精度都能符合设计要求。以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、范围等方面都能很好地达到要求,故本设计采用方案二。1.2 系统设计框图

11、本方案设计的系统由单片机系统、数字温度传感器、数码管显示模块、按键控制模块、温度报警模块、温度控制模块组成,其总体架构如图1-1所示显示电路驱动电路单片机测温电路报警电路电路时钟电路加热电路电路按键输入电路降温电路复位电路图1-1 系统框图2 系统硬件设计2.1 单片机选择AT89S52作为温度测试系统的核心器件。该器件是INTEL公司生产的MCS-51系列单片机中的基础产品,采用可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS-51产品。单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,单片机如图2-1所示。2.1.1 AT

12、89S52 特点与MCS-51 兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0MHz-33MHz;三级程序存储器锁定;128*8位内部RAM;32位可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。 图2-1 AT89S52单片机2.1.2 AT89S52 功能描述AT89S52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除、快速写入程序的存储器,能承复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼

13、容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能 郭天祥.51单片机C语言教程-入门、提高、开发、拓展全攻略M.北京:电子工业出版社,2009.。AT89S52可构成真正的单片机最小应用系统,缩小系统休积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O全部提供给用户。可用5V电压编程,而且擦写时间仅击10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的需求,可以直接在5V电压下进行编程,不需要12V电源。改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范

14、围宽,全静态工作,工作频率宽在0MHz-33MHz之间,比8751/87C51等51系列的6MHz-12MHz更具有灵活性。 AT89S52芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密于段,能完全保证程序或系统不被仿制。2.1.3 AT89S52 引脚功能AT89S52 单片机 P3 口第二功能如图2-2所示 蔡美琴、毛敏等.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,2009.。图2-2 P3口的第二功能2.2 温度传感器的选择由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用D

15、ALLAS公司的数字温度传感器DS18B20作为测温元件。2.2.1 DS18B20简单介绍DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式

16、产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。2.2.2 DS18B20性能特点(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内

17、(4)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电(5)测温范围55125,在-10+85时精度为0.5(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力2.2.3 DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警

18、触发器TH和TL、配置寄存器。图2-3为DS18B20的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分,如图2-3所示。64位ROM和单线接口存储器与控制逻辑高速缓存温度控制器温度控制器温度控制器温度控制器温度控制器图2-3 DS18B20内部结构框图2.2.4 DS18B20测温原理DS18B20的测温原理如图2-4所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶

19、振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止

20、温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。如图2-4所示。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。斜率累加器比较预置温度寄存器计数器=0预置低温度系数振荡器计数器2=0高温度系数振荡器Tx停止12加1图2-4 DS18B2

21、0测温原理图2.2.5 DS18B20工作时序图2-5为时序图中各总线状态。总线控制器低电平DS18B20低电平电阻上拉总线控制器和DS18B20同为低电平 图2-5工作时序图()初始化(时序图见图2-6)。图2-6 初始化时序图 先将数据线置高电平1。 延时(改时间要求不是很严格,但是要尽可能短一点)。 数据线拉到低电平0. 延时750us(改时间范围可以在480-960us)。 数据线拉到高电平1。 延时等待。如果初始化成功则在15-60ms 内产生一个有DS18B20 返回的低电平0,据该状态可以确定它的存在。但是应注意不能无限的等待,不然会使程序进入死循环,所以要进行超时判断。 若CP

22、U 读到数据线上的低电平0 后,还要进行延时,其延时的时间从发出高电平算起(第5 步的时间算起)最少要480us。 将数据线再次拉到高电平1 后结束。()DS18B20 写数据 数据线先置低电平0。 延时确定的时间为15us。 按从低位到高位的顺序发送数据(一次只发送一位)。 延时时间为45us。 将数据线拉到高电平1。 重复-步骤,直到发送完整个字节。 最后将数据线拉到高电平1。()DS18B20 读数据 将数据线拉到高电平1。 延时2us。 将数据线拉低到0。 延时6us。 将数据线拉高到1。 延时4us。 读数据线的状态得到一个状态位,并进行数据处理。 延时30us。 重复-步骤,直到读

23、完一个字节。2.3 硬件电路设计2.3.1 测温电路本设计采用DS18B20温度传感器作为温度采集电路核心部件。DS18B20是美国DALLAS 半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。目前常用的单片机与外设之间进行数据传输的串行总线主要有IC 总线以同步串行二线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行三线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI 总线是以异步方式进行通信的(一条数据输入线,一条数据输出线)。这些总线至少需

24、要两条或两条以上的信号线,而DS18B20使用的单总线技术与上述总线不同,它采用单条信号线,既可传输时钟,又可传输数据,而且数据传输是双向的,因而单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,他们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有从机设备时,系统则按多节点系统操作。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放出总线,而让其他设备使用总线。单总线要求外接4.7k的上拉电阻。本设计系统的

25、温度采集电路图如图2-7所示 闫胜利.Altium Designer实用宝典-原理图与PCB设计M. 北京,电子工业出版社,2007.。图2-7 测温电路由图可以看出,DS18B20 和单片机的连接非常简单,单片机只需要一个I/O 口就可以控制DS18B20。这个图的接法是单片机与一个DS18B20 通信,如果要控制多个DS18B20 进行温度采集,只要将所有的DS18B20 的I/O 口全部连在一起就可以了。在具体操作时,通过读取每个DS18B20 内部芯片的序列号来识别。本系统仅操作一个DS18B20 进行温度采集。2.3.2 显示电路单片机应用系统中,通常都需要进行人机对话,这包括人对应

26、用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。LED 显示电路由段驱动电路和位驱动电路组成。由于单片机的并行口不能驱动LED 显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。LED 显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED 驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动

27、能力 朱清惠等.Prnteus教程:电子线路设计制版与仿真M.北京:清华大学出版社,2008.。数码管位选代码如图2-8所示。管脚数显示dpgfedcba十六进制数0110000000C0H1111110010F9H2101001000A4H3101100000B0H41001001099H51001001092H61000001082H7111110000F8H81000000080H91001000090H图2-8 数码管位选代码2.3.3 报警电路当温度超过设定温度时,实现声光报警,蜂鸣器鸣叫、二极管闪烁。蜂鸣器由单片机P37口控制,用三极管驱动,电路如图2-9所示 康华光.电子技术基础

28、一模拟部分M.北京:高等教育出版社,2008.。图2-9 报警电路2.3.4 降温、加热电路继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。当温度超过设定温度后,单片机控制继电器,继电器通过三极管驱动,但三极管由导通变为截止时,继电器绕组感生出一个较大的自感电压。它与电源电压叠加后加到控制继电器线圈的三极管上,使发射结有可能被击穿。为了消除这个感应电动势的有害影响,在继电器线圈两端反向并联抑制二极管,以吸收该电动势,保证三极管

29、的安全。降温、加热电路如图2-10所示。图2-10 降温、加热电路2.3.5 其他电路(1) 按键输入电路考虑到系统的要求,还需设计按键输入电路,基于单片机的温度控制系统工作时应具备以下功能:可以切换显示实时温度和温度上限值。可以调节温度上、下限。要实现这些功能,可以通过按键输入电路。键盘结构可分为独立式键盘和行列式键盘(矩阵式)两类,由于本系统只采用4 个按键,因此可选用独立式按键,按键采用轻触开关。这4个按键的功能分别是:调整温度上限、加1、减1,复位。如图2-11所示。图2-11 按键电路(2) 电源电路由于该系统需要稳定的5V 电源,因此设计时必须采用能满足电压,电流和稳定性要求的电源

30、。本电源采用三端集成稳压器LM7805。它仅有输入端、输出端及公共端三个引脚。其内部设有过流保护,过热保护及调整管安全保护电路。由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。图2-12为电源电路连接图 康华光.电子技术基础一数字部分M.北京:高等教育出版社,2009.。图2-12 电源电路3 系统软件设计3.1软件设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。按照软件的功能,把软件分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、

31、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。图3-1为读取数据流程图,具体代码参考附录一 铃术雅成.晶体管电路设计M.科学出版社,2010.。开始延时1545us释放总线延时45us读一位数据延时1us以上清DQ准备发送发温度读取命令DS18B20初始化N8位数据是否读完Y结束读取图3-1 数据读取流程图 谭浩强.C程序设计M.北京:清华人学出版社

32、, 2008.4 系统调试4.1 软件调试本次设计采用preteus仿真,测试采用模拟温度测试,测试结果如下。当环境温度大于38度时,蜂鸣器报警,并启动继电器,模拟降温装置启动。当环境温度小于5度时,蜂鸣器报警,并启动继电器,模拟加热装置启动。在用proteus仿真过程中出现一些问题,包括以下几个方面。(1) 数码管显示乱码,出现这种情况主要是程序错误,我用的是四位共阴数码管,而在编写程序时,却误用成了共阳数码管的代码,经改正后显示正常。(2) 降温、加热电路启动错误,在没有超过报警温度时,电路启动,超过报警温度后,却又关闭,经排查是单片机引脚是高电平,而降温加热子程序中,设置的是高电平启动。

33、设置成低电平启动时,电路工作正常。(3) 按键电路没反应,在按下设置键以及调整键时,系统没有反应。经排查后发现是按键没接地。接地后按键电路工作正常。4.2 元器件调试在系统元件的焊接中出现过很多问题,在经过逐一排查后,系统最终运行起来,其中出现的包括以下几个方面。(1) 开机后系统显示乱码,系统不起作用,经排查后发现晶振电路用错了电容,换成22pF后系统工作,但仍显示乱码。查资料后发现,由于用的是片内存储器,但EA/Vpp没有接高电平,接上高电平后数码管显示正常。(2) 系统工作不正常,温度一直显示85度,确定程序没有问题后,经排查后发现由于之前把传感器接反,导致DS18B20烧坏,重新更换后

34、问题解决,显示正常。(3) 数码管显示太暗,系统运行后发现,数码管显示的太暗,看不太清楚,故在数码管位选脚上加上拉电阻,经测试后,数码管显示正常。5 总 结此次课程设计中,难点在于DS18B20的使用,即对它的时序控制、初始化以及字节读写方法,任何一个环节出错或是时序控制不到位的话就不能得到正确的数据。一旦学会了正确的使用方法,就能感觉到它带来的便利是热电偶不能比拟的,以后再次使用的话就能很快上手了。软件设计中,把程序按功能分模块的话能提高编程效率,把问题一一解决,同时画流程图能帮助理清思路,使问题简单化。定义变量时,尽量定义局部变量,在字符型变量能达到要求的情况下就不用定义成整形变量了,以节

35、省内存空间。同时局部变量应避免与全局变量取同名,否则全局变量将被屏蔽或与局部变量相冲突而达不到设计的效果。另一方面,取变量名时也要讲究技巧,应尽量使其见名知意,同样地,写程序时加注释确是非常必要的,否则隔一段时间后,想再改进或做扩展的话就比较困难了,因为即使是自己写的程序也变得难读难懂了。在做键盘消抖时,延时的时间比较重要,一般为10ms左右,延时太短就会使按键太过灵敏,按一下就使数字跳变几次;而延时过长则可能使按键按下了却无响应,在外部定义初始化一个延时函数的入口参量则能很方便地调整延时时间,以达到比较好的效果。另外,如果对按键进行释放判断的话就能解决长时间按键导致按键重复响应的问题。总的来

36、说,自己从这次独立的毕业设计中收获了一些知识与经验,一些从书本中学之不来的东西,不是说理论无用,而这恰恰是在理论的土壤中开出的花朵,是在理论的肩膀望见的更宽广的道路!成功来之不易,自主动手动脑实践,小小的成果亦能带来硕大的喜悦。致 谢首先,我要感谢河南理工大学万方科技学院,感谢电气系对我四年的培养,让我学到了许许多多的知识,感谢各位老师在这四年里对我的关怀与照顾,在此致以我深深的谢意。本论文从选题到最后定稿成文,本校赵鸿图老师一直给予了悉心指导,赵老师那种严谨求实的作风,广博深邃的洞察力,孜孜不倦的开拓精神和敬业精神令我深受启迪和教益,谨向我的指导老师赵鸿图老师致以深深的谢意。我国古代有句成语

37、叫做“管中窥豹,略见一斑”,本文是基于单片机及温度传感器,组成温度自动控制装置。但是,由于我水平有限,在理论的描述、资料的运用等方面难免有不当、不深、不周之处,有些观点也尚欠成熟,敬请各位老师批评指正。 最后,我还要向所有曾经帮助过我的同学和朋友们致敬。你们的鼓励和帮助永远是我前进的动力。参考文献1 郭天祥.51单片机C语言教程-入门、提高、开发、拓展全攻略M.北京:电子工业出版社,2009.2 蔡美琴、毛敏等.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,2009.3 闫胜利.Altium Designer实用宝典-原理图与PCB设计M. 北京,电子工业出版社,2007.4 朱

38、清惠等.Prnteus教程:电子线路设计制版与仿真M.北京:清华大学出版社,2008.5 康华光.电子技术基础一模拟部分M.北京:高等教育出版社,2008.6 康华光.电子技术基础一数字部分M.北京:高等教育出版社,2009.7 铃术雅成.晶体管电路设计M.科学出版社,2010.8 谭浩强.C程序设计M.北京:清华人学出版社, 2008.附录一 源程序:程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围099.9摄氏度 可设置上限报警温度、下限报警温度 即高于上限值或者低于下限值时蜂鸣器报警,并启动降温、加热电路 默认上限报警温度为38、默认下限报警温度为5

39、 报警值可设置范围:最低上限报警值等于当前下限报警值 最高下限报警值等于当前上限报警值 将下限报警值调为0时为关闭下限报警功能 #include #include DS18B20.h #define uint unsigned int#define uchar unsigned char /宏定义#define SET P3_1 /定义调整键#define DEC P3_2 /定义减少键#define ADD P3_3 /定义增加键#define BEEP P3_7 /定义蜂鸣器#define Cool P3_5 /定义降温#define Hot P3_0 /定义加热bit shanshuo_

40、st; /闪烁间隔标志bit beep_st; /蜂鸣器间隔标志sbit DIAN = P27; /小数点uchar x=0; /计数器signed char m; /温度值全局变量uchar n; /温度值全局变量uchar set_st=0; /状态标志signed char shangxian=38; /上限报警温度,默认值为38signed char xiaxian=5; /下限报警温度,默认值为5uchar code LEDData=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;uchar code ALARMData=0x3f

41、,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;/*延时子程序*/void Delay(uint num) while( -num );/*初始化定时器0*/void InitTimer(void) TMOD=0x1; TH0=0x3c; TL0=0xb0; /50ms(晶振12M)/*定时器0中断服务程序*/void timer0(void) interrupt 1 TH0=0x3c; TL0=0xb0; x+;/*外部中断0服务程序*/void int0(void) interrupt 0 EX0=0; /关外部中断0 if(DEC=0&set

42、_st=1) shangxian-; if(shangxianxiaxian)shangxian=xiaxian; else if(DEC=0&set_st=2) xiaxian-; if(xiaxian99)shangxian=99; else if(ADD=0&set_st=2) xiaxian+; if(xiaxianshangxian)xiaxian=shangxian;/*读取温度*/void check_wendu(void) uint a,b,c; c=ReadTemperature()-5; /获取温度值并减去DS18B20的温漂误差 a=c/100; /计算得到十位数字 b=

43、c/10-a*10; /计算得到个位数字 m=c/10; /计算得到整数位 n=c-a*100-b*10; /计算得到小数位 if(m99)m=99;n=9; /设置温度显示上限 /*显示开机初始化等待画面*/Disp_init() P0 = 0xf7; Delay(200); P0 = 0xfb; Delay(200); P0 = 0xfd; Delay(200); P0 = 0xfe; Delay(200); P2 = 0xbf; /显示- P0 = 0xff; /关闭显示/*显示温度子程序*/Disp_Temperature() /显示温度 P0 = 0xf7; P2 =LEDDatan; /显示个位 Delay(300); P0 = 0xfb; P2 =LEDDatam%10; /显示十位 DIAN = 1; /显示小数点 Delay(300); P0 = 0xfd; P2 =LEDDatam/10; /显示百位 Delay(300); P0 = 0xff; /关闭显示/*显示报警温度子程序*/Disp_alarm(uchar baojing) P0 = 0xf7; P2 =ALARMDatabaojing%10; /显示十位 Delay(200); P0 =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com