基于单片机的空调控制器_第1页
基于单片机的空调控制器_第2页
基于单片机的空调控制器_第3页
基于单片机的空调控制器_第4页
基于单片机的空调控制器_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北工程大学课程设计基于单片机的空调控制器设计专业:计算机科学与技术班级:1402班组成员:尹振坤陈秀贤李晨光2设计任务错误!未定义书签3系统方案的确定错误!未定义书签3.1温度传感器产品分类与选择错误!未定义书签3.1.2温度传感器产品分类错误!未定义书签3.2总体方案的确定错误!未定义书签4系统电路总体设计错误!未定义书签4.1系统工作原理错误!未定义书签4.2系统硬件设计错误!未定义书签4.2.1温度采集电路错误!未定义书签4.2.2信号处理与控制电路错误!未定义书签4.2.3温度显示电路错误!未定义书签4.2.4温度设置电路错误!未定义书签4.2.5控制指示电路错误!未定义书签4.3系

2、统软件设计错误!未定义书签4.3.2软件程序设计错误!未定义书签5系统的调试错误!未定义书签5.1单片机89C51的调试错误!未定义书签5.2程序调试过程中遇到的问题和解决办法错误!未定义书签5.3调试结果错误!未定义书签附录错误!未定义书签2设计任务设计题目:基于单片机的空调控制器设计设计要求:1 .温度控制范围18-26C02.低于18c给出一个控制信号,启动电暖设备。3.高于26c时,给出一个控制信号,启动制冷设备。4.能手动调整和自动调整。3系统方案的确定3.1温度传感器产品分类与选择温度是日常生活中经常遇到的一个物理量,它也是科研和生产中最常见、最基本的产量之一。在很多场合都需要对温

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

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

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

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

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

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

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

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

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

12、单,它是目前在国内外应用最为普遍的一种温度传感器。综上所述,不同的传感器具有不同的应用场合,由于在温度测控系统中,传感器是前向通道的关键部件,因此选择合适的传感器是非常重要的。选择的原则要考虑温度范围、温控精度、测温场合、价格等几方面的因素。3.2总体方案的确定考虑到该制冷控制系统功能比较少,由单片机控制即可实现。而89C52单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好,故本系统选择采用89C52单片机。在温度采集方面,在设计开始时就准备了两种方案:一种是采用热敏电阻式传感器和ADC0809专换器进行数据采集。总体方案示意图如图1所示:具体方案如下:温度传感

13、器的模拟信号转换为数字信号后由P0口输入。ADC080的P3.0启动转换,由P3.1控制输出。信号传输采用无条件输入方式,启动A/D转换后延时100微妙从P0口采集数据。时间延迟由T0实现。具体系统电路图如图2所示:供9到12位温度读数,指示器件的温度信息经过单线接口送入220V另一种是采用单线数字温度传感器DS18B20a行数据采集。DSB18B20颔字温度计提DS18B20X出,因此从中图1热敏电阻式温度控制器图2热敏电阻式温度控制器电路图央处理器到DS18B2收需连接一条线和地,读写和完成温度变换所需的电源可以由数据线本身提供,甚至不需要外部电源。而总体方案和系统电路图方面基本上和热敏式

14、传感器相同,只在数据采集方面有所差别。具体电路图如图3所示。图3数字传感器式温度控制器根据上述选择传感器的原则,考虑到模拟量输出传感器会带来许多不便,具体体现在接线多、信号处理复杂等,在硬件实现方面比较困难。而且在上面也已经提及,热敏电阻式温度传感器互换性差,非线性严重。而数字温度传感器DS18B20R线简单,数字输出量能直接作为单片机的输入数据,同时考虑到只是在普通环境下测量,无论在灵敏P2.W 股哥U口检则1P2.*ft12F? 网3F2J6RUP2.7M15F1JF1JP3 听后X3X3P3.OJ?1J5冷即MAMAPJJ&Wl11.711.7rawIIII至j+皑哈瞪1X阳 郎

