基于单片机的空调温度控制器设计 .doc

上传人:yy****2 文档编号:97585469 上传时间:2024-06-19 格式:DOC 页数:34 大小:440.50KB
返回 下载 相关 举报
基于单片机的空调温度控制器设计 .doc_第1页
第1页 / 共34页
基于单片机的空调温度控制器设计 .doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《基于单片机的空调温度控制器设计 .doc》由会员分享,可在线阅读,更多相关《基于单片机的空调温度控制器设计 .doc(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于单片机的空调温度控制器设计 姓名:余学同 学号:B 日期:2015.12.22 摘 要在自动控制领域中,温度检测与控制占有很重要地位。温度测控系统在工农业生产、科学研究和在人们的生活领域,也得到了广泛应用。因此,温度传感器的应用数量居各种传感器之首。目前,温度传感器正从模拟式向数字集成式方向飞速发展。本论文概述了温控器的发展及基本原理,介绍了温度传感器的原理及特性。分析了各种温度传感器的优劣。在此基础上描述了系统研制的理论基础,温度采集等部分的电路设计,并对测温系统的一些主要参数进行了讨论。同时在介绍温度控制系统功能的基础上,提出了系统的总体构成。针对测温系统温度采集、接收、处理、显示部分

2、的总体设计方案进行了论证,进一步介绍了单片机在系统中的应用,分析了系统各部分的硬件及软件实现。利用Proteus7.1进行了可行性的仿真,利用Protel DXP 2004进行了电路原理图的绘制,和PCB的制作。试验证明,这套温度控制器具有较强的可操作性,很好的可拓展性,控制简单方便。本文详细介绍了一种以单片机89C52为核心的空调温度控制系统。空调温度控制系统的设计原理以达到更优的系统性能为目的,由单片机完成数据的采集,处理,显示。该系统以在普通环境下测量到的温度值为确定条件,利用单片机控制空调制冷和制暖来达到所需温度。课题初步计划是在普通环境下的测温,系统的设计及器件的选择也正是在这个基础

3、上进行的。关键词:DS18B20 单片机 温度控制 LED显示目 录第一章 前言第二章 系统方案的确定 2.1 温度传感器产品分类与选择 2.1.1 常用的测温方法 2.1.2 温度传感器产品分类 2.1.3 温度传感器的选择 2.2 总体方案的确定第三章 系统电路总体设计 3.1 系统工作原理 3.2 系统硬件设计 3.2.1 温度采集电路 3.2.2 信号处理与控制电路 3.2.3 温度显示电路 3.2.4 温度设置电路 3.2.5 控制指示电路 3.3系统软件设计 3.3.1 DS18B20数据通信概述 3.3.2 系统流程图设计总 结参 考 文 献第一章 前言现代信息技术的三大基础是信

4、息采集控制(即温度控制器技术)、信息传输(通信技术)和信息处理(计算机技术)。温度控制器属于信息技术的前沿尖端产品,尤其是温度控制器被广泛用于工农业生产、科学研究和生活等领域,数量日渐上升。近百年来,温控器的发展大致经历了以下两个阶段:(1)模拟,集成温度控制器;(2)智能数码温控器。目前,国际上新型温控器正从模拟式向数字式,由集成化向智能化,网络化的方向发展。温度控制器是一种温度控制装置,它根据用户所需温度与设定温度之差值来控制中央空调末端之水阀(风阀)及风机,从而达到改变用户所需温度的目的。实现以上目的的方法理论上有很多,但目前业界主要有机械式温度控制器及智能电子式两大系列。 普通风机盘管

5、空调温控器基本上是一个独立的闭环温度调节系统,主要由温度传感器、双位控制器、温度设定机构、手动三速开关和冷热切换装置组成。其控制原理是空调温控器根据温度传感器测得的室温与设定值的比较结果发生双位控制信号,控制冷热水循环管路电动水阀(两通阀或三通阀)的开关,即用切断和打开盘管内水流循环的方式,调节送风温度(供冷量)。 第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为泼档式机械开关。这类空调温控器产品普遍存在“温度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。 第二代空调温控器为电子

6、式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问题。 目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程。第二章 系统方案的确定2.1 温度传感器产品分类与选择温度是日常生活中经常遇到的一个物理量,它也是科研和生产中最常见、最基本的产量

7、之一。在很多场合都需要对温度进行测控,而温度测控离不开温度传感器,因此,掌握正确的测温方法及温度传感器的使用方法极为重要。2.1.1 常用的测温方法 物体受热后温度就要升高,任何两个温度不同的物体相接触都必然产生热交换,直到两者的温度达到平衡为止。据此,可以选择某种温度传感器与被测物体接触进行温度测量,这种方法称为接触式测温。接触式测温常用于较低温度的测量。此外,物体受热后温度升高的同时还伴有热辐射,因此,可利用温度传感器接收被测物体在不同温度下辐射能量的不同来测量温度,这种测温方法称为非接触式测温。非接触式测温常用于高温测量。2.1.2 温度传感器产品分类目前,温度传感器没有统一的分类方法。

8、按输出量分类有模拟式温度传感器和数字式温度传感器。按测温方式分类有接触式温度传感器和非接触式温度传感器。按类型分类有分立式温度传感器(含敏感元件)、模拟集成式温度传感器和智能温度传感器(即数字温度传感器)。模拟式温度传感器输出的是随温度变化的模拟量信号。其特点是输出响应速度较快和MPU(微处理器)接口较复杂。数字式温度传感器输出的是随温度变化的数字量,同模拟输出相比,它输出响应较慢,但容易与MPU接口。下面对工程中常用的温度传感器做简单介绍。1.热敏电阻式温度传感器电阻式温度传感器分为热电阻式温度传感器和热敏电阻温度传感器,他们的特点是自身的电阻值随温度而变化。热敏电阻式利用半导体材料制成的敏

9、感组件,通常所用的热敏电阻温度传感器都是具有负温度系数的热敏电阻,它的电阻率受温度的影响很大,而且随温度的升高而减少,简称NTC。其优点是灵敏度高,体积小,寿命长,工作稳定,易于实现远距离;缺点是互换性差,非线性严重。 2.热电阻式温度传感器利用热电阻温度系数随温度变化的特性而制成的温度传感器。称为热电阻温度传感器。对于大多数金属导体,其电阻值都具有随温度升高而增大的特性。由于纯金属的温度系数比合金的高,因此均采用纯金属作为热电阻组件。常用的金属导体材料有铂、铜、铁和镍。 3.热电偶式温度传感器 热电偶是一种传统的温度传感器,其测温范围一般为-50到+1600,最高可达+2800,并且有较高的

10、测量精度。另外,热电偶产品已实现标准化、系列化,使用时易于选择,可方便地用计算机做线性补偿,因此,至今在测温领域内仍被广泛使用。它的理论基础是建立在热电效应上,将热能转化为电能。 4.模拟集成温度传感器 集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成传感器。模拟集成温度传感器是在20世纪80年代问世的。它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC,它属于最简单的一种集成温度传感器。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准。外围

11、电路简单,它是目前在国内外应用较为普遍的一种集成传感器。 5.智能温度传感器 智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。智能温度传感器是微电子技术、计算机技术和自动测试技术的结晶,它也是集成温度传感器领域中最具活力和发展前途的一种新产品。目前,行许多著名的集成电路生产已开发出上百种智能温度传感器产品。 智能温度传感器具有以下三个显著特点:第一,能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);第二,能以最简方式构成高性价比、多功能的智能化温度测控系统;第三,它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。智能温度传感器内部都

