数字温度计课程设计报告

合集下载

数字温度计设计实验报告

数字温度计设计实验报告

数字温度计设计实验报告标题:数字温度计设计实验报告摘要:本实验旨在设计一个数字温度计,并通过实验验证其准确性和稳定性。

实验采用了数字温度传感器和微控制器进行设计,通过对比实验结果和标准温度计的测量结果,验证了数字温度计的准确性和稳定性。

实验结果表明,设计的数字温度计具有较高的测量精度和稳定性,可应用于工业生产和科研领域。

引言:温度是物体内部分子运动的表现,是一个重要的物理量。

在工业生产和科研领域,准确测量温度对于控制生产过程、保证产品质量和研究物质性质具有重要意义。

传统的温度计有玻璃温度计、金属温度计等,但其测量范围有限,且不便于数字化处理。

因此,设计一种数字温度计具有重要意义。

实验设计:本实验采用数字温度传感器和微控制器进行设计。

数字温度传感器采集环境温度,并将信号传输给微控制器进行处理。

微控制器通过内部算法对温度信号进行处理,并将结果显示在数码管上。

实验采用标准温度计测量环境温度,并将结果作为对比实验。

实验步骤:1. 搭建数字温度计实验平台,连接数字温度传感器和微控制器;2. 将标准温度计放置在与数字温度传感器相同的环境中,测量环境温度;3. 同时,数字温度传感器采集环境温度,并将结果显示在数码管上;4. 对比标准温度计和数字温度计的测量结果,分析其准确性和稳定性。

实验结果:经过对比实验,标准温度计和数字温度计的测量结果基本一致,表明设计的数字温度计具有较高的测量精度。

在不同环境温度下,数字温度计的测量结果稳定,显示出良好的稳定性。

因此,设计的数字温度计具有较高的准确性和稳定性,可应用于工业生产和科研领域。

结论:本实验成功设计了一个数字温度计,并验证了其准确性和稳定性。

设计的数字温度计具有较高的测量精度和稳定性,可满足工业生产和科研领域对于温度测量的要求。

未来可以进一步优化设计,提高数字温度计的性能,并拓展其在更广泛的领域应用。

DS18B20数字温度计设计实验报告(1)【范本模板】

DS18B20数字温度计设计实验报告(1)【范本模板】

单片机原理及应用课程设计报告书题目:DS18B20数字温度计姓名: 李成学号:133010220指导老师:周灵彬设计时间: 2015年1月目录1. 引言 (3)1。

1.设计意义31.2。

系统功能要求32。

方案设计 (4)3. 硬件设计 (4)4. 软件设计 (8)5。

系统调试106. 设计总结 (11)7. 附录 (12)8. 参考文献 (15)DS18B20数字温度计设计1.引言1.1. 设计意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。

而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。

其缺点如下:●硬件电路复杂;●软件调试复杂;●制作成本高.本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为—55~125℃,最高分辨率可达0。

0625℃。

DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。

1.2. 系统功能要求设计出的DS18B20数字温度计测温范围在0~125℃,误差在±1℃以内,采用LED数码管直接读显示.2. 方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路.数字温度计总体电路结构框图如4。

1图所示:图4.13。

硬件设计温度计电路设计原理图如下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED 数码管以动态扫描法实现温度显示。

AT89C51 主 控制器 DS18B20 显示电路 扫描驱动主控制器单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用.系统可用两节电池供电。

AT89C51的引脚图如右图所示:VCC:供电电压。

单c报告---课程设计报告书---数字温度计

单c报告---课程设计报告书---数字温度计

课程设计报告书---数字温度计一、选题背景本实验课题是基于AT89C51单片机设计一个温度范围为-20-80℃,分辨率<±0.5℃的数字温度计。

设计实验中,考虑到A/D转换以及放大电路等各种因素,我组采用DS18B20温度传感器,在数码管显示方面,我们采用了LCD1602数码管。

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图1所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