15、 叩M.1M1R02MD2 阳例13HKWtP0.&AD5的 册 岭汹倒咛UHCIS啪JN.E亘*花肛19卜21宣2?fijwP3 小讯。W W谛SJYJY*SJYJY*琳同YTYTA Ai irvrvE1E2E3E1E2E3度、线性范围、稳定性,还是在精度方面,DS18B20勺强大功能已足够满足设计需要。但是DS18B20&有缺点,就是软件实施方面比较复杂,但相对于模拟量输出的硬件实现方面来说会简单很多。在本次设计中,温度数据采集用到的传感器是DS18B204系统电路总体设计4.1系统工作原理该空调控制系统用到89C52单片机作为系统的CPU进行控制控制, 由数字传感器DS1

16、8B20!行数据采集,89C52对采集到的数据进行处理, 得到各种信号。 而这些信号将分别作为LED数码管显示的信号输入和启动制冷设备、电暖设备的输入。同时将利用单片机的其它使能端口实现系统的复位,手动调节和自动调节。4.2系统硬件设计系统的硬件部分主要可分为温度采集电路,信号处理与控制控制,温度显示电路,温度调节电路,控制指示电路五大部分。4.2.1温度采集电路本系统中采集温度使用的是DS18B2嗷字温度传感器。DS18B20是Dallas半导体公司生产的世界上第一片支持“一线总线”接口的温度传感器。与之前的传感器相比,DS18B20积更小、适用电压更宽、更经济。一线总线独特而且经济的特点,

17、使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20“一线总线”数字化温度传感器支持“一线总线”接口, 测量温度范围为-55C到+125C,在-10至ij+85c范围内,精度为土0.5C。 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V到5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20可以程序设定9到12位的分辨率,精度为土0.5C。当分辨率为12位时,转换时间为750ms使得用户可选择更小的封

18、装方式,更宽的电压适用范围和分辨率设定,同时用户设定的报警温度存储在EEPROMP,掉电后依然保存。DS18B20-般为三极管型封装,具引脚图如图4所示。这三个引脚分别为:GND电源地;QD数字彳9号输入/输出端;VDD-外接供电电源(可选5V)。在单片机89C51中,输入/输出端口分别PRP1、P2、P&其中P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻吧端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被电阻拉低的引脚会输出一个电流。P3端口还用于一些复用功能,

19、其复用功能如表1所列。表1单片机89C51-P3的功能及在本系统中的应用P3.0RXD(用行口输入口)与手动降温按钮连接P3.1TXD(用行口输出口)与手动升温按钮连接P3.2INT0(外部中断)与手动调节确认按钮连接P3.3INT1(外部中断1)与DS18B20勺I/O端口通讯P3.4T0(定时器0的外部输入)与高温报警的二极管连接P3.5T1(定时器1的外部输入)与低温报警的二极管连接P3.6WR外部数据存储器写选通)备用P3.7RD备用在该系统中,DS18B20勺数字信号输入/输出端连接到89C52的P3.3中,作为89C51的数据输入。4.2.2信号处理与控制电路信号处理与控制采用1单