12、包含温度传感器、A/D传感器、存储器(或寄存器)和接口电路。有的产品还带多路控制器、中央控制器(CPU)、随机存取储存器(RAM)和只读存储器(ROM)。2.1.3 温度传感器的选择在介绍温度传感器的选择原则之前,首先介绍在测控系统中选择传感器的总原则,本原则适用于各种传感器的选择。1.选择传感器的总原则现代传感器在原理和结构上千差万别,如何根据具体的测控目的、测控对象以及测控环境合理地选择传感器,是单片机测控系统首先要解决的温度。当传感器选定之后,与之相配套的测控电路也就可以确定了。测控结果的成败,在很大程度取决于传感器的选择是否合理。作为单片机测控系统前向通道的关键部件,在选择传感器时应考

13、虑一下几个方面:(1)根据测控对象与测控环境确定传感器的类型首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选择,哪一种原理的传感器更为合适,则需要根据被测量对象的特点和传感器的使用条件综合考虑一下一些具体问题:1)传感器的量程;2)被测位置对传感器体积的要求;3)测量方式为接触式还是非接触式;4)传感器信号的引出是有线还是无线;5)是购买传感器还是自行研制传感器以及价格因素等。 在综合考虑上述因素之后就能确定选择何种类型的传感器,然后再考虑传感器的具体性能指标。(2)灵敏度的选择通常情况下,在传感器的线性范围内,希望传感