LCD1602的8根数据线和3根控制线E,RS和R/W与单片机相连后即可正常工作。

一般应用中只须往LCD1602中写入命令和数据,因此,可将LCD1602的R/W读/写选择控制端直接接地,这样可节省1根数据线。

VO引脚是液晶对比度调试端,通常连接一个10kΩ的电位器即可实现对比度的调整;也可采用将一个适当大小的电阻从该引脚接地的方法进行调整,不过电阻的大小应通过调试决定.LCD1602的引脚图见下图2.图1.DS18B20原理图图2.LCD1602引脚图二、方案论证(设计理念)DS18B20温度传感器具有体积小,硬件开销低,抗干扰能力强,精度高的特点,同时,它也具有耐磨耐碰,体积小,使用方便,封装形式多样的特点。

实验要求用到A/D转换,DS18B20正好对应的就是数字信号输出。

因为我们需要显示的内容并不是很多,所以我们决定使用LCD1602显示屏,它是2行每16字符/行的显示屏,规划第一行显示温度,第二行显示温度是否超过阈值。

LCD1602的使用也非常简单方便。

整体来说该实验并不是很复杂,所以我们用到的程序以及设备也不会很麻烦,构思起来也比较清晰。

三、过程论述我们首先着力的是Keil程序编写,主要程序见图3。

单片机数字温度计课程设计总结

单片机数字温度计课程设计总结

单片机数字温度计课程设计总结一、引言温度是物体分子热运动的表现,对于很多应用场合来说,准确地测量和监控温度是非常重要的。

在本次课程设计中,我们使用单片机设计了一个数字温度计,能够实时测量环境温度并将其显示在数码管上。

本文将对该课程设计进行总结和归纳。

二、设计思路1. 硬件设计:我们使用了传感器、单片机和数码管等硬件元件。

传感器用于感知环境温度,单片机负责数据处理和控制,数码管用于显示温度数值。

2. 软件设计:我们使用C语言编写了相应的程序。

程序的主要逻辑是通过单片机与传感器进行通信,获取温度值并进行转换,然后将转换后的数值通过数码管进行显示。

三、硬件设计1. 传感器选择:在本次设计中,我们选择了NTC热敏电阻作为温度传感器。

它的电阻值随温度的变化而变化,通过测量电阻值的变化即可得到环境温度。

2. 单片机选择:我们选择了常用的STC89C52单片机作为控制核心。

它具有较高的性价比和丰富的资源。

3. 数码管选择:我们选择了常见的共阳极数码管,它能够直观地显示温度数值。

四、软件设计1. 数据采集:首先,我们需要通过AD转换将传感器输出的模拟信号转换为数字信号。

然后,我们将数字信号转换为温度值,根据传感器的特性曲线进行适当的校准。

2. 数据处理:接下来,我们需要对采集到的温度值进行处理,例如进行单位转换或滤波处理,以获得更加准确和稳定的结果。

3. 数据显示:最后,我们将处理后的温度值通过数码管进行显示。

为了方便观察,我们还可以添加一些提示信息,例如温度单位或警告标识。

五、调试和测试在设计完成后,我们需要进行调试和测试,以确保温度计能够正常工作。

首先,我们可以通过改变环境温度来验证温度计的测量准确性。

其次,我们还可以通过与其他温度计进行对比来验证其稳定性和精度。

六、设计优化和改进在实际使用过程中,我们可以根据需求进行进一步的优化和改进。

例如,我们可以添加温度报警功能,当温度超过设定阈值时,温度计能够及时发出警报。

数字温度计课程设计报告书

数字温度计课程设计报告书

H a r b i n I n s t i t u t e o f T e c h n o l o g y课程设计说明书(论文)课程名称:课程设计І设计题目:数字温度计的设计院系:电子与信息工程学院班级:设计者:学号:指导教师:设计时间:2011年4月15日至2011年6月6日哈尔滨工业大学2011年4月15日星期五哈尔滨工业大学课程设计任务书姓名:院(系):专业:班号:任务起至日期:2011年4 月15 日至2011 年6月5日课程设计题目:数字温度计的设计已知技术参数和设计要求:根据给定主要功能要求和主要元器件,设计一个完整的数字温度计。