20、片机基本电路。此电路以51单片机为核心,52的具体引脚图如图5。在该系统中,要使单片机实现信号处理与控制,则要使单片机的20脚(GND接地,40脚(Vcc)和31脚(/EA)接正5V电源。18、19脚(XTAL2XTAL1接12MHz勺晶振和两个电容,组成片内振荡电路,为单片机提供时钟脉冲。9脚(RST接按键复位电路,提供复位信号给单片机。PIPIO O匚140140p pVCCVCCP1.1P1.1匚239239PO.O(ADO)PO.O(ADO)P1.2P1.2338338ZJPO.1(ADI)ZJPO.1(ADI)P1.3P1.31_1_4 43737_lPOW(AD2)_lPOW(AD

21、2)P1.4P1.4匚536536ZZIPO.S(A03)ZZIPO.S(A03)P1.5P1.5匚6356351PO.4(AD4)1PO.4(AD4)P1.6P1.6匚734734PS5(AD5)PS5(AD5)P1.7P1.7匚833833ZZIPO.6(AD6)ZZIPO.6(AD6)RSTRST匚9393二PO.7(AD7)PO.7(AD7)(RXD)P3.O(RXD)P3.O匚TOTO3131nEA/VPPnEA/VPP(TXD)(TXD)尸3.13.1匚111130301ALE/PROG1ALE/PROG(INTO)P3.2(INTO)P3.2匚12291229Z3PSENZ3PS

22、ENP3.3P3.3匚13281328二1P2.7(A1P2.7(A15)15)(TO)P3.4(TO)P3.4匚14271427P2.6(A14)P2.6(A14)(T1)P3.5(T1)P3.5匚15261526_|P2.5(A_|P2.5(A1313(WR)P3.6(WR)P3.6匚16251625P2.4(AP2.4(A12)12)(RD)P3,7(RD)P3,7厂172417241P2.3(All)1P2.3(All)XTAL2XTAL2匚18231823P2.P(AIO)P2.P(AIO)XTAL1XTAL1匚19221922P2.P2.1 1(A9)(A9)GNDGNDPOPO2

23、121_|_|P2.O(AS)P2.O(AS)图589C52引脚图89C52芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。两个电容通常取30pF左右,稳定频率并对震荡频率有微调作用。如图6所示。C230p图6晶振电路手动复位是通过接通一按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,则通过手动复位来实现的。如图7所示。4.2.3温度显示电路本系统中,温度显示硬件由74HC1384位二进制译十进制译码器,74HC245W号功率放大和四位一体共阴C130pX1数码管构成。1.四位一

24、体共阴数码管四位一体共阴数码管引脚图如图8所示。它的1、4、5、7脚为位选脚,分别对应从左到右四个数码管,输入低电平选通。剩下的其他引脚为数据输入脚,此电路中数码管的8个数据引脚(a、b、c、d、e、f、g、dp)o三一户图8LED数码管引脚图2.八位二进制译十进制译码器由于要对四位一体共阴数码管提供位选信号,供其选通四个数码管所以在系统中使用了74HC138八位二进制译十进制译码器。具引脚图如图9所示。FqUS8CFqUS8CS S,LETJRWLETJRWC7btpbCJ:CJ:CJ:CJ:dpd dn nvrTTvLi iF Ff fI I!一3 3i_iT-Ji_iT-JtOtO4 4

25、-J-JFTFT引脚说明:第1、2、3脚A、BC二进制输入脚。第4、5、6脚片选信号控制,只有在4、5脚为“0”,6脚为“1”时,才会被选通,输出受AB、C信号控制。其它任何组合方式将不被选通,且Y0丫7$俞出全为“1”。第8脚为GND电源地。第15脚为VCC电源正极。ABCG2AG2BG1Y7GNDU1IB21531441351261171089VCCY0Y1Y2jY3Y4Y5Y6图974HC138引脚图74HC138勺1、2、3脚分别与单片机的P1.0、P1.1、P1.2脚相连,单片机的这三个管脚输出选通二进制信号,输入到74HC138#码,由74HC138勺Y0至Y7脚(本电路只用了Y0

26、Y1、Y3)将译码十进制信号输出到四位一体共阴数码管,以达到对数码管的位选作用。译码电路如图10所示。74HC138图10译码电路3.信号功率放大电路为了使LED能够获得足够的功率显示温度,在本系统中采用了74HC24皿率放大器,把单片机处理后的温度数据经由74HC245进行功率放大后,再把它输入给LED数码管显示。74HC244I脚图如图11所示。引脚说明:第1脚DIR,为输入输出端口转换用,DIR=1”高电平时信号由“A”端输入B端输出,DIR=“0”低电平时信号由“B端输入A”端输出。第2到9脚“A”信号输入输出端,A1=B1A8=B8A1与B1是一组,如果DIR=1,G=0”则A1输入

27、DIR=0G=0”则B1输入A1输出,其它类同。第11到18脚“B信号输入输出端,功能与“A”端一样,不再赘述第19脚G使能端,若该脚为“1, A/B端的信号将不导通, 只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND电源地。第20脚VCC电源正极。本电路选择DIR=1,G=0”则A1输入B1输出,单片机P2口输出显示8位二进制数据信号到74HC245勺A1A8脚,使信号功率放大,再通过B1到B8脚输出到四位一体共阴数码管数据脚,驱动数码管显示。具体电路图如图R1U15k1E1E2E3Y0Y1Y2Y3Y4Y5Y6Y7YGGYGG印B283e4B5wB7B8B283e4B

28、5wB7B8riripllrnm-n口n nlnln20202 21817:615141817:61514同1212”J J类L它6 6d d234Md-67g.1ccrsdor-DCUDHA1234Md-67g.1ccrsdor-DCUDHA1A2A3A4A2A3A4厢-*MND输一.图1174HC245弓唧图12所示U3图12信号功率放大电路图4.2.4温度设置电路温度调节由三个不锁按键电路实现。电路图如图13所示。按键K1一端与单片机的外部中断0(/INT0,12脚)相连,另一端接地。其功能是当按键按下一次时,给单片机一个低电平,进入温度设定状态;再次按下时,则退出温度设定状态。按键K2

29、、K3,一端接地,另一端与单片机的10脚、11脚相连,其功能是每按下一次按键,温度显示值加1或减1。4.2.5控制指示电路控制指示电路由两个彩灯构成,由单片机P3.4(引脚14)、P3.5(引脚15,见表1)输出控制信号,控制彩灯的亮灭。在该系统中,当温度超过26摄氏度时,单片机P3.5输出高电平,驱动高温彩灯亮,启动制冷设备。当温度低于18摄氏度时,单片机P3.4输出高电平,驱动低温彩灯亮,启动电暖设备。当不满足条件时,彩灯熄灭。4.3系统软件设计4.3.1DS18B20数据通信概述和DS18B20信,其命令序列有3步:初始化、RO嘛令(跟随需要交换的数据)和功能命令(跟随需要交换的数据)。

30、每次访问DS18B20必须严格遵守这个命令时序,如果出现序列混乱,则单总线则单总线器件不会响应主机。这个准则对于搜索ROMT令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,而必须返回至第一步。1 .初始化单总线上的所有传输过程都是以初始化开始的, 初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。2.ROIW令在主机检测到应答脉冲后,就可以发出ROM命令。ROMT令与各个从机设备的唯一64位ROMHi码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。RO喻令还允许能够检测到总线上有多少个从机设

31、备及其设备类型,或者有没有设备处于报警状态。搜索ROMF0h当系统初始上电时,主机必须找出总线上所有从机设备的RO削码,这样主机才能够判断出从机的数目和类型。主机通过重复执行搜索ROM1环(搜索ROM0T令跟随着位数据交换),以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROMfiT令来替代搜索ROMfiT令。在每次执行完搜索ROMS环后,主机必须返回至命令序列的第一步:初始化。(2)读ROM33h(仅适合于单节点)该命令仅适用于总线上只有一个从机设备,它允许主机直接读出从机的64位ROWi码,而无须执行搜索ROMS程。如果该命令用于多节点,系统则必然发生数据冲突,因为每个

32、从机设备都会响应该命令。(3)匹配ROM55h匹配ROMfiT令品M随64位ROMR;码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64位ROMHi码时,才会响应主机随后发出的功能命令,其他设备将处于等待复位脉冲状态。(4)跳跃ROMCCh仅适合于单节点)主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何RO削码信息。例如,主机通过在发出跳越ROM0T令后,跟随车$换温度命令44h就可以同时命令总线上所有的DS18B20开始转换速度,这样大大节省了主机的时间。注意:如果跳越ROM命令跟随的是读操作命令,则该命令只能应用于单节点系统,否则将由于多个节点都响应该命

33、令而引起数据冲突。(5)报警搜索Ech除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM0T令,该命令允许主机设备判断哪些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索RO嘛令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。3.功能命令在主机发出ROMfiT令,以访问某个指定的DS18B20接着就可以发出DS18B20勺某个功能命令。这些命令允许主机写入或读出DS18B20的存储器,启动温度转换以及判断从机的供电方式。(1)读RAMff储器BEh此命令读RAMS储器的内容,开始读字节0,并继续读到第九个字节(CRCo如果不是所有位置均可读,那么主机可

34、以再任何时候发出一复位命令以中止读操作。4 2)复制RAMff储器(48h)此命令读RAMS储器的内容,开始读字节0,并继续读到第九个字节(CRCo如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。(3)重新调出EERAMB8h此命令把存储在EERA呻THTL、CONF勺值重新调至RAM#储器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一接电,暂存存储器内就有有效的数据可供使用。(4)读电源B4h在此命令送至DS18B20之后最先发出的读数据时间片,器件都会给其电源方式的信号:0=强上拉电阻供电;1=电源供电。(5)写RAMK器44h写数据到RA

35、M储器,地址为第2、第3、第4字节(THTL、CON尸。(6)温度变换44h此命令开始温度变换,不需要另外的数据。温度变换将被执行,接着DS18B2O保持在空闲状态。4.3.2软件程序设计1)主程序模块(如图14所示)。2)DS18B20!讯模块(如图15所示)。3)温度设置模块(如图16所示)。4)温度显示模块(如图17所示)。5)读取温度信号值。6)与设定值比较,决定空调状态(制冷还是制暖)。主程序流程图如图11所示。图14主程序流程图根据上述DS18B20勺通信原理,DS18B20勺工作流程如图11所示图15DS18B20工作流程图温度设定和温度显示流程图分别如图12和图13所示。完整的

