题目数字温度计的设计.doc

上传人:牧羊曲112 文档编号:4298949 上传时间:2023-04-14 格式:DOC 页数:27 大小:1.45MB
返回 下载 相关 举报
题目数字温度计的设计.doc_第1页
第1页 / 共27页
题目数字温度计的设计.doc_第2页
第2页 / 共27页
题目数字温度计的设计.doc_第3页
第3页 / 共27页
题目数字温度计的设计.doc_第4页
第4页 / 共27页
题目数字温度计的设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《题目数字温度计的设计.doc》由会员分享,可在线阅读,更多相关《题目数字温度计的设计.doc(27页珍藏版)》请在三一办公上搜索。

1、题目 数字温度计的设计 任务与要求任务:数字温度计的设计要求:1、了解51单片机的工作原理并能熟练编程控制2、学习PCB的制作流程3、掌握数字温度计DB18B20的简单应用4、熟悉论文的排版格式数字温度计的设计 摘要:随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度测量系统具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示。该设计控制器使用单片机STC89C52,测温传感器使用DS18B20,用4位共阴

2、极LED数码管实现温度显示,能准确达到以上要求。关键词:STC89C52 DS18B20 数码管显示 数字温度计Design of Digital ThermomerAbstract:SCM control is one of peoples pursue with the peoples living standard rising, but peoples demand becomes higher and higher. If people want to get more convenience on work, scientific research and life, we sho

3、uld do more work on single-chip computer technology.Of course with the development of technology, microcontroller technology has spread to our life, work, scientific research and so on.In this paper we introduce a new method named digital temperature system ,this system has many advantages, such as

4、easy reading, large temperature range, accurate measure temperature and its output temperature uses digital display.This design uses STC89C52 single-chip microcomputer controller, temperature sensor DS18B20, and with 4 cathode tube LED to realize digital temperature display.Keywords: SYC89C52 DS18B2

5、0 Digital display Digital thermomer目 录引言1第1章 绪论11.1 基于单片机数字温度计系统的研究背景11.2 基于单片机数字温度计系统的发展现状11.3 基于单片机数字温度计系统的研究目的和意义21.4 基于单片机数字温度计系统主要研究内容2第2章 数字温度计系统的总体设计方案22.1 数字温度计系统设计方案论证22.1.1 方案一22.1.2 方案二22.1.3 总体设计框图32.2 显示部分设计方案论证32.2.1 方案一32.2.2 方案二32.3 键盘输入部分方案论证32.3.1 方案一32.3.2 方案二3第3章 数字温度计系统硬件设计部分33.

6、1 单片机模块43.1.1 STC89C52功能及特性43.1.2 STC89C52部分管脚说明43.1.3 单片机模块功能43.2 温度采集部分.6 3.2.1 温度传感器DS18B20.6 3.2.2 DS18B20温度传感器与单片机的接口电路.8 3.3 报警电路部分.8第4章 数字温度计系统软件设计部分.84.1 主程序.84.2 读取温度子程序.94.3 显示温度子程序.94.4 按键扫描子程序. 104.5 检查报警子程序.10第5章 心得体会.11参考文献.12附录1 仿真电路图.13附录2 电路原理图.14附录3 电路PCB.15附录4 实物图.16附录5 源程序.17引 言

7、温度是我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号

8、和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。数字温度计根据使用的传感器的不同,AD转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。第1章 绪论1.1 基于单片机数字温度计系统的研究背景 随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度报警控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针

9、对这种实际情况,设计一个温度报警控制系统,具有广泛的应用前景与实际意义。温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求

10、都越来越高。可见,温度的测量和控制是非常重要的。单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生,因此研究温度的测量方法和装置具有重要意义。温度测量在工业、农业、国防等行业有着广泛的应用,而且随着科学技术的发展对温度测量的应用范围愈来愈广。利用单片机技术的温度测控系统以其体积小,可靠性高而被广泛采用。1.2 基于单片机数字温度计系统的发展现状自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系

11、统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。国内外温度测量系统的发展极为迅速,比如机房温度的监控,蔬菜大棚温度的监控报警等等。可以温度的检测与报警涉及到人们生活的各个领域,各个角落,世界各国的科学家都在研制越来越先进的温度检测报警系统,用于各个领域的检测和控制,为人们的生活、工作,为工业、农业生产做保障。温度测量报警系统有很大的发展空间,国内也在这方面投入大量的人力物力进行新产品的研发。比如国内非典时期用的红外温

12、度测量报警装置,就是温度测量系统发展到现在的一个代表性的产物。温度测量报警系统在生活中有中药的意义。现在温度测量报警领域正在蓬勃快速的发展,各国都在进行着各项测试研究,以更好的检测温度,进行控制,让人类能更好的生活、工作和学习。另外,温度测量控制领域也在不断的扩大,很多国家也共同合作,在共同研制仪器,去进行温度测量控制,温度测量控制这项研究也正在想全球化发展。1.3 基于单片机数字温度计系统的研究目的和意义温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍然有着较大的差距目前我国在这方面总体技术水平处于20世纪