(1) 自制稳压电源(2) 被测温度的范围在0至200°C(3) 用4位数码管显示温度值工作量:1.查找资料2.设计论证方案3.具体各个电路选择、元器件选择和数值计算4.具体说明各部分电路图的工作原理5.绘制电路原理图6.绘制印刷电路图7.元器件列表8.编写调试操作9.打印论文工作计划安排:1.查找资料、设计论证方案具体各个电路选择、元器件选择和数值计算绘制电路原理图一周2.绘制印刷电路图、元器件列表一周3.编写调试操作、打印论文一周同组设计者及分工:每人一组单独完成指导教师签字___________________2011年4月13日教研室主任意见:教研室主任签字___________________2011年4月13日*注:此任务书由课程设计指导教师填写。

一、任务技术指标主要内容:设计一个数字温度计,测量范围:0~200 O C。

温度的实时LED数字显示。

测量温度信号为模拟量。

基本要求:1.画出数字温度计的结构框图。

2.画出系统原理图、印制版图与仿真图。

3.计算所需器件数值,列写元器件清单4.进行调试操作5.按要求完成课程设计报告,打印报告二、总体设计思想1.基本原理温度的测量,在工业生产的过程和科研工作中都非常重要。

数字式温度测量的特点是采用数码管直接显示出被测温度值,这种数字显示不仅直观,测量精度高而且便于进行自动控制。

数字温度计的设计和制作实验报告

数字温度计的设计和制作实验报告

5
作R − (θ 以℃为单位)图并进行线性拟合得如下结果:
������
1
相关系数������ 2 = 0.99849; 斜率k1 = (1.040 ± 0.013) × 106 Ω℃; 截距b1 = (−105.5 ± 3.6) × 102 Ω; ∴ R = (1.040 ± 0.013) × 106 ������ + (−105.5 ± 3.6) × 102 ;
图 6:R − 关系图
������ 1 1
作R − ������ (T 以 K 为单位)图并进行线性拟合得如下结果: 相关系数������ 2 = 0.99703; 斜率������2 = (7.15 ± 0.13) × 107 ������ ∙ Ω; 截距������2 = (−2.13 ± 0.04) × 105 Ω; ∴ R = (7.15 ± 0.13) × 107 1 ������
一、 引言
利用温度传感器将对温度的测量转换为对电学量的测量是精确测温的常用方法。 热 敏电阻通常用半导体材料制成,分为负温度系数(NTC)热敏电阻和正温度系数(PTC) 热敏电阻两种。NTC 热敏电阻体积小,且其阻值随温度变化十分灵敏,因此被广泛应用 于温度测量、温度控制等 。本实验对 NTC 热敏电阻的温度特性进行了测量,并以 NTC 热敏电阻为测温元件,采用串联电路和非平衡电桥两种方法制作并校准数字体温计,实 现了一定温度范围内对温度的精确测量。
数字温度计的设计和制作
摘要:本文对负温度系数(NTC)热敏电阻的温度特性进行了研究,并以 NTC 热敏电阻 为测温元件, 采用串联电路和非平衡电桥两种方案制作量程为35℃~42℃的数字体温计, 并对其进行校准, 将温度转化为可测电学量。 制作的数字体温计电路简明, 精度较高 (误 差不超过0.1℃) ,达到了设计要求。 关键词:数字温度计、NTC 热敏电阻、温度特性

数字温度计设计报告

数字温度计设计报告