14、器的灵敏度越高越好。(3)频率响应特性 传感器的频率响应特性决定了被测量的频率范围,传感器的频率响应好,可测的信号频率范围就宽,传感器的输出信号必须在允许的频率范围内保持不失真,实际上传感器的响应总有一定得延迟,希望延迟时间越来越好。(4)线性范围 传感器的线形范围是指输出信号与输入量成正比的范围。从理论上讲,在此范围内灵敏度应保持定值。传感器的线性范围越宽,其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定之后首先要看其量程是否满足要求。(5)稳定性 传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用

15、环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。(6)精度的选择精度是传感器的一个重要的性能指标,它是关系到整个测控系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要能满足整个测控系统的精度要求就可以了,不必选得太高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。2.温度传感器的选择温度传感器技术被广泛应用于消费类电子产品、玩具、家用电子产品、工业测控系统以及个人计算机应用中。传统上分立式温度传感器是最常用的温度传感器元件,而集成温度传感器特点是测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距

16、离测温、控温,不需要进行非线性校准,外围电路简单,它是目前在国内外应用最为普遍的一种温度传感器。综上所述,不同的传感器具有不同的应用场合,由于在温度测控系统中,传感器是前向通道的关键部件,因此选择合适的传感器是非常重要的。选择的原则要考虑温度范围、温控精度、测温场合、价格等几方面的因素。2.2 总体方案的确定考虑到该制冷控制系统功能比较少,由单片机控制即可实现。而89C52单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好,故本系统选择采用89C52单片机。在温度采集方面,采用单线数字温度传感器DS18B20进行数据采集。DSB18B20S数字温度计提供9到12位

17、温度读数,指示器件的温度信息经过单线接口送入DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线和地,读写和完成温度变换所需的电源可以由数据线本身提供,甚至不需要外部电源。而总体方案和系统电路图方面基本上和热敏式传感器相同,只在数据采集方面有所差别。具体电路图如图1所示。根据选择传感器的原则,考虑到模拟量输出传感器会带来许多不便,具体体现在接线多、信号处理复杂等,在硬件实现方面比较困难。而且在上面也已经提及,热敏电阻式温度传感器互换性差,非线性严重。而数字温度传感器DS18B20接线简单,数字输出量能直接作为单片机的输入数据, 同时考虑到只是在普通环境下测量,无论在灵敏度、线性范

18、围、稳定性,还是在精度方面,DS18B20的强大功能已足够满足设计需要。但是DS18B20也有缺点,就是软件实施方面比较复杂,但相对于模拟量输出的硬件实现方面来说会简单很多。在本次设计中,温度数据采集用到的传感器是DS18B20。图1 数字传感器式温度控制器第三章 系统电路总体设计3.1 系统工作原理该空调控制系统用到89C52单片机作为系统的CPU进行控制控制,由数字传感器DS18B20进行数据采集,89C52对采集到的数据进行处理,得到各种信号。而这些信号将分别作为LED数码管显示的信号输入和启动制冷设备、电暖设备的输入。同时将利用单片机的其它使能端口实现系统的复位,手动调节和自动调节。3

19、.2 系统硬件设计 系统的硬件部分主要可分为温度采集电路,信号处理与控制控制,温度显示电路,温度调节电路,控制指示电路五大部分。3.2.1 温度采集电路本系统中采集温度使用的是DS18B20数字温度传感器。 DS18B20是Dallas 半导体公司生产的世界上第一片支持 “一线总线”接口的温度传感器。与之前的传感器相比,DS18B20体积更小、适用电压更宽、更经济。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20 “一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为 -55到+125,在-10到+85范围内,精度为0.5。现场温