13、80年代中后期水平成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制,即是说适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少备。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。由于温度控制具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。1.4 基于单片机数字温度计系统主要研究内容在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。这种温度采集电路有时需要冷端补偿电路,这样就增加了电

14、路的复杂性,而且该种电路易受干扰,使采集到的数据准确性不高。随着微电子技术、单片机技术、传感器技术的不断发展,为温度控制系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。本文设计了一种基于STC89C52单片机与DS18B20 的温度控制系统。该设计通过STC89C52 单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过数码管显示出来。本系统以STC89C52单片机作为主控系统,利用DS18B20数字温度传感器作为温度传感器件。通过四位共阴极数码管作为显示器件,通过单片机控制来显示温度。当温度高于设定最高温度或者低于设定的最低温度时,蜂鸣器发出报警声。

15、第2章 数字温度计系统的总体设计方案2.1 数字温度计系统设计方案论证2.1.1方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。2.1.2方案二: 考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读

16、取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。2.1.3总体设计框图 数字温度计电路设计总体方框图如下图1:STC89C52LCD显示 DS18B20温 度 传 感 器单片机复位时钟振荡报警温度调整键蜂鸣器,指示灯图1 数字温度计电路设计总体框图2.2 显示部分设计方案论证2.2.1方案一:采用1602液晶显示模块,本方案的优点是电路相对简单,显示字符内容较为丰富,考虑到本报警系统只需要显示测量的温度,不需要过多的复杂功能

17、,实用1602液晶显示会增加系统的成本,此方案的缺点也在于此。2.2.2 方案二:采用数码管显示,此方案的最大优点就是成本较低,缺点是电路相对复杂,需要驱动电路,在软件上也需要作出处理。但是此方案完全可以满足本报警系统的功能和要求,软件处理上也不是特别的复杂,驱动电路也相对简单。从以上两种方案,综合考虑,采用方案二,虽然电路相对复杂一点,但在成本上却占了很大的优势,并可以完全实现本系统的要求,选择方案二。2.3 键盘输入部分方案论证2.3.1方案一: 采用矩阵键盘的方式,此方案的优点是按键多,占用单片机I/O口少,比较节省资源,并可用多个按键来进行人机对话,缺点是硬件电路较为复杂,软件程序较为

18、繁琐。2.3.2方案二:采用独立按键的方式,优点是电路较为简单,软件程序也相对简单,缺点是按键占用I/O口多,占用单片机的资源较多。由于本报警系统使用按键较少,不需要采用矩阵键盘,采用独立按键完全可以完成要求,并且实现起来也比较简单,综合考虑键盘输入部分选用方案二。第3章 数字温度计系统硬件设计部分3.1单片机模块3.1.1 STC89C52功能及特性 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有

19、以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。3.1.2 STC89C52部分管脚说明VCC:供电电压。 GND:接地。P0口:P0口是一个

20、8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分

21、别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口为一个内部上拉电阻的8 位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的 管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在

22、FLASH编程和校验时接收高 八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口是单片机的一些具有特殊功能的管脚。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的1/6。

23、因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.1.3 单片机模块功能1) 晶振电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称为晶体振荡器。它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机的运行速度就越快

24、,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率上的。通常一个系统公用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以

25、即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。我们的数字温度计系统中的晶振电路如下图2所示:图2 系统晶振电路2) 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即 4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器 稳定工作时,复位信号才被撤除,微机电路开始正常工作。单片机复位电路设计的

26、好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。目前为止,单片机复位电路主要有四种类型:微分型复位电路、积分型复位电路、比较器型复位电路、看门狗型复位电路。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。下图3所示的RC复位电路可以实现上述基本功能:图3 RC复位电路3.2 温度采集部分3.2.1 温度传感器DS18B201)DS1

27、8B20的简介 DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户

28、带来了更方便的使用和更令人满意的效果。封装的DS18B20的引脚排列见下图4:图4 DS18B20封装2)DS18B20的性能特点 独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 在使用中不需要任何外围元件。 可用数据线供电,电压范围:+3.0 +5.5 V。 测温范围:-55 +125 。固有测温分辨率为0.5 。 通过编程可实现912位的数字读数方式。 用户可自设定非易失性的报警上下限值。 支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

29、3) DS18B20的工作原理 DS18B20测温原理如下图5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图5中的斜率累加器用于补偿和修正