考试序号:11数字温度计设计报告姓名:刘慧学号:14122502243班级:电子12-1BF指导老师:梅孝安完成时间:2014年12月25日湖南理工学院物理与电子学院目录一、引言 (2)二、设计任务与要求 (2)三、设计方案 (3)四、硬件电路设计 (4)4.1、主控电路 (4)4.2、显示电路 (6)4.3、测温电路 (6)五、设计原理 (7)六、系统软件设计 (8)6.1子程序 (8)6.2读出温度子程序 (9)6.3设计测试 (10)七、设计感言 (11)八、参考文献 (12)九、附录 (13)一、引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用LCD160液晶屏实现温度显示,能准确达到以上要求。

二、设计任务与要求通过课程设计的教学实践,进一步学习、掌握单片机应用系统的有关知识,加深了解单片机的工作原理。

初步掌握PROTEUS软件的使用及简单单片机应用系统的硬件设计、软件编程及基本调试方法。

提高动手实践能力、提高科学的思维能力。

设计基本要求:(1)数字式温度计测温范围在-55℃~+125℃;(2)误差在+0.5℃以内;(3)采用LCD160液晶屏显示;三、设计方案本数字温度计采用DS18B20温度传感器。

DS18B20的内部3脚(或8脚)封装。

使用特有的温度测量技术,将被测温度转换成数值信号。

3.0~5.5V 的电源供电方式和寄生电源供电方式。

ROM 由64位二进制数字组成,共分为八个字节,RAM 由64位二进制数字组成,共分为8个字节,RAM 由9个字节的高速暂存器和非易失性电写ROM 组成。

数字温度计课设

数字温度计课设

数字温度计一、设计任务用中小规模集成芯片设计并制作一数字式温度计,即用数字显示被测温度。

具体要求如下:1、测量范围0~200度。

2、测量精度0.1度。

3、4位LED数码管显示。

4、温度超过40度报警。

二、总体设计1、原理图2、具体电路设计利用温度传感器采集周围的温度变化,产生电压,通过对采样得到的电压处理,传输到A/D转换器将模拟量转化成数字量,最后由LED显示器显示温度。

(1)温度传感器设计LM34具有很高的工作精度和较宽的线性工作范围,该器件输出电压与摄氏温度成线性比例关系,并且无需外部校准,可以提供±1/4℃的常用的室温精度。

很适合本次设计要求,以下是LM34芯片介绍1)工作电压:直流4~30V;2)工作电流:小于133μA3)输出电压:+6V~-1.0V4)输出阻抗:1mA 负载时0.1Ω;5)精度:0.5℃精度;6)比例因数:线性+10.0mV/℃; 7)非线性值:±1/4℃;8) 测温范围:-50~300℃ (2) 电压采样设计采用电阻分压原理,使得采集到的电压符合A/D 芯片的工作要求,并且要考虑到温度与电压成线性关系,用两个电阻进行分压使得输入A/D 电压为温度传感器的电压的1/10,输入A/D 芯片电压为图中A 、B 两点电压。

(3) A/D 转换设计TC7107是一种高性能、低功耗的三位半A\D 转换器,同时包含有七段译码器、显示驱动器、参考源和时钟系统。

直接驱动共阳极数码管显示。

以下是TC7107引脚图1)工作电压:±5V ; 2)供电电流:小于1.8mA 3)噪声:典型值15uV 4)输入端漏电流:小于10pA 5)模拟公共端电压:2.7~3.35V功能介绍1端:V+ =5V ,电源正端。

26端:V- =﹣5V ,电源负端。

19端:AB4,千位数笔段驱动输出端,由于213位的计数满量程显示为“1999”,所以AB4输出端应接千位数显示器显示“1”字的b 和c 笔段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.数字温度计的总体方案设计根据系统设计的功能,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力来测量、显示温度数值。

初步确定设计系统由单片机主控模块、测温模块、显示模块共3个模块组成,电路系统框图如图所示。

图系统基本方框图对于单片机的选择,如果用8051系列,由于它没有内部RAM,系统又需要一定的内存存储数据。

AT89S52是一个低功耗、高性能CMOS 8位的单片机,片内含8k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,功能强大的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。