20、度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V到5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20可以程序设定9到12位的分辨率,精度为0.5。当分辨率为12位时,转换时间为750ms。使得用户可选择更小的封装方式,更宽的电压适用范围和分辨率设定,同时用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20一般为三极管型封装,其引脚图如图4所示。这三个引脚分别为:GND电源地;QD数字信号输入/输出端;VDD外

21、接供电电源(可选5V)。图2 DS18B20引脚图在单片机89C52中,输入/输出端口分别P0、P1、P2、P3。其中P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻吧端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被电阻拉低的引脚会输出一个电流。P3端口还用于一些复用功能,其复用功能如表1所列。表1 单片机89C52-P3口的功能及在本系统中的应用端口引脚复用功能本系统接口分配P3.0RXD(串行口输入口)与手动升温按钮连接P3.1TXD(串行口输出口)与手动降温按钮连接

22、P3.2INT0(外部中断)与手动调节确认按钮连接P3.3INT1(外部中断1)与DS18B20的I/O端口通讯P3.4T0(定时器0的外部输入)与高温报警的二极管连接P3.5T1(定时器1的外部输入)与低温报警的二极管连接P3.6WR(外部数据存储器写选通)备用P3.7RD(外部数据存储器读选通)备用在该系统中,DS18B20的数字信号输入/输出端连接到89C52的P3.3中,作为89C52的数据输入。3.2.2 信号处理与控制电路信号处理与控制采用52单片机基本电路。此电路以52单片机为核心,52的具体引脚图如图3。在该系统中,要使单片机实现信号处理与控制,则要使单片机的20脚(GND)接

23、地,40脚(Vcc)和31脚(/EA)接正5V电源。18、19脚(XTAL2、XTAL1)接12MHz的晶振和两个电容,组成片内振荡电路,为单片机提供时钟脉冲。9脚(RST)接按键复位电路,提供复位信号给单片机。图3 89C52引脚图 89C52芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。两个电容通常取30pF左右,稳定频率并对震荡频率有微调作用。如图4所示。图4 晶振电路 手动复位是通过接通一按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,则通过手动复位来实现的。如图5所

24、示。图5 手动复位电路3.2.3 温度显示电路本系统中,温度显示硬件由74HC138八位二进制译十进制译码器,74HC245信号功率放大和四位一体共阴数码管构成。1. 四位一体共阴数码管四位一体共阴数码管引脚图如图6所示。它的1、4、5、7脚为位选脚,分别对应从左到右四个数码管,输入低电平选通。剩下的其他引脚为数据输入脚,此电路中数码管的8个数据引脚(a、b、c、d、e、f、g、dp)。 2. 八位二进制译十进制译码器由于要对四位一体共阴数码管提供位选信号,供其选通四个数码管,所以在系统中使用了 图6 LED数码管引脚图74HC138八位二进制译十进制译码器。其引脚图如图7所示。引脚说明:第1

25、、2、3脚A、B、C二进制输入脚。第4、5、6脚片选信号控制,只有在4、5脚为“0”,6脚为“1”时,才会被选通,输出受A、B、C信号控制。其它任何组合方式将不被选通,且Y0Y7输出全为“1”。第8脚为GND,电源地。图7第15脚为VCC,电源正极。 74HC138引脚图74HC138的1、2、3脚分别与单片机的P1.0、P1.1、P1.2脚相连,单片机的这三个管脚输出选通二进制信号,输入到74HC138译码,由74HC138的Y0至Y7脚(本电路只用了Y0、Y1、Y3)将译码十进制信号输出到四位一体共阴数码管,以达到对数码管的位选作用。译码电路如图8所示。图8 译码电路3. 信号功率放大电路

26、为了使LED能够获得足够的功率显示温度,在本系统中采用了74HC245功率放大器,把单片机处理后的温度数据经由74HC245进行功率放大后,再把它输入给LED数码管显示。74HC245引脚图如图9所示。引脚说明:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2到9脚“A”信号输入输出端,A1=B1A8=B8,A1与B1是一组,如果DIR=“1”,G=“0”则A1输入B1输出,其它类同。如果DIR=“0”G=“0”则B1输入A1输出,其它类同。第11到18脚“B”信号输入输出端,功能与“A”端一样