30、测温过程中的非线性,其输出用于修正计数器1的预置值。 图5 DS18B20测温原理4) DS18B20的内部结构 DS18B20有4个主要的数据部件,如图6所示:图6 DS18B20的内部结构64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入用户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,头2个字节包含测得的温度信息,第3和第4字节

31、TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。如图7所示:温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC图7 高速暂存RAM3.2.2 DS18B20温度传感器与单片

32、机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是采用寄生电源供电方式,即单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据

33、传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。3.3 报警电路部分该系统采用电磁式蜂鸣器,由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。电路如图8:图8 报警电路报警系统中有三个独立式按键可以分别调整温度计的上下限报警设置,一按键

34、为进入/退出设置键;一按键为增加键;一按键为减少键。电路中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,实现报警功能。第4章 数字温度计系统软件设计部分4.1主程序主程序的主要功能是负责定义上下限温度、温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程如下图9:图9 主程序测温流程4.2 读取温度子程序图10 读取温度子程序流程4.3 显示温度子程序图11 显示温度子程序流程4.4 按键扫描子程序按键采用扫描查询方式,设置标志位,当标志位为1 时,显示设置温度,否则显示当前温度。图12 按键扫描子程序流

35、程4.5 检查警报子程序当温度大小或小于所设定的温度是,蜂鸣器开始响起,一直到温度在设定温度内。报警器响起读入温度是否大于或小于设定温度Y图13 报警子程序流程第5章 心得体会本设计是利用数字温度传感器DS18B20作为温度传感器件,采用价格低廉性能稳定的STC89C52单片机作为主控芯片,用四位一体共阴极的数码管作为显示器件,蜂鸣器作为报警电路器件构成了整个电路系统。本设计的优点是价格低廉,性能稳定,如果把单片机换成贴片的封装器件利于大规模的工业商业生产。在这次工程设计过程中,巩固了在大学4年内学过的知识,尤其是单片机和模拟电子方面的知识,同时通过这次工程设计提高了单片机编程的能力,尤其是获

36、得的软件调试经验,同时加强了我的实际编程能力,同时也让我更加的知道了自己知识的欠缺和不足。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。本温度控制系统可以应用于多种场合,像的温度、育婴房的温度、水温的控制。用户可灵活选择本设计的用途,又很强的实用价值。由于时间太仓促,经验不足,理论方面也相应的存在不足,加上条件有限,仍存在着一些设计方面的问题,个人技能也有待提高,理论知识也还需巩固加

37、强。参考文献1 柴钰.单片机原理及应用.西安:西安电子科技大学出版社,2009.2 李群芳,肖看.单片机原理接口与应用M.北京:清华大学出版社,2005.3 韩志军.单片机系统设计与应用实例.机械工业出版社,2010.4 戴佳,戴卫恒.51单片机C语言应用程序设计实例精讲.电子工业出版社,2006.5 刘文涛.单片机应用开发实例.清华大学出版社,2005.6 沈红卫.单片机应用系统设计实例分析.北京航空航天大学出版社,2003.7 白延敏.51单片机典型系统开发实例精讲.电子工业出版社,2009.8 周润景等.基于PROTEUS的电路及单片机设计与仿真.北京航空航天大学出版社,2010.附录1

38、仿真电路图图14 仿真电路图附录2电路原理图图15 电路原理图附录3 电路PCB图16 电路PCB图附录4 实物图图17 设计实物图附录5 源程序#include#define uchar unsigned char#define uint unsigned intsbit d1=P22;sbit d2=P21;sbit d3=P20;sbit d4=P23;sbit key1=P30;sbit key2=P31;sbit key3=P32;sbit beep=P33;sbit DS=P12;sbit ACC_7=ACC7;uint count=1000,alarm=300;uchar shu

39、;uchar shi,fen,ri,yue,nian,xq,miao,ss; uint temp; / 温度变量uchar flag;uchar code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code tab1=/小数点点亮0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);void dsreset()/发复位 uint i;DS=0;i=103;w

40、hile(i0)i-;DS=1;i=4;while(i0)i-;uchar tmpread() /读取一字节uchar j,k,dat;uint i; for(j=1;j0)i-;dat=(k1);/读出的数据最低位在最前面存一个字节在DAT里 return(dat);void tmpwritebyte(uchar dat) /写一个字节 uint i; uchar j; bit testb; for(j=1;j1; if(testb) /写 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; /写 0i=8;while(i0)i-;DS=1;i+;i+; void tmpchange() /DS18B20温度变换dsreset();delay(1);tmpwritebyte(0xcc); /跳过读取内存romtmpwritebyte(0x44); /开始转换uint tmp() /读取温度float tt;uchar a,b;dsreset();delay(1);tmpwritebyte(0xcc);tmpwritebyte(0xbe);a=tmpread(); /a为低字节8位b=tmpread(); /b为高字节8位temp=b; /temp为温度值UINT 16bittemp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号