而AT89S52与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89S52运行,且AT89S52比AT89C51新增了一些功能,相比较后,在本设计中选用AT89S52更能很好的实现温度计控制功能。

测温电路可以使用热敏电阻之类的器件,利用其感温效应,将被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据处理。

但是这种感温电路比较复杂,且采用热敏电阻精度低,重复性、可靠性都比较差。

如果采用温度传感器DS18B20可以减少外部硬件电路,而且可以很容易直接读取被测温度值,进而转换,且成本低、易使用,可以很好的满足设计要求。

所以本文采用传感器DS18B20代替传统的测温电路。

温度的显示可以采用LED数码管来显示,LED亮度高、醒目,但是电路复杂,占用资源多且信息量小。

而采用液晶显示器有明显的优点:工作电流比LED小几个数量级,功耗低;尺寸小,厚度约为LED的1/3;字迹清晰、美观、使人舒服;寿命长,使用方便,可得性强。

故本设计采用LCD来显示温度。

二、系统器件的具体选择单片机的选择本次设计采用的是单片机AT89C52。

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,AT89C52单片机在电子行业中有着广泛的应用。

图 PDIP封装的AT89C52 引脚图AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。

功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。

RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。

P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

温度传感器的选择DS18B20的简单介绍DS18B20温度传感器是一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

DS18B20的性能特点如下:①独特的单线接口仅需要一个端口引脚进行通信;②多个DS18B20可以并联在惟一的三线上,实现多点组网功能;③无须外部器件;④可通过数据线供电,电压范围为~V;⑤零待机功耗;⑥温度以9或12位数字;⑦负电压特性,电极接反时,温度计不会因发热而烧毁,只是不能正常工作。

DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列、各种封装形式如图所示,DQ 为数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

图 外部封装形式 图 DS18B20的电路DS18B20采用3脚PR -35封装或8脚SOIC 封装,其内部结构框图如图2-4所示。

图2-4 DS18B20内部结构64 位高速缓64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。

高速暂存RAM的结构为9字节的存储器。

头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。

第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。

低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。

DS18B20的测温原理DS18B20的温度值的位数因分辨率不同而不同,温度转换时的最大延时为750ms。

DS18B20测温原理如图所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

图 DS18B20测温原理DS18B2的外部电路图根据设计要求,传感器的硬件电路图如图所示。

图 DS18B20外部电路图三.程序流程图 DS18B20温度计主程序流程图图读出温度子程序流程图图计算温度子程序 图显示数据刷新子程序流程图四.Proteus仿真调试结果及分析温度计电路设计原理图如图所示,控制器使用单片机AT89C2052,温度计传感器使用DS18B20,用液晶实现温度显示。

本温度计大体分三个工作过程。

首先,由DS18820温度传感器芯片测量当前的温度,并将结果送入单片机。

然后,通过89C2052单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。

最后,SMC1602A芯片将送来的值显示于显示屏上。

?由图可看到,本电路主要由DSl8820温度传感器芯片、SMCl602A 液晶显示模块芯片和89C2052单片机芯片组成。

其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。

图温度计电路设计仿真图五.硬件调试结果及分析软件调试根据流程图编写程序软件。

本次设计系统的调试以程序的调试为主。

程序的调试我们采用Keil C51.Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。

系统调试软硬件分别调试完成以后,将程序下载入单片机中,电路板接上电源,按刷新按钮LCD显示当前温度。

用手去碰触温度传感器,按刷新按钮,温度显示值出现变化,显示当前手的温度值。

完成了我们预期的要求。

六.设计感受与见解本次综合实训是针对MCS-51系列的单片机芯片STC89C52来设计一个数字温度计,该设计充分利用了温度传感器DS18B20功能强大的优点,如DS18B20可以直接读出被测温度值,进行转换;而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,大大简化了硬件电路,也使得该数字温度计不仅具有结构简单、成本低廉、精确度较高、反应速度较快、数字化显示和不易损坏等特点,而且性能稳定,适用范围广,因此特别适用于对测温要求比较准确的场所。