27、,不再赘述。图9 74HC245引脚图第19脚G使能端,若该脚为“1”,A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND,电源地。第20脚VCC,电源正极。本电路选择DIR=“1”,G=“0”则A1输入B1输出,单片机P2口输出显示8位二进制数据信号到74HC245的A1A8脚,使信号功率放大,再通过B1到B8脚输出到四位一体共阴数码管数据脚,驱动数码管显示。具体电路图如图10所示。图10 信号功率放大电路图3.2.4 温度设置电路温度调节由三个不锁按键电路实现。电路图如图11所示。按键K1一端与单片机的外部中断0(/INT0,12脚)相连,另一

28、端接地。其功能是当按键按下一次时,给单片机一个低电平,进入温度设定状态;再次按下时,则退出温度设定状态。按键K2、K3,一端接地,另一端与单片机的10脚、11脚相连,其功能是每按下一次按键,温度显示值加1或减1。图11 温度设置电路3.2.5 控制指示电路控制指示电路由两个彩灯构成,由单片机P3.4(引脚14)、P3.5(引脚15,见表1)输出控制信号,控制彩灯的亮灭。在该系统中,当温度超过26摄氏度时,单片机P3.5输出高电平,驱动高温彩灯亮,启动制冷设备。当温度低于18摄氏度时,单片机P3.4输出高电平,驱动低温彩灯亮,启动电暖设备。当不满足条件时,彩灯熄灭。3.3系统软件设计 3.3.1

29、 DS18B20数据通信概述 和DS18B20通信,其命令序列有3步:初始化、ROM命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据)。每次访问DS18B20,必须严格遵守这个命令时序,如果出现序列混乱,则单总线则单总线器件不会响应主机。这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,而必须返回至第一步。1. 初始化单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。2. ROM命令在主机检测到应答脉冲后,就可以发出ROM命令。ROM命令与

30、各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。ROM命令还允许能够检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。(1)搜索ROMF0h当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机才能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步:初始化。(2)读ROM33h(仅适合于单节点)该命令仅适用于总

31、线上只有一个从机设备,它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。如果该命令用于多节点,系统则必然发生数据冲突,因为每个从机设备都会响应该命令。(3)匹配ROM55h匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令,其他设备将处于等待复位脉冲状态。(4)跳跃ROMCCh(仅适合于单节点) 主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如,主机通过在发出跳越ROM命令后,跟随转换温度命令44h就可以同时命令总线上所有的DS18B20开始转

32、换速度,这样大大节省了主机的时间。注意:如果跳越ROM命令跟随的是读操作命令,则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。(5)报警搜索Ech 除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令,该命令允许主机设备判断哪些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。3. 功能命令在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20的某个功能命令。这些命令允许主机写入或读出DS18B20的存储器,启动温度转换以及判断从机的供电方

33、式。(1)读RAM存储器BEh 此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。 (2) 复制RAM存储器(48h) 此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。 (3)重新调出EERAMB8h 此命令把存储在EERAM中TH、TL、CONF的值重新调至RAM存储器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一接电,暂存存储器内就有有效的数据可供使用。(4)读电源B4h

34、 在此命令送至DS18B20之后最先发出的读数据时间片,器件都会给其电源方式的信号:0=强上拉电阻供电;1=电源供电。(5)写RAM存储器44h 写数据到RAM存储器,地址为第2、第3、第4字节(TH、TL、CONF)。(6)温度变换44h 此命令开始温度变换,不需要另外的数据。温度变换将被执行,接着DS18B20便保持在空闲状态。3.3.2 系统流程图设计1) 主程序模块(如图12所示)。2) DS18B20通讯模块(如图13所示)。3) 温度设置模块(如图14所示)。4) 温度显示模块(如图15所示)。5) 读取温度信号值。6) 与设定值比较,决定空调状态(制冷还是制暖)。主程序流程图如图

35、14所示。图12 主程序流程图根据上述DS18B20的通信原理,DS18B20的工作流程如图15所示。图13 DS18B20工作流程图 温度设定和温度显示流程图分别如图16和图17所示。图14 温度设置软件流程图 图15 温度显示总 结在两周的学习研究中,课题受到了老师和同学的热心关注和支持。他们对空调温度控制系统的研究开发提出了宝贵意见,并在物质和精神上给予了大力支持。在我即将结束对课题的研究时,整个系统的硬件和软件系统已初步成型,并通过了实验,这与支持我的老师和同学的关心是分不开的。通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培

