密级:公开 基于单片机的空调温度控制器设计 The design of air conditioning
temperature controller based on MCU
学 院:信息科学与工程 专 业 班 级:测控技术与仪器1003班 学 号:100401316 学 生 姓 名:刘 和 平 指 导 教 师:颜 华 (教授)
2014 年 6 月
II
摘 要
随着经济的发展和人们生活水平的提高,空调机受到了广泛的应用。空调机的温度控制器主要是由温度传感器感受室内温度变化,将采集到的温度信号处理后与设定的温度值进行比较,控制继电器的通断,使温度被控制在设定值左右,使空调器的工作状态随着人们要求和环境状态而自动变化,迅速准确的达到人们的要求,并使空调器的工作状态保持在最合理的状态下。在工农业生产、科学研究和在人们的生活领域中,温度测控系统占有很重要的地位,得到了广泛的应用。因此,温度传感器的应用数量居各种传感器之首。目前,温度传感器正从模拟式向数字集成式方向飞速发展。
本文主要从硬件和软件两方面介绍了单片机温度控制系统的设计。该系统以STC12C5608AD单片机为核心,主要由温度检测电路、按键与显示电路、继电器控制电路等构成。在本系统中,主要是同过DS18B20采集被测温度并转换成数字信号送单片机,以单片机为核心数据处理系统,通过两位数码管,显示设定温度,通过继电器来控制压缩机、四通阀从而控制空调制冷或制热。本论文概述了温控器的发展及基本原理,介绍了温度传感器的原理及特性,分析了DS18B20温度传感器的优劣。在此基础上描述了系统研制的理论基础,对测温系统的一些主要参数进行了讨论。同时在介绍温度控制系统功能的基础上,提出了系统的总体构成。针对测温系统温度采集、接收、处理、显示部分的总体设计方案进行了论证,进一步介绍了单片机在系统中的应用,分析了系统各部分的硬件及软件实现。
关键词:DS18B20;单片机;温度控制;空调
I
Abstract
With the development of economy and the improvement of people's living standard, the air conditioner has been widely applied. Temperature controller of air conditioner is mainly composed of sensors to monitor indoor temperature, the temperature signal processing the collected with the set temperature value, to control the on-off relay, the temperature is controlled in the set value, the air conditioner working condition with people demand and the state of the environment changes rapidly and automatically, accurate to the requirements of the people, and make the air conditioner working state is maintained in a reasonable state. In the industrial and agricultural production, scientific research and in people's lives, temperature measurement and control system plays a very important role, has been widely applied. Therefore, the number of temperature sensor applications of various sensors of the first home. At present, the temperature sensor from analog to digital integrated development.
This paper mainly describes the hardware and software aspects of the design of single-chip temperature control system. The system STC12C5608AD microcontroller core, mainly by the temperature detection circuit, buttons and display circuit, relay control circuit, etc.. In this system, mainly through the DS18B20 collection with the measured temperature and converted into a digital signal sent to the microcontroller, microcontroller as the core data processing system, through two digital tube display set temperature, the compressor is controlled by relays, Stone valve to control the air conditioning, refrigeration or heating. This paper outlines the development and the basic principles of the thermostat, introduced the principle and characteristics of the temperature sensor. Analysis of the merits of the DS18B20 temperature sensor. Based on this description of the theoretical basis for the development of the system, some of the key parameters of the measurement system were discussed. While the introduction of a temperature control system functions is proposed based on the overall structure of the system. Temperature measurement system for collecting, receiving, processing, display part of the overall design has been demonstrated, further describes the SCM applications in the system, and analyzes the various parts of the system hardware and software.
Keywords: DS18B20; single chip microcomputer; temperature control; air conditioning
II
目 录
摘 要 ..................................................................................................................................... I Abstract ..................................................................................................................................... II 第1章 绪论 .............................................................................................................................. 1
1.1 课题研究目的 ............................................................................................................. 1 1.2 课题研究意义 ............................................................................................................. 1 第2章 系统总体方案设计 ...................................................................................................... 3
2.1 温度传感器产品分类与选择 ..................................................................................... 3
2.1.1 常用的测温方法 .............................................................................................. 3 2.1.2 温度传感器产品分类 ...................................................................................... 3 2.1.3 温度传感器的选择 .......................................................................................... 5 2.2 总体方案的确定 ......................................................................................................... 6 2.3 系统实现框图 ............................................................................................................. 7 第3章 系统单元电路设计 ...................................................................................................... 8
3.1 系统相关硬件及模块介绍 ......................................................................................... 8
3.1.1 温度采集电路 .................................................................................................. 8 3.1.2 STC12C5608AD介绍 ...................................................................................... 9 3.1.3 时钟电路 ........................................................................................................ 11 3.1.4 复位电路 ........................................................................................................ 11 3.1.5 温度显示电路 ................................................................................................ 12 3.1.6 按键功能设置电路 ........................................................................................ 13 3.1.7 继电器驱动电路 ............................................................................................ 14 3.1.8 继电器控制电路 ............................................................................................ 14 3.1.9 压缩机、四通阀 ............................................................................................ 15 3.1.10 电动机电路 .................................................................................................. 15
第4章 系统软件设计 ............................................................................................................ 17
4.1 DS18B20数据通信概述 ......................................................................................... 17 4.2 控制接口时序说明 .................................................................................................. 19 4.3 软件程序设计 ........................................................................................................ 20
4.3.1 主程序模块流程图 ........................................................................................ 21 4.3.2 DS18B20测温程序及流程图 ........................................................................ 22 4.3.3 按键扫描程序及流程图 ................................................................................ 25 4.4程序调试 ................................................................................................................... 26
I
4.4.1 Keil uVision2软件 ......................................................................................... 26 4.4.2程序调试过程中遇到的问题及解决办法 ..................................................... 27
第5章 结论 ............................................................................................................................ 28 参 考 文 献 ............................................................................................................................ 29 致 谢 .................................................................................................................................. 31 附录1 系统硬件电路图 ......................................................................................................... 32 附录2 系统软件程序 ................................................................................ 错误!未定义书签。
II
沈阳工业大学本科生毕业设计(论文)
第1章 绪论
1.1 课题研究目的
利用单片机设计一个具有制冷和制热两种工作模式的空调温度控制器。该控制器能够实时检测并显示室温,能利用键盘设定温度、风速和工作模式,并根据设定的温度、当前温度和工作模式,使压缩机处于制热、制冷或暂停工作状态。
1.2 课题研究意义
现代信息技术的三大基础是信息采集控制(即温度控制器技术)、信息传输(通信技术)和信息处理(计算机技术)。温度控制器属于信息技术的前沿尖端产品,尤其是温度控制器被广泛用于工农业生产、科学研究和生活等领域,数量日渐上升。
温度检测并控制是科研和实际生产生活中经常用到的一类控制系统,为保障生产的安全进行,提高生产的质量和数量,降低工人的劳动强度,节省人力,能源等,以及伴随人们生活品质的提高,对舒适的生活环境的需求,常常要实现温度的自动控制。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到迅速发展和广泛运用。进入21世纪后,温度控制器正朝着高精度、总线标准化、高可靠性以及安全性、研制单片机测温控温系统等高科技的方向迅速发展。
空调也就是空气调节器,是一种用于给空间区域提供处理空气的机组。它的功能是对该房间或一定区域内空气的温度、湿度、洁净度和空气流速等参数进行调节,以满足人体舒适或工艺过程的要求[1]。它使得人们的生活环境更加舒适,也满足了工艺加工过程对精度的要求。而空调温度控制系统是空调的核心。目前空调机已经广泛地应用于生产、生活中。而此类家电越来越趋于轻巧型。单片机具有集成度高、通用性好、功能强,特别是体积小,重量轻,功耗低,可靠性高,抗干扰能力强和使用方便等特点[2]。自从单片机诞生以后,它就步入人类生活,广泛应用于各种家电产品和工业控制系统中,在温度控制领域
1
沈阳工业大学本科生毕业设计(论文)
的应用也十分广泛。基于单片机的空调温度控制系统,控制简单方便,测量范围更广,精度更高,提高了智能化的程度,增加了功能,备受人们喜欢[3]。 随着能源的日趋减少,大气污染愈加严重,节能已是一个不容忽视的问题。众所周知,空调正朝着节能、舒适、静噪于一体的方向发展。鉴于这些方面的综合考虑,设计一种可以实现温度自动控制的空调机,将会在节能方面有新的突破,也必将会取代传统的靠人工实现的温度控制的空调机。通过巧妙的设计和安装可实现美观典雅和舒适卫生的和谐统一,是国际和国内的发展潮流。可以预料,下个世纪的节能空调将会以更快的步伐向前发展。其应用的范围将极为广阔,极大地方便了人们的工作和生活,可以说节能空调将是未来一种新的发展趋势。
2
沈阳工业大学本科生毕业设计(论文)
第2章 系统总体方案设计
2.1 温度传感器产品分类与选择
温度是日常生活中经常遇到的一个物理量,它也是科研和生产中最常见、最基本的常量之一。在很多场合都需要对温度进行测控,而温度测控离不开温度传感器,因此,掌握正确的测温方法及温度传感器的使用方法极为重要。 2.1.1 常用的测温方法
物体受热后温度就要升高,任何两个温度不同的物体相接触都必然产生热交换,直到两者的温度达到平衡为止。据此,可以选择某种温度传感器与被测物体接触进行温度测量,这种方法称为接触式测温。接触式测温常用于较低温度的测量。
此外,物体受热后温度升高的同时还伴有热辐射,因此,可利用温度传感器接收被测物体在不同温度下辐射能量的不同来测量温度,这种测温方法称为非接触式测温。非接触式测温常用于高温测量。 2.1.2 温度传感器产品分类
目前,温度传感器没有统一分类方法。按输出量分类有模拟式温度传感器和数字式温度传感器。按测温方式分类有接触式温度传感器和非接触式温度传感器。按类型分类有分立式温度传感器、模拟集成式温度传感器和智能温度传感器(数字温度传感器)[4]。
模拟式温度传感器输出的是随温度变化的模拟量信号。其特点是输出响应速度较快和MPU(微处理器)接口较复杂。数字式温度传感器输出的是随温度变化的数字量,同模拟输出相比,它输出响应较慢,但容易与MPU接口。下面对工程中常用的温度传感器做简单介绍。 (1)热敏电阻式温度传感器
电阻式温度传感器分为热电阻式温度传感器和热敏电阻温度传感器,他们的特点是自身的电阻值随温度而变化。
3
沈阳工业大学本科生毕业设计(论文)
热敏电阻式利用半导体材料制成的敏感组件,通常所用的热敏电阻温度传感器都是具有负温度系数的热敏电阻,它的电阻率受温度的影响很大,而且随温度的升高而减少,简称NTC。其优点是灵敏度高,体积小,寿命长,工作稳定,易于实现远距离;缺点是互换性差,非线性严重; (2)热电阻式温度传感器
利用热电阻温度系数随温度变化的特性而制成的温度传感器。称为热电阻温度传感器。对于大多数金属导体,其电阻值都具有随温度升高而增大的特性。由于纯金属的温度系数比合金的高,因此均采用纯金属作为热电阻组件。常用的金属导体材料有铂、铜、铁和镍; (3)热电偶式温度传感器
热电偶是一种传统的温度传感器,其测温范围一般为-50到+1600℃,最高可达+2800℃,并且有较高的测量精度。另外,热电偶产品已实现标准化、系列化,使用时易于选择,可方便地用计算机做线性补偿,因此,至今在测温领域内仍被广泛使用。它的理论基础是建立在热电效应上,将热能转化为电能。 (4)模拟集成温度传感器
集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成传感器。模拟集成温度传感器是在20世纪80年代问世的。它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC,它属于最简单的一种集成温度传感器。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准。外围电路简单,它是目前在国内外应用较为普遍的一种集成传感器。 (5)智能温度传感器
智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。智能温度传感器是微电子技术、计算机技术和自动测试技术的结晶,它也是集成温度传感器领域中最具活力和发展前途的一种新产品。目前,许多著名的集成电路生产商已开发出上百种智能温度传感器产品【5】。
智能温度传感器具有以下三个显著特点:第一,能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);第二,能以最简方式构成高性价比、多功能的智能化温度测控系统;第三,它是在硬件的基础上通过软件来实现测
4
沈阳工业大学本科生毕业设计(论文)
试功能的,其智能化程度也取决于软件的开发水平。
智能温度传感器内部都包含温度传感器、A/D传感器、存储器(或寄存器)和接口电路。有的产品还带多路控制器、控制器(CPU)、随机存取储存器(RAM)和只读存储器(ROM)。 2.1.3 温度传感器的选择
在介绍温度传感器的选择原则之前,首先介绍在测控系统中选择传感器的总原则,本原则适用于各种传感器的选择【6】。 1、选择传感器的总原则
现代传感器在原理和结构上千差万别,如何根据具体的测控目的、测控对象以及测控环境合理地选择传感器,是单片机测控系统首先要解决的问题。当传感器选定之后,与之相配套的测控电路也就可以确定了。测控结果的成败,在很大程度取决于传感器的选择是否合理。作为单片机测控系统前向通道的关键部件,在选择传感器时应考虑一下几个方面:
(1)根据测控对象与测控环境确定传感器的类型
首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选择,哪一种原理的传感器更为合适,则需要根据被测量对象的特点和传感器的使用条件综合考虑一下一些具体问题:1)传感器的量程;2)被测位置对传感器体积的要求;3)测量方式为接触式还是非接触式;4)传感器信号的引出是有线还是无线;5)是购买传感器还是自行研制传感器以及价格因素等。
在综合考虑上述因素之后就能确定选择何种类型的传感器,然后再考虑传感器的具体性能指标。
(2)灵敏度的选择
通常情况下,在传感器的线性范围内,希望传感器的灵敏度越高越好。 (3)频率响应特性
传感器的频率响应特性决定了被测量的频率范围,传感器的频率响应好,可测的信号频率范围就宽,传感器的输出信号必须在允许的频率范围内保持不失真,实际上传感器的响应总有一定得延迟,希望延迟时间越短越好。
(4)线性范围
5
沈阳工业大学本科生毕业设计(论文)
传感器的线形范围是指输出信号与输入量成正比的范围。从理论上讲,在此范围内灵敏度应保持定值。传感器的线性范围越宽,其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定之后首先要看其量程是否满足要求。
(5)稳定性
传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。
(6)精度的选择
精度是传感器的一个重要的性能指标,它是关系到整个测控系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要能满足整个测控系统的精度要求就可以了,不必选得太高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。 2、温度传感器的选择
温度传感器技术被广泛应用于消费类电子产品、玩具、家用电子产品、工业测控系统以及个人计算机应用中。传统上分立式温度传感器是最常用的温度传感器元件,而集成温度传感器特点是测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准,外围电路简单,它是目前在国内外应用最为普遍的一种温度传感器。
综上所述,不同的传感器具有不同的应用场合,由于在温度测控系统中,传感器是前向通道的关键部件,因此选择合适的传感器是非常重要的。选择的原则要考虑温度范围、温控精度、测温场合、价格等几方面的因素【7】。
2.2 总体方案的确定
考虑到该控制系统功能比较少,由单片机控制即可实现。而C51单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好,故本系统选择采用C51单片机。
在温度采集方面,采用单线数字温度传感器DS18B20进行数据采集。DSB18B20S数字温度计提供9到12位温度读数,指示器件的温度信息经过单线接口送入DS18B20送出,因此从处理器到DS18B20仅需连接一条线和地,
6
沈阳工业大学本科生毕业设计(论文)
读写和完成温度变换所需的电源可以由数据线本身提供,甚至不需要外部电源。而总体方案和系统电路图方面基本上和热敏式传感器相同,只在数据采集方面有所差别[8]。
在上面也已经提及,热敏电阻式温度传感器互换性差,非线性严重。而数字温度传感器DS18B20接线简单,数字输出量能直接作为单片机的输入数据, 同时考虑到只是在普通环境下测量,无论在灵敏度、线性范围、稳定性,还是在精度方面,DS18B20的强大功能已足够满足设计需要。但是DS18B20也有缺点,就是软件实施方面比较复杂,但相对于模拟量输出的硬件实现方面来说会简单很多。在本次设计中,温度数据采集用到的传感器是DS18B20。
2.3 系统实现框图
时钟电路 复位电路 STC12C5608AD 按键电路
数码管显示电路 DS18B20测温电路 继电器控制电路 图2-1 单片机控制温度调节系统结构图
7
沈阳工业大学本科生毕业设计(论文)
第3章 系统单元电路设计
3.1 系统相关硬件及模块介绍
3.1.1 温度采集电路
本系统中采集温度使用的是DS18B20数字温度传感器[9]。DS18B20是Dallas 半导体公司生产的世界上第一片支持 “一线总线”接口的温度传感器。与之前的传感器相比,DS18B20体积更小、适用电压更宽、更经济。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20 “一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为 -55℃到+125℃,在-10到+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V到5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20可以程序设定9到12位的分辨率,精度为±0.5℃。当分辨率为12位时,转换时间为750ms。使得用户可选择更小的封装方式,更宽的电压适用范围和分辨率设定,同时用户设定的报警温度存储在EEPROM中,掉电后依然保存[10]。
DS18B20一般为三极管型封装,其引脚图如图3-1所示。这三个引脚分别为:GND——电源地;QD——数字信号输入/输出端;VDD——外接供电电源(可选5V)。
图3-1 DS18B20引脚图
8
沈阳工业大学本科生毕业设计(论文)
在该系统中,DS18B20的数字信号输入/输出端连接到C51的P1.7中,作为单片机的数据输入[11]。 3.1.2 STC12C5608AD介绍
信号处理与控制采用STC12C5608AD单片机基本电路。
STC12C5608AD系列单片机是宏晶科技生产的单时钟/机器周期的单片机,是高速/低功耗/超强干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,4路PWM,8路高速10位A/ 转换,针对电机控制,强干扰场合【12】。
STC12C5608AD 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,4路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。
1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。 2.工作电压:5.5V-3.5V
3.工作频率范围:0~35MHz,相当于普通8051的 0~420MHz 4.用户应用程序空间30K/28K/24K/20K/16K/12K/8K/4K字节 5.片上集成768字节RAM。
6. 通用I/O口,复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片 8.有EEPROM功能。 9.看门狗。
10.内部集成MAX810专用复位电路(外部晶体20M以下时,可省外部复位电路)。 11.时钟源:外部高精度晶体/时钟,内部R/C振荡器用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟常温下内部R/C振荡器频率为:5.2MHz~6.8MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。
9
沈阳工业大学本科生毕业设计(论文)
12.共6个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,PCA模块可再实现4个16位定时器。
13.2个时钟输出口,可由T0的溢出在P1.0输出时钟,可由T1的溢出在P1.1输出时钟。
14.外部中断9路,下降沿中断或低电平触发中断,PCA模式可分别或同时支持上升沿中断/下降沿中断,Power Down模式可由外部中断唤醒。 15. PWM(4路)/PCA(可编程计数器阵列,4路) --- 也可用来当4路D/A使用 --- 也可用来再实现4个定时器
--- 也可用来再实现4个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。
16.A/D转换,10位精度ADC,共8路
17.通用全双工异步串行口(UART),由于STC12系列是高速的8051,也可再用定时器软件实现,也可再用定时器软件实现多串口。 18.ISP同步通信口,主模式/从模式。
此电路以单片机为核心,单片机的具体引脚图如图3-2。
图3-2 STC12C5608AD引脚图
10
沈阳工业大学本科生毕业设计(论文)
3.1.3 时钟电路
在该系统中,要使单片机实现信号处理与控制,则要使单片机的14脚(GND)接地,28脚(VCC)接正5V电源。6、7脚(XTAL2、XTAL1)接12MHz的晶振和两个电容,组成片内振荡电路,为单片机提供时钟脉冲。3脚(RST)接按键复位电路,提供复位信号给单片机[13]。
C51单片机内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。两个电容通常取5-30pF左右,稳定频率并对震荡频率有微调作用【14】。如图3-3所示
图 3-3 时钟电路
3.1.4 复位电路
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始工作。其主要功能是:
把程序计数器PC值初始化,使单片机从0000H单元开始执行程序。 当程序运行出错或操作错误使系统处于死锁状态时,也需要复位来重新启
动单片机。
系列单片机的复位信号是从RST引脚输人到芯片的施密特触发器中的 若RST高电平有效且有效地时间为24个振荡周期即两个机器周期则CPU响
并且复位【15】。
复位又分为:上电复位、手动复位
a)上电自动复位是通过外部复位电路电容充电实现的。只要电源的上电时
11
沈阳工业大学本科生毕业设计(论文)
间不超过1ms,即可实现自动上电复位,所以接通电源就完成了系统的复位初始化。
b)按键手动复位分为电平方式和脉冲方式。
复位电路作用非常重要。一个单片机系统能否复正常运行,首先要确保是否能成功复位。
本次设计中,我采用了按键电平复位方式的复位电路。如图3-4所示。
图3-4 复位电路
3.1.5 温度显示电路
本系统中,温度显示硬件由两片LED共阳数码管和PNP管构成【16】。电路图如图3-5所示。
共阳极数码管中8个发光二极管的阳极(二极管正端)连接一起,即为共阳极接法,简称共阳数码管。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
12
沈阳工业大学本科生毕业设计(论文)
图3-5 数码管显示电路
3.1.6 按键功能设置电路
温度调节由四个不锁按键电路实现。电路图如图3-6所示。按键S2一端与单片机的21脚(P1.3)相连,另一端接地。其功能是当按键按下一次时,给单片机一个低电平,进入风速设定状态;按键S3一端与单片机的20脚(P1.2)相连,另一端接地。其功能是当按键按下一次时,给单片机一个低电平,进入制冷或制热模式的选择。按键S4、S5,一端接地,另一端与单片机的19脚、18脚相连,其功能是每按下一次按键,温度设定值加1或减1。
图3-6 按键电路
13
沈阳工业大学本科生毕业设计(论文)
3.1.7 继电器驱动电路
在自动化密集的场合会有很多被控元件如继电器,微型电机,风机,电磁阀等元件及设备,这些设备常由CPU所集中控制,由于控制系统不能直接驱动被控元件,这就需要由功率电路来扩展输出电流以满足被控元件的电流,电压。ULN2003A就是这类可控大功率器件。
ULN2003A是高耐压大电流达林顿阵列,由七个硅NPN达林顿管组成,是一个7路反相器电路。 该电路的特点如下: ULN2003A的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
图 3-7 ULN2003A引脚图
3.1.8 继电器控制电路
继电器控制电路由五个直流电磁继电器构成,由单片机P3.0、P3.1、P3.2、P3.3、P3.4输出控制信号,经过ULN2003A驱动大电流控制继电器K1,K2,K3,K4,K5。
继电器是一种电控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
14
沈阳工业大学本科生毕业设计(论文)
图3-8 电磁继电器原理图
3.1.9 压缩机、四通阀
压缩机(compressor),将低压气体提升为高压气体的一种从动的流体机械。是制冷系统的心脏,它从吸气管吸入低温低压的制冷剂气体,通过电机运转带动活塞对其进行压缩后,向排气管排出高温高压的制冷剂气体,为制冷循环提供动力,从而实现压缩→冷凝(放热)→膨胀→蒸发 ( 吸热 ) 的制冷循环【17】。
四通阀,液压阀术语,是具有四个油口的控制阀。四通阀是制冷设备中不可缺少的部件,其工作原理是,当电磁阀线圈处于断电状态,先导滑阀在右侧压缩弹簧驱动下左移,高压气体进入毛细管后进入右端活塞腔,另一方面,左端活塞腔的气体排出,由于活塞两端存在压差,活塞及主滑阀左移,使排气管与室外机接管相通,另两根接管相通,形成制冷循环。当电磁阀线圈处于通电状态,先导滑阀在电磁线圈产生的磁力作用下克服压缩弹簧的张力而右移,高压气体进入毛细管后进入左端活塞腔,另一方面,右端活塞腔的气体排出,由于活塞两端存在压差,活塞及主滑阀右移,使排气管与室内机接管相通,另两根接管相通,形成制热循环【18】。 3.1.10 电动机电路
该电路将电抗器和电机结合在一起,在电动机定子铁芯上嵌入一个中间绕组(或称调速绕组),采用绕组抽头调速电动机,一共有三个转速抽头,通过继电器组改变电动机气隙磁场的大小及椭圆度,分别实现高、中、低速的控制。
15
沈阳工业大学本科生毕业设计(论文)
图3-9 单相异步电机工作原理图
16
沈阳工业大学本科生毕业设计(论文)
第4章 系统软件设计
4.1 DS18B20数据通信概述
和DS18B20通信,其命令序列有3步:初始化、ROM命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据)【19】。
每次访问DS18B20,必须严格遵守这个命令时序,如果出现序列混乱,则单总线器件不会响应主机。这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,而必须返回至第一步【20】。
1.初始化
单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。
2.ROM命令
在主机检测到应答脉冲后,就可以发出ROM命令。ROM命令与各个从机设备的唯一位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。ROM命令还允许能够检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。
(1)搜索ROM[F0h]
当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机才能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步:初始化。
(2)读ROM[33h](仅适合于单节点)
该命令仅适用于总线上只有一个从机设备,它允许主机直接读出从机的位ROM代码,而无须执行搜索ROM过程。如果该命令用于多节点,系统则必然
17
沈阳工业大学本科生毕业设计(论文)
发生数据冲突,因为每个从机设备都会响应该命令。
(3)匹配ROM[55h]
匹配ROM命令跟随位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配位ROM代码时,才会响应主机随后发出的功能命令,其他设备将处于等待复位脉冲状态。
(4)跳跃ROM[CCH](仅适合于单节点)
主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如,主机通过在发出跳越ROM命令后,跟随转换温度命令[44h]就可以同时命令总线上所有的DS18B20开始转换速度,这样大大节省了主机的时间。注意:如果跳越ROM命令跟随的是读操作命令,则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。
(5)报警搜索[ECH]
除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令,该命令允许主机设备判断哪些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。
3.功能命令
在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20的某个功能命令。这些命令允许主机写入或读出DS18B20的存储器,启动温度转换以及判断从机的供电方式。
(1)读RAM存储器[BEH]
此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。
(2)复制RAM存储器(48H)
此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。
(3)重新调出EERAM[B8H]
此命令把存储在EERAM中TH、TL、CONF的值重新调至RAM存储器。这种
18
沈阳工业大学本科生毕业设计(论文)
重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一接电,暂存存储器内就有有效的数据可供使用。
(4)读电源[B4H]
在此命令送至DS18B20之后最先发出的读数据时间片,器件都会给其电源方式的信号:0=强上拉电阻供电;1=电源供电。
(5)写RAM存储器[44H]
写数据到RAM存储器,地址为第2、第3、第4字节(TH、TL、CONF)。 (6)温度变换[44H]
此命令开始温度变换,不需要另外的数据。温度变换将被执行,接着DS18B20便保持在空闲状态。
4.2 控制接口时序说明
(1)读操作时序
图 4-1读操作时序
19
沈阳工业大学本科生毕业设计(论文)
(2)写操作时序
图4-2读操作时序
4.3 软件程序设计
20
沈阳工业大学本科生毕业设计(论文)
4.3.1 主程序模块流程图
主程序开始 初始化 YES 有键按下? 按键处理子程序 NO 启动风扇电机 调用测温子程序 调用温度显示程序 开关K5闭合 YES NO 四通阀不通电,制冷模式 NO 实际温度-设定温度>1℃ NO YES 开关K4闭合,启动压缩机 开关K4断开,暂停压缩机 YES 实际温度-设定温度<1℃ 四通阀通电,制热模式 结束 图4-3 主程序流程图
21
沈阳工业大学本科生毕业设计(论文)
4.3.2 DS18B20测温程序及流程图
开始 Y 向DS18B20发送初始化成功? N 向DS18B20发送初始化脉N 报错 返回 初始化成功? Y 向DS18B20发送 N 报错 返回 向DS18B20发送BEH准备取温取出温度值及CRC校验向DS18B20发送44H启动温度转 Y CRC校验 N 转化结束? Y 向DS18B20发送初始化脉冲 保留该温度,并精 舍弃该温度,返回 度运算,返回 图4-4 DS18B20通讯模块流程图
DS18B20测温程序:
INIT_1820: SETB P1.7 ; 这是DS18B20复位初始化子程序 NOP CLR P1.7
MOV R1,#5 ;主机发出延时500微秒的复位低脉冲 TSR1: MOV R0,#25 DJNZ R0,$ DJNZ R1,TSR1
SETB P1.7 ;然后拉高数据线 NOP
22
沈阳工业大学本科生毕业设计(论文)
NOP NOP
MOV R0,#20H
TSR2: JNB P1.7,TSR3 ;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ; 延时
TSR3: SETB FLAG1 ; 置标志位,表示DS1820存在 LJMP TSR5
TSR4: CLR FLAG1 ; 清标志位,表示DS1820不存在 LJMP TSR7 TSR5: MOV R0,#70
TSR6: DJNZ R0,TSR6 ; 时序要求延时一段时间 TSR7: SETB P1.7 RET
GET_TEMPER: SETB P1.7 ; 读出转换后的温度值 LCALL INIT_1820;先复位DS18B20 JB FLAG1,TSS2
RET ; 判断DS1820是否存在?若DS18B20不存在则返回 TSS2: MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820
MOV A,#44H ; 发出温度转换命令 LCALL WRITE_1820
LCALL DISPLAY ;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒
LCALL INIT_1820;准备读温度前先复位 MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820
MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820
LCALL READ_18200; 将读出的温度数据保存到35H/36H
23
沈阳工业大学本科生毕业设计(论文)
RET
WRITE_1820: MOV R2,#8;写DS18B20的子程序(有具体的时序要求),一共8位数据
CLR C WR1: CLR P1.7 MOV R3,#5 DJNZ R3,$ RRC A MOV P1.7,C MOV R3,#21 DJNZ R3,$ SETB P1.7 NOP
DJNZ R2,WR1 SETB P1.7 RET
READ_18200: MOV R4,#2 ; 读DS18B20的程序,从DS18B20中读出两个字节的温度数据,将温度高位和低位从DS18B20中读出
MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H) RE00: MOV R2,#8;数据一共有8位 RE01: CLR C SETB P1.7 NOP NOP CLR P1.7 NOP NOP NOP SETB P1.7 MOV R3,#8
24
沈阳工业大学本科生毕业设计(论文)
RE10: DJNZ R3,RE10 MOV C,P1.7 MOV R3,#21 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET
4.3.3 按键扫描程序及流程图
按键扫描 调NO S2按下 S3按下 YES 31H+1 32H+1 NO S2按下 YES 32H-1 NO S2按下 NO 用测温YES30H+1 YES 程序 图4-5 键扫描模块流程图
按键扫描程序:
MAIN:MOV P1,#0FH JNB P1.3,SPREAD LOOP1:JNB P1.2,MODE LOOP2:JNB P1.1,J LOOP3:JNB P1.0,N SPREAD:INC 30H MOV A,30H
CJNE A,#03H,LOOP1
25
沈阳工业大学本科生毕业设计(论文)
MOV A,#00H MOV 30H,A SJMP LOOP1 MODE:INC 31H SJMP LOOP2 J:INC 32H MOV A,32H CJNE A,#31,LOOP3 MOV A,#16 SJMP LOOP3 N:DEC 32H MOV A,32H CJNE A,#15,MAIN MOV A,#30
4.4程序调试
4.4.1 Keil uVision2软件
Keil c51开发工具提供数个十分有用的特性,可以帮助你快速地成功开发嵌入式应用。这些工具使用简单并保证你达到你的设计目的
uVision2 IDE 是一个基于Window的开发平台,包含一个高效的编辑器,一个项目管理器和一个MAKE工具。
uVision2支持所有的KEIL 8051工具,包括C编译器,宏汇编器,连接/定位器,目标代码到HEX的转换器。uVision2通过以下特性加速你的嵌入式系统的开发过程:
全功能的源代码编辑器。 器件库用来配置开发工具设置。 项目管理器用来创建和维护你的项目。
集成的MAKE工具可以汇编,编译和连接你的嵌入式应用。 所有开发工具的设置都是对话框形式的。
26
沈阳工业大学本科生毕业设计(论文)
真正的源代码级的对CPU和外围器件的调试器。
高级GDI(AGDI)接口用来在目标硬件上进行软件调试,以及和
Monitor-51进行通信。
与开发工具手册和器件数据手册和用户指南有直接的链接。
uVision2 界面提供一个菜单,一个工具条以便你快速选择命令按钮,另外还有源代码的显示窗口,对话框和信息显示。uVision2允许同时打开浏览多个源文件。
4.4.2程序调试过程中遇到的问题及解决办法
1.较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
2.在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
3.编程时要注意,在程序开始时,要写入各定时器中断的入口地址。 4.编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。
5.程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。
6.编程前要加流程图,这样会使思路清晰。
27
沈阳工业大学本科生毕业设计(论文)
第5章 结论
近四个月的毕业设计即将结束,这意味着我们的大学生活也要结束了,但我的学习没有结束,由于我本身知识的局限性,所以只对空调温度控制做了部分研究,并不成熟。在本次设计中,我所学过的理论知识接受了实践的检验,增强了综合运用所学知识的能力及动手能力。提前了解了空调的工作原理,尤其是温度检测及控制这一块,为我毕业后在奥克斯空调有限公司的工作与学习打下了良好的基础。
本设计使用STC12C5608AD作为主控芯片进行控制,单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。其中的温度控制系统采用DS18B20 “一线总线”数字化温度传感器,支持“一线总线”接口,大大提高了系统的抗干扰性。而且体积小价格实惠,温度、风速、冷暖模式设定采用按键设定,风速控制则由电机转速控制,冷暖模式则由四通阀来控制,软件算法采用设定值和测量值相比较的算法。
28
沈阳工业大学本科生毕业设计(论文)
参 考 文 献
[1] 彦启森,石文星,田长青.空气调节用制冷技术(第四版)[M].北京:中国建筑工 业出版社,2009.
[2] 李朝青.单片机原理及接口技术[M].北京航空航天大学出版社,2005.
[3] Meng Chen, Li Min, Li Ai-chuan. Single chip microcomputer and the development
of the temperature and humidity sensor[M].International Electronic Elements,2004.
[4] 金发庆.传感器技术与应用[M].北京:北京航空航天大学出版社,2000. [5] 宋亚伟. 基于DS18B20的温度控制采集系统[J]. 机电工程技术, 2008, 37(09):-91.
[6] 齐建家,胡天明. 基于DS18B20的数字温度设计及其应用[J]. 黑龙江工程学 院学报,2001, 22(2):59-62.
[7] DALLAS Semiconductor Corporation DS18B20 Programmable Resolution Wire Digital Thermometer.www.maximit.com, 2008.
[8] 童诗白.模拟电子技术基础[M].北京:高等教育出版社,2006. [9] 阎石.数字电子技术基础[M].北京:高等教育出版社,2006.
[10] 黄正祥,邓怀雄,郭延文,周书. 基于MCS-51单片机的温度控制系统[J].现代电 子技术,2005,3(6):20-21.
[11] 李伙友.基于MCS-51的温度控制器的设计[J].龙岩学院学报,2006,24(6):16-18. [12] Steven F. Barrett Daniel J. Pack. Embedded System [M].北京:电子出版社,2006. [13] 陈光明,陈国邦.制冷与低温原理(第2版)[M].杭州:机械工业出版社,2009. [14] 万平英等.空调智能传感器[J].传感器与微系统,2006,25(1):56-57.
[15] Joseph Simmons, Benjamin L. Davis, Alan L. Nicoll. Heating, Ventilating and
Air-conditioning Design apaaratus and method[M].HVAC Holding Company,2007 [16] 谭浩强. C程序设计[M].清华大学出版社,2010.
[17] Neal Robert Perlmutter. Individual Room Remperature Control System[M]. BiBTeX, BiBTeX,EndNote,RefMan,1976.
29
沈阳工业大学本科生毕业设计(论文)
[18] 郭天祥主编.51单片机C语言教程[M].北京:电子工业出版社,2009. [19] Jack Glass, Christopher Kurkjian.Air-Conditioning Design for Data Centers-
Accommodating Current Loads and Planning for the Future[M]. American Society of
Heating, Refrigerating and Air-Conditioning Engineers,2005.
[20] Katsuhiko Ogata.Moden Control Engineering.Publishing house of electronics industry,
2000,20(1) :96—202
30
沈阳工业大学本科生毕业设计(论文)
致 谢
在几个月的学习研究中,课题受到了许多老师和同学的热心关注和支持。他们对空调温度控制系统的研究开发提出了宝贵意见,并在物质和精神上给予了大力支持。在我即将结束对课题的研究时,整个系统的硬件和软件系统已初步成型,这与支持我的老师和同学的关心是分不开的。
衷心感谢我的导师,正是因为颜华老师的悉心指导和谆谆教诲,我的设计才得以顺利完成。颜老师渊博的知识、丰富的科研经验、不计名利、兢兢业业的治学精神使我受益匪浅。她无私奉献的高贵品质和平易近人的长者作风,使我在学习科学知识的同时也学会了做人的道理。至此论文完成之际,谨向老师表示由衷的感谢。
尤其感谢我的父母,无论我在顺境还是逆境,他们始终是我最坚强的后盾,感谢他们对我多年的培养和支持。
最后感谢所有曾经鼓励过我,帮助过我的人们。
31
沈阳工业大学本科生毕业设计(论文)
附录1 系统硬件电路图
32
沈阳工业大学本科生毕业设计(论文)
附录2 系统软件程序
ORG 0000H;单片机内存分配申明!
TEMPER_L EQU 29H;用于保存读出温度的低8位 TEMPER_H EQU 28H;用于保存读出温度的高8位 FLAG1 EQU 38H;是否检测到DS18B20标志位 a_bit EQU 20h ;数码管个位数存放内存位置 b_bit EQU 21h ;数码管十位数存放内存位置 MOV A,#00H
MOV 30H,A ;存风速 MOV 31H,A ;存模式 MOV 32H,#16 ;存设定温度 MOV P3,#00H MAIN:MOV P1,#0FH JNB P1.3,SPREAD LOOP1:JNB P1.2,MODE LOOP2:JNB P1.1,J LOOP3:JNB P1.0,N LOOP4:LCALL S
LCALL GET_TEMPER;调用读温度子程序 MOV A,29H
MOV C,40H;将28H中的最低位移入C RRC A MOV C,41H RRC A MOV C,42H RRC A MOV C,43H RRC A
33
沈阳工业大学本科生毕业设计(论文)
MOV 29H,A
LCALL DISPLAY;调用数码管显示子程序 CJNE A,32H,Y CPL P3.3 SJMP MAIN Y:JB P3.4,YR JC Y1 DEC A CJNE A,32H,Y2 CPL P3.3 SJMP MAIN Y2:JC Y1 SETB P3.3 SJMP MAIN Y1:CPL P3.3 SJMP MAIN YR:JNC Y1 INC A
CJNE A,32H,Y3 CPL P3.3 SJMP MAIN Y3:JNC Y1 SETB P3.3
SJMP MAIN SPREAD:INC 30H MOV A,30H
CJNE A,#03H,LOOP1 MOV A,#00H MOV 30H,A SJMP LOOP1
34
沈阳工业大学本科生毕业设计(论文)
MODE:INC 31H SJMP LOOP2 J:INC 32H MOV A,32H
CJNE A,#31,LOOP3 MOV A,#16 SJMP LOOP3 N:DEC 32H MOV A,32H CJNE A,#15,MAIN MOV A,#30 SJMP LOOP4 S: MOV A,30H CJNE A,#00H,S1 SETB P3.2 CPL P3.0 CPL P3.1 SJMP M
S1:CJNE A,#01H,S2 SETB P3.1 CPL P3.2 CPL P3.0 SJMP M
S2:SETB P3.0 CPL P3.2 CPL P3.1 M:MOV A,31H RRC A MOV P3.4,C
35
沈阳工业大学本科生毕业设计(论文)
RET
INIT_1820: SETB P1.7 ; 这是DS18B20复位初始化子程序 NOP CLR P1.7
MOV R1,#5 ;主机发出延时500微秒的复位低脉冲 TSR1: MOV R0,#25 DJNZ R0,$ DJNZ R1,TSR1
SETB P1.7 ;然后拉高数据线 NOP NOP NOP
MOV R0,#20H
TSR2: JNB P1.7,TSR3 ;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ; 延时
TSR3: SETB FLAG1 ; 置标志位,表示DS1820存在 LJMP TSR5
TSR4: CLR FLAG1 ; 清标志位,表示DS1820不存在 LJMP TSR7 TSR5: MOV R0,#70
TSR6: DJNZ R0,TSR6 ; 时序要求延时一段时间 TSR7: SETB P1.7 RET
GET_TEMPER: SETB P1.7 ; 读出转换后的温度值 LCALL INIT_1820;先复位DS18B20 JB FLAG1,TSS2
RET ; 判断DS1820是否存在?若DS18B20不存在则返回 TSS2: MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820
36
沈阳工业大学本科生毕业设计(论文)
MOV A,#44H ; 发出温度转换命令 LCALL WRITE_1820
LCALL DISPLAY ;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒
LCALL INIT_1820;准备读温度前先复位 MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820
MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820
LCALL READ_18200; 将读出的温度数据保存到35H/36H RET
WRITE_1820: MOV R2,#8;写DS18B20的子程序(有具体的时序要求),一共8位数据
CLR C WR1: CLR P1.7 MOV R3,#5 DJNZ R3,$ RRC A MOV P1.7,C MOV R3,#21 DJNZ R3,$ SETB P1.7 NOP
DJNZ R2,WR1 SETB P1.7 RET
READ_18200: MOV R4,#2 ; 读DS18B20的程序,从DS18B20中读出两个字节的温度数据,将温度高位和低位从DS18B20中读出
MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H) RE00: MOV R2,#8;数据一共有8位
37
沈阳工业大学本科生毕业设计(论文)
RE01: CLR C SETB P1.7 NOP NOP CLR P1.7 NOP NOP NOP SETB P1.7 MOV R3,#8 RE10: DJNZ R3,RE10 MOV C,P1.7 MOV R3,#21 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET
DISPLAY: MOV A,32H;显示子程序将32H中的十六进制数转换成10进制 MOV B,#10 ;10进制/10=10进制 DIV AB
MOV b_bit,A ;十位在A MOV a_bit,B ;个位在B
MOV DPTR,#TAB;指定查表启始地址 MOV A,a_bit ;取个位数
MOVC A,@A+DPTR ;查个位数的7段代码 MOV P2,A ;送出个位的7段代码 SETB P1.5 ;开个位显示
38
沈阳工业大学本科生毕业设计(论文)
ACALL D1MS ;显示1ms CLR P2.6
MOV A,b_bit ;取十位数
MOVC A,@A+DPTR ;查十位数的7段代码 MOV P2,A ;送出十位的7段代码 SETB P1.4 ;开十位显示 ACALL D1MS ;显示1ms
CLP P1.4 RET
D1MS: MOV R6,#10 ;1MS延时 D1:MOV R7,#25 DJNZ R7,D2 D2:DJNZ R6,D1
RET
TAB: DB 06H, 0B7H,0DH,25H,0D4H,H,44H,37H,04H,34H
END
39
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务