在这次设计中,熟悉了制作一个产品的总体流程,能熟练使用一些必要的设计工具和仿真工具等。

通过选认元件,连线,调试检测等过程,锻炼自己的理论联系实际的能力和实际操作能力,从而综合性地巩固所学的知识,为将来的工作做一次实战演习。

经过将近2周的综合实训,终于完成了我的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次实训中的最大收获。

七.附件一:元器件清单STC89C51 1个温度传感器DS18B20 1个插针 1排LCD1602 1个40脚插座 1个12MHZ晶振 1个电容 30PF 2个22UF 1个电阻 10K 2个1个附件二:源程序#include<>#define uchar unsigned char#define uint unsigned intsbit DQ=P3^7;//ds18b20与单片机连接口sbit RS=P3^0;sbit RW=P3^1;sbit EN=P3^2;unsigned char code str1[]={"temperature: "}; unsigned char code str2[]={" "}; uchar data disdata[5];uint tvalue;//温度值uchar tflag;//温度正负标志/*************************lcd1602程序**************************/void delay1ms(unsigned int ms)//延时1毫秒(不够精确的){unsigned int i,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}void wr_com(unsigned char com)//写指令//{ delay1ms(1);RS=0;RW=0;EN=0;P2=com;delay1ms(1);EN=1;EN=0;}void wr_dat(unsigned char dat)//写数据// { delay1ms(1);;RS=1;RW=0;EN=0;P2=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;}void lcd_init()//初始化设置//wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);}void display(unsigned char *p)//显示// {while(*p!='\0'){wr_dat(*p);p++;delay1ms(1);}}init_play()//初始化显示{ lcd_init();wr_com(0x80);display(str1);wr_com(0xc0);display(str2);}/*****************ds1820程序*********************************/void delay_18B20(unsigned int i)//延时1微秒{while(i--);}void ds1820rst()/*ds1820复位*/{ unsigned char x=0;DQ = 1; //DQ复位delay_18B20(4); //延时DQ = 0; //DQ拉低delay_18B20(100); //精确延时大于480us DQ = 1; //拉高delay_18B20(40);}uchar ds1820rd()/*读数据*/{ unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; //给脉冲信号dat>>=1;DQ = 1; //给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);}return(dat);}void ds1820wr(uchar wdata)/*写数据*/ {unsigned char i=0;for (i=8; i>0; i--){ DQ = 0;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata>>=1;}}read_temp()/*读取温度值并转换*/ {uchar a,b;ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;else{tvalue=~tvalue+1;tflag=1;}tvalue=tvalue*;//温度值扩大10倍,精确到1位小数return(tvalue);}/********************************************************** *********/void ds1820disp()//温度值显示{ uchar flagdat;disdata[0]=tvalue/1000+0x30;//百位数disdata[1]=tvalue%1000/100+0x30;//十位数disdata[2]=tvalue%100/10+0x30;//个位数disdata[3]=tvalue%10+0x30;//小数位if(tflag==0)flagdat=0x20;//正温度不显示符号elseflagdat=0x2d;//负温度显示负号:-if(disdata[0]==0x30){disdata[0]=0x20;//如果百位为0,不显示if(disdata[1]==0x30){disdata[1]=0x20;//如果百位为0,十位为0也不显示 }}wr_com(0xc0);wr_dat(flagdat);//显示符号位wr_com(0xc1);wr_dat(disdata[0]);//显示百位wr_com(0xc2);wr_dat(disdata[1]);//显示十位wr_com(0xc3);wr_dat(disdata[2]);//显示个位wr_com(0xc4);wr_dat(0x2e);//显示小数点wr_com(0xc5);wr_dat(disdata[3]);//显示小数位}/********************主程序***********************************/void main(){ init_play();//初始化显示while(1){read_temp();//读取温度ds1820disp();//显示}}九.附录三:实物图及使用说明说明:按键刷新温度。

相关文档
最新文档