36、程序请详见附录。5系统的调试5.1单片机89C52的调试本系统中主要调试的硬件是单片机调试单片机89C52的主要目的是确保单片机能正常工作。调试分三部分进行:1.单片机没有损坏;2.测试晶振电路是否工作正常;3.录入检测程序,检测单片机及其外围电路能否整体正常工作。步骤一:确定单片机没有损坏。调试所用的单片机编程器是WH-280A原列的USE编程器。一般来说,使用编程器对单片机进行程序的擦除和烧录都能成功,并且通过校验,可以确定单片机没有损坏。步骤二: 测试晶振电路是否工作正常。 晶振电路连接上单片机并且上电后检测晶体振荡器的两端电压,电压是+2V左右时,晶振电路是供电正常。用示波器观察晶体振

37、荡器两端的波型,能够产生稳定的脉冲波形是,可以确定晶振电路工作正常。步骤三:录入检测程序,检测单片机及其外围电路能否整体正常工作。向单片机录入以下检测程序:ORG0000HLJMPMAINORG0100HMAIN:CLRA图16温度设置软件流程图图17温度显示软件流程图MOVA,#AAHMOVP1,AMOVP2,AMOVP3,AAJMPMAINEND该程序的目的是令单片机的P1、P2、P3端口都输出的八位数字信号,这时用电压表测量这三个端口的电平,若得出符合程序的结果,则可以确定单片机及其外围电路都能正常工作。5.2程序调试过程中遇到的问题和解决办法1)较小的硬件开销需要相对复杂的软件进行补偿