36、养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。感谢我的父母,无论我在顺境还是逆境,他们始终是我最坚强的后盾,感谢他们对我多年的培养和支持。最后感谢所有曾经鼓励过我,帮助过我的人们。参 考 文 献于珍珠,赵娜,赵刚等.2007.基于51单片机的温度测量系统.单片机开发与应用.23(1-2):146-148王沫楠.2007.单片机原理及应用.北京:中国计量出版社李朝青.2008.单片机原理及接口技术(第3版).北京:北京航空航天大学出版社齐建家,胡天明.2008.基于DS18B20的数字温度设计及其应用.黑龙江工程学院学报.22

37、(2):59-62宋亚伟.2008.基于DS18B29的温度控制采集系统.机电工程技术.37(09):89-91罗平,陶冶.袁永超.2007.基于DS18B20的温度测量系统.农机化研究.(10):161-164赵佩华.2003.单片机接口技术及应用.北京:机械工业出版社曹柏荣.2003.单片机原理及其应用技术.上海:原子能出版社曹海平.2008.基于单片机和DS18B20的分布式多点温度检测系统的设计.自动化技术与应用.27(11):90-93魏英智.18B20在温度控制中的应用.煤矿机械.(3):92-93魏泽鼎.2005.单片机应用技术与实例.北京:电子工业出版系统程序代码#includ

38、e #include #define uchar unsigned char #define uint unsigned int sbit DS=P33; /定义DS18B20接口 sbit p30=P30; sbit p31=P31; sbit at=P34; /定义增温控制接口 sbit dt=P35; /定义减温控制接口 static int temp; uint cout=0; static int l_tmp; uchar flag1; uint i=0; Voiddisplay(void); code unsigned char table=0x3f,0x06,0x5b,0x4f,

39、0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x80,0x00; /共阴数码管 0-9空表 Unsigned char l_tmpdate8=0,0,0,0,0,0,0,0; /定义数组变量,并赋值1,2,3,4,5,6,7,8,就是本程序显示的八个数 int tmp(void); void tmpchange(void); oid tmpwritebyte(uchar dat); uchar tmpread(void); bit tmpreadbit(void); void dsreset(void);void delayb(uint count); void zh

40、uti(l_tmp); void delayc(unsigned int j); void add(void); void sub(void); void ISR_EX0() interrupt 0 delayc(2000); cout+; void main() /主函数 at=1; dt=1; EA=1; /首先开启总中断 EX0=1; /开启外部中断 0 IT0=1; / 设置成下降沿触发方式 while(1) tmpchange(); /温度转换 l_tmp=tmp(); zhuti(l_tmp); display(); while(cout%2!=0) display(); whil

41、e(cout%2!=0) & (p31=0) add(); while(cout%2!=0) & (p30=0) sub(); void delayc(uint j) while(-j0); void add(void) delayc(20000); l_tmp=l_tmp+10; zhuti(l_tmp); void sub(void) delayc(20000); l_tmp=l_tmp-10; zhuti(l_tmp); void zhuti(int l_tmp) l_tmpdate0=l_tmp/100; l_tmp=l_tmp%100; l_tmpdate1=l_tmp/10; l_

42、tmp=l_tmp%10; l_tmpdate2=11; l_tmpdate3=l_tmp; if(l_tmpdate01)&(l_tmpdate16)|(l_tmpdate02)&(l_tmpdate06)dt=0;else dt=1; if(l_tmpdate02)&(l_tmpdate18)|(l_tmpdate01)at=0; else at=1; void display(void) /显示 uchar i,temp; P2=0; P1=P1&0xf8; for(i=0;i0) i-; count-; void dsreset(void) /DS18B20初始化 uint i; DS=0; i=103; while(i0)i-; DS=1; i=4; while(i0)i-; bit tmpreadbit(void) / 读一位 uint i; bit dat; DS=0;i+; /小延时一下 DS=1;i+;i+; dat=DS; i=8;while(i0)i-;return (dat); 31 uchar tmpread(void) /读一个字节 uchar i,j,dat; dat=0;for(i=1;i=8;i+)

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

当前位置:首页 > 教育专区 > 成人自考

本站为文档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