38、,由于DS182叫微处理器采用串行数据传送,因此,在对DS1820tt行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。2)在DS1820M温程序设计中,向DS182侬出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS182哦触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS182硬件连接和软件设计时也要给予一定的重视。3)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。4)编程过程中要注意加注释或分割线,否则,附录1.系统程序代码#include#include#defineucharunsignedchar#def

39、ineuintunsignedintsbitDS=P3A3;/定义DS18B20接口sbitp30=P3A0;sbitp31=P3A1;sbitat=P3A4;定义增温控制接口sbitdt=P3A5;/定义减温控制接口staticinttemp;uintcout=0;staticintl_tmp;ucharflagl;uinti=0;voiddisplay(void);codeunsignedchartable=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40,0 x80,0 x00;/共阴数码管0-9空表Uns

40、ignedcharl_tmpdate8=0,0,0,0,0,0,0,0;/定义数组变量,并赋值1,2,3,4,5,6,7,8,就是本程序显示的八个数inttmp(void);voidtmpchange(void);voidtmpwritebyte(uchardat);uchartmpread(void);bittmpreadbit(void);voiddsreset(void);voiddelayb(uintcount);voidzhuti(l_tmp);voiddelayc(unsignedintj);voidadd(void);voidsub(void);voidISR_EX0()interrupt0(delayc(2000);cout+;voidmain()主函数at=1;dt=1;EA=1;首先开启总中断EX0=1;/开启外部中断0IT0=1;/设置成下降沿触发方式while(1)tmpchange();/温度转换l_tmp=tmp();zhuti(l_tmp);display();while(cout%2!=0)display();while(cout%2!=0)&(p31=0)add();while(cout%2!=0)&(p30=0)sub();voiddelayc(uintj)(while(-j0);

温馨提示

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

评论

0/150

提交评论