单片机报告-数字温度计
单片机基于stm32的数字温度计设计
单片机基于stm32的数字温度计设计
数字温度计是一种用于测量环境温度的设备。
在这个问题中,我们将使用基于STM32的单片机来设计一个数字温度计。
为了设计这个温度计,我们需要以下组件和步骤:
1. STM32单片机:STM32是一种基于ARM架构的单片机,它具有强大的计算能力和丰富的外设接口,适用于各种应用。
2. 温度传感器:我们需要选择一种适合的温度传感器,常用的有数字式温度传感器,如DS18B20。
3. 连接电路:将温度传感器连接到STM32单片机。
这通常需要使用一些电子元件,如电阻、电容和连接线等来建立电路连接。
4. 编程:使用适合STM32单片机的编程语言,如C语言,来编写程序。
程序将读取温度传感器的数据,并将其转换为数字值。
5. 温度显示:将温度数据显示在合适的显示设备上,如LCD显示屏或七段数码管。
可以使用STM32单片机的GPIO口控制这些显示设备。
6. 数据处理:可以对温度数据进行进一步处理,如计算平均温度、设定警报阈值等。
以上是一个基本的数字温度计设计的流程。
具体的实现细节和代码编写可能需要根据具体的硬件和软件平台进行调整。
单片机数字温度计报告
单片机原理及系统课程设计专业:自动控制班级:控1002班*名:***学号: *********指导教师:***兰州交通大学自动化与电气工程学院2013 年 3 月 7 日基于单片机的数字温度计摘要本设计将介绍一种基于单片机控制的数字温度计。
在硬件设计介绍单片机温度控制系统元器件的了解,并对硬件原理图做简洁的描述。
软件设计主要包括主程序、读取温度子程序、写一个字节子程序、读一个字节子程序、初始化DS18B20子程序、延时子程序、数码管扫描子程序。
软硬件分别调试完成以后,通过仿真实现了运行。
由于采用了智能温度传感器DS18B20,所以本文所介绍的数字温度计与传统的温度计相比它的转换速率极快,进行读、写操作非常简便。
加之DS18B20内部的差错检验所以它的抗干扰能力强、性能可靠。
关键字:AT89C52;DS18B20;温度检测;单片机AbstractThis paper studies the temperature measurement method by using AT89C52 microcontroller and DS18B20 digital temperature sensor.Besides,the temperature sensor chip,the interface circuit of microcon-troller and temperature sensor,and the software used to collect temperature information and transfer data are studied as well.The proteus simulation result shows that this temperature measurement system is simple in struc-ture,typical in circuit and convenient to control,and the analysis is proved to be reasonable through PSPICE simulatio.Keywords:AT89C52;DS18B20;temperature;microcontroller1 引言1.1设计目的通过应用单片机的知识,能够独立设计出具有温度范围广、结果精确、并且可以数字显示的温度计。
单片机课程设计报告-数字温度计
惠州学院HUIZHOU UNIVERSITY单片机课程设计设计题目系别专业班级学号学生姓名指导教师完成时间年月目录一.课题设计任务与要求。
-------------------------------------------------------- 二.对于课题的总体构想。
-------------------------------------------------------- 三.DS18B20温度传感器简介。
-------------------------------------------------------- 四.系统总仿真电路。
-------------------------------------------------------- 五.总程序。
-------------------------------------------------------- 六.心得体会。
-------------------------------------------------------- 七.参考文献。
---------------------------------------------------一、设计任务与要求设计任务:利用数字温度传感器DS18B20与单片机结合来测量温度。
设计要求:利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量范围为-55~125℃,精确到0.5℃。
本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
数字温度计所测量的温度采用数字显示,控制器使用单片机89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读数方式。
51单片机数字温度计设计与实现
51单片机数字温度计设计与实现温度计是一种常见的电子测量设备,用于测量环境或物体的温度。
而数字温度计基于单片机的设计与实现,能够更准确地测量温度并提供数字化的显示,具备更多功能。
一、设计原理数字温度计的设计原理基于温度传感器和单片机。
温度传感器用于感测温度,而单片机负责将传感器读取的模拟信号转化为数字信号,并进行温度计算及显示。
二、所需材料1. 51单片机2. 温度传感器(例如DS18B20)3. 数码管或液晶显示屏4. 连接线5. 电源电路电容、电阻等元件三、设计步骤1. 连接电路:按照电路原理图将51单片机、温度传感器和显示器等元件进行连接。
注意正确连接引脚,以及电源电路的设计和连接。
2. 编写程序:利用汇编语言或C语言编写51单片机的程序,实现温度读取、计算和显示功能。
3. 温度传感器设置:根据温度传感器的型号和数据手册,配置单片机相应的输入输出口、温度转换方式等参数。
4. 读取温度:通过单片机对温度传感器进行读取,获取传感器采集的温度数据。
5. 温度计算:根据传感器输出的数据和转换方法,进行温度计算,得到更准确的温度数值。
6. 数字显示:将计算得到的温度数值通过数码管或液晶显示屏进行数字显示。
可以选择合适的显示格式和单位。
7. 添加附加功能:可以根据实际需求,增加其他功能,如报警功能、数据记录、温度曲线显示等。
8. 系统测试与优化:将设计的数字温度计进行系统测试,确保其正常运行和准确显示温度。
根据测试结果进行可能的优化或改进。
四、注意事项1. 连接线应牢固可靠,避免出现松动或接触不良的情况。
2. 选择合适的温度传感器,并正确设置传感器的相关参数。
3. 程序设计时应注意算法的准确性和优化性,以确保测量的准确性和实时性。
4. 温度传感器的安装和环境选择也会影响温度计的准确性,应避免与外部环境干扰和热源过近的情况。
五、应用领域1. 家庭和工业温度监测:数字温度计可以广泛应用于室内、室外温度监测,工业生产中的温度控制等。
数字温度计(基于51单片机的设计思路)
一.设计目的
1.理解掌握MCS-51系列单片机的功能和实际应用。
2.掌握仿真开发软件的使用。
3.掌握数字式温度计电路的设计、组装与调试方法。
二.设计要求
1.以MCS-51系列单片机为核心器件,组成一个数字式温度计。
2.采用数字式温度传感器为检测器件,进行单点温度检测,检测精度为0.4 C
3.温度显示采用4位LED数码管显示,三位整数,一位小数。
三.设计思路
1.根据设计要求,选择AT89C52单片机为核心器件。
2.温度检测器件采用DS18B20数字式温度传感器。
与单片机的接口为
P3.6引脚。
硬件电路设计总体框图为图4.1:
四、系统的硬件构成及功能
1.主控制器
图5.1
2.显示电路
显示电路采用四位共阳LED数码管,从P3口RXD,TXD串口输出段码。
LED数码管在仿真软件中如图5.2
图5.2
3.温度传感器
图5.3. 五.系统整体硬件电路
六.技术难点
1.程序设计
2.电路设计
3.电路焊接
4.硬件调试。
单片机课程设计(数字温度计)
单片机课程设计说明书1 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
2 总体设计方案2.1 方案论证根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。
选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED 数码管以动态扫描法实现。
检测范围-55摄氏度到125摄氏度。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图1所示。
图1 数字温度计总体电路结构框图AT89C51 主 控 制 器显示电路温度传感器 DS18B20扫描驱动2.2 系统硬件电路的设计温度计电路设计原理图如图2所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管实现温度显示。
图2 数字温度计设计电路原理图2.2.1 主控制器AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
最新单片机课程设计报告-数字温度计设计
单片机课程设计报告-数字温度计设计2009年6月15日摘要在这个信息技术飞速发展的时代,单片机作为最经典的微控制器之一,已经广泛应用于我们的生活、工作、科研等各个领域,并已成为一项相对成熟的技术。
作为自动化专业的学生,我们已经学习了单片机,应该把它熟练地应用到我们的生活中。
本文将介绍一种基于单片机控制的数字温度计。
该温度计属于多功能温度计,可上下设置报警温度,当温度不在设定范围内时报警。
本文设计的数字温度计具有读数方便、测温范围宽、测温准确、数字显示、应用范围广的特点。
关键词:单片机、数字控制、数码管显示、温度计、DS18B20、AT89S52。
目录1概述5 1.1设计目的51.2设计原则51.3设计困难52系统总体方案和硬件设计5 2.1数字温度计设计方案演示52.2.1主控制器62.4系统10的整体硬件电路设计3系统软件设计12 3.1初始化器123.2读出温度子程序133.3读、写定时子程序143.4温度处理子程序163.5显示程序173.6延迟程序184Proteus软件模拟19 5课程设计经验21附录1: 22附录2: 27 1概述1.1设计目的随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人们带来的便利是不可否认的。
数字温度计就是一个典型的例子,但是人们对它的要求越来越高。
为了给现代人的工作提供更好、更方便的设施,有必要从单片机技术入手,向数字控制和智能控制方向发展。
与传统温度计相比,本设计引入的数字温度计具有读数方便、测温范围广、测温准确的优点。
其输出温度以数字方式显示。
它主要用于温度测量相对准确的地方或科研实验室。
它可广泛用于需要温度控制的地方,如食品仓库、冷库、粮食仓库、温室。
目前,该产品已广泛应用于温度控制系统。
1.2设计原则该系统是基于单片机AT89S52的数字温度计设计,用于测量-50℃至110℃范围内的环境温度。
整个设计系统分为四个部分:单片机控制、温度传感器、数字显示和键盘控制电路。
基于51单片机的数字温度计
引言:数字温度计是一种基于51单片机的温度测量装置,它通过传感器感知环境的温度,并使用单片机将温度值转换为数字形式,并显示在液晶屏上。
本文将详细介绍数字温度计的设计原理、硬件连接、软件编程以及应用领域。
概述:数字温度计基于51单片机的设计理念,其基本原理是通过传感器将温度转换为电信号,然后通过ADC(模数转换器)将电信号转换为数字信号,最后使用单片机将数字信号转换为温度值。
同时,数字温度计还将温度值显示在液晶屏上,方便用户直观地了解环境温度。
正文内容:1. 硬件连接:1.1 使用温度传感器感知环境温度:常用的温度传感器有NTC热敏电阻和DS18B20数字温度传感器。
通过将传感器连接到51单片机的引脚上,可以实现对环境温度的感知。
1.2 连接ADC进行模数转换:ADC是将模拟信号转换为数字信号的关键部件。
通过将51单片机的引脚连接到ADC芯片的输入端,可以将模拟的温度信号转换为数字信号。
1.3 连接液晶屏显示温度值:通过将51单片机的引脚连接到液晶屏的控制引脚和数据引脚,可以将温度值以数字形式显示在液晶屏上。
2. 软件编程:2.1 初始化引脚和ADC:在软件编程中,需要初始化51单片机的引脚设置和ADC的工作模式。
通过设置引脚为输入或输出,以及设置ADC的参考电压和工作模式,可以确保硬件正常工作。
2.2 温度测量算法:根据传感器的工作原理和电压-温度特性曲线,可以编写相应的算法将ADC测得的电压值转换为温度值。
例如,对于NTC热敏电阻,可以使用Steinhart-Hart公式进行温度计算。
2.3 温度值显示:将温度值以数字形式显示在液晶屏上。
通过设置液晶屏的控制引脚和数据引脚,可以控制液晶屏的显示内容,并将温度值以数字形式显示在屏幕上。
3. 基于51单片机的数字温度计应用:3.1 家庭温度监测:数字温度计可以安装在家庭中的不同区域,实时监测室内温度,并通过数字显示提供直观的温度信息。
这对于家庭的舒适性和节能都有重要意义。
51单片机数字温度计的设计与实现
51单片机数字温度计的设计与实现温度计是一种广泛使用的电子测量仪器,它能够通过感知温度的变化来提供精准的温度数值。
本文将介绍如何使用51单片机设计并实现一款数字温度计。
一、硬件设计1. 采集温度传感器温度传感器是用来感知环境温度的关键器件。
常见的温度传感器有DS18B20、LM35等。
在本次设计中,我们选择DS18B20温度传感器。
通过电路连接将温度传感器与51单片机相连,使51单片机能够读取温度传感器的数值。
2. 单片机选型与连接选择适合的51单片机型号,并根据其引脚功能图对单片机进行合理的引脚连接。
确保温度传感器与单片机之间的数据传输通畅,同时保证电源和地线的正确连接。
3. 显示模块选型与连接选择合适的数字显示模块,如数码管、液晶显示屏等。
将显示模块与51单片机相连,使温度数值能够通过显示模块展示出来。
4. 电源供应为电路提供稳定的电源,保证整个系统的正常运行。
选择合适的电源模块,并根据其规格连接电路。
二、软件设计1. 温度传感器读取程序编写程序代码,使用单片机GPIO口将温度传感器与单片机连接,并通过相应的通信协议读取温度数值。
例如,DS18B20采用一线制通信协议,需要使用单总线协议来读取温度数值。
2. 数字显示模块驱动程序编写程序代码,通过单片机的GPIO口控制数字显示模块的数码管或液晶显示屏进行温度数值显示。
根据显示模块的规格,编写合适的驱动程序。
3. 温度转换算法将温度传感器读取到的模拟数值转换为实际温度数值。
以DS18B20为例,它输出的温度数值是一个16位带符号的数,需要进行相应的转换操作才能得到实际的温度数值。
4. 系统控制程序整合以上各部分代码,编写系统控制程序。
该程序通过循环读取温度数值并进行数据处理,然后将处理后的数据送到数字显示模块进行实时显示。
三、实现步骤1. 硬件连接按照前文所述的硬件设计,将温度传感器、51单片机和数字显示模块进行正确的连接。
确保连接无误,并进行必要的电源接入。
单片机课程设计报告-数字温度计
单片机课程设计报告-数字温度计单片机是一种集成了微处理器核心、存储器、外围接口和定时器等功能模块的微型计算机。
在现代电子科技领域中,单片机被广泛应用于各种嵌入式系统中。
本课程设计主要针对单片机的应用实践,通过设计一个数字温度计来锻炼学生的单片机编程能力,同时加深对数字温度计的原理及应用的理解。
二、设计目标本课程设计旨在使学生掌握以下内容:1. 掌握单片机的基本原理和编程方法;2. 了解数字温度计的原理和应用;3. 熟悉温度传感器的使用和数据处理方法;4. 能够利用单片机开发出一个简单的数字温度计。
三、设计内容本课程设计主要包括以下内容:1. 单片机原理和编程基础;2. 数字温度计的原理和应用介绍;3. 温度传感器的选型及使用方法;4. 单片机数字温度计的设计和实现。
四、设计步骤1. 单片机原理和编程基础学生首先将学习单片机的基本原理和编程方法,包括单片机的体系结构、存储器组成、I/O口的使用、定时器的应用等内容。
2. 数字温度计的原理和应用介绍学生将了解数字温度计的基本原理和应用场景,包括数字温度计的工作原理、常见的数字温度计种类、数字温度计的应用领域等。
3. 温度传感器的选型及使用方法学生将学习温度传感器的选型原则,了解各种温度传感器的特点及使用方法,包括模拟温度传感器和数字温度传感器。
4. 单片机数字温度计的设计和实现学生将利用所学的单片机编程知识和温度传感器的使用方法,设计并实现一个简单的数字温度计。
学生需要考虑温度测量精度、显示方式、数据处理方法等问题。
五、教学方法本课程设计采用理论教学与实践相结合的教学方式,通过理论课堂讲解和实际操作演示相结合,加深学生对单片机和数字温度计知识的理解和掌握。
同时,鼓励学生合作学习,共同解决实际问题,提高实战能力。
六、教学评估学生将根据设计的数字温度计的实际测量情况、数据处理方法以及最终的效果进行评估,教师将根据学生的设计方案和实际操作情况进行评分。
同时,学生对单片机编程的理解和掌握水平也将作为评估的重要内容。
单片机温度计实训报告
一、引言随着科技的不断发展,单片机在各个领域得到了广泛的应用。
单片机作为一种微型计算机,具有体积小、成本低、功能强等特点,在智能仪表、自动化控制等领域具有重要作用。
本实训报告主要介绍了单片机温度计的设计与实现过程,通过实训,加深了对单片机原理、接口技术以及编程方法的理解。
二、实训目的1. 熟悉单片机的硬件结构和接口技术;2. 掌握单片机编程方法,提高编程能力;3. 学会使用传感器进行温度测量;4. 培养动手能力和团队协作能力。
三、实训原理本实训采用AT89C51单片机作为主控制器,利用DS18B20数字温度传感器进行温度测量,并通过LCD显示屏显示温度值。
1. DS18B20数字温度传感器:DS18B20是一款高精度、高稳定性的数字温度传感器,具有单总线接口,方便与单片机进行通信。
2. AT89C51单片机:AT89C51是一款经典的51系列单片机,具有丰富的片上资源,适合于各种嵌入式应用。
3. LCD显示屏:LCD显示屏用于显示温度值,方便用户查看。
四、实训步骤1. 硬件电路设计根据设计要求,设计如下硬件电路:(1)单片机最小系统:包括AT89C51单片机、晶振、复位电路、电源电路等。
(2)DS18B20传感器电路:将DS18B20传感器与单片机相连,实现温度数据的采集。
(3)LCD显示屏电路:将LCD显示屏与单片机相连,用于显示温度值。
2. 软件编程(1)初始化单片机:设置单片机的时钟、IO口等。
(2)初始化DS18B20传感器:设置DS18B20传感器的分辨率、工作模式等。
(3)读取温度数据:通过DS18B20传感器读取温度数据。
(4)显示温度值:将读取到的温度值显示在LCD显示屏上。
3. 系统调试将设计好的硬件电路和软件程序进行调试,确保系统能够正常运行。
五、实训结果与分析1. 实训结果通过实训,成功实现了单片机温度计的设计与实现,系统能够实时采集温度数据,并通过LCD显示屏显示温度值。
基于51单片机的数字温度计设计
基于51单片机的数字温度计设计数字温度计是一种广泛使用的电子测量设备,通过传感器将温度转化为数字信号,并显示出来。
本文将介绍基于51单片机的数字温度计的设计。
该设计将使得使用者能够准确、方便地测量温度,并实时显示在液晶显示屏上。
1. 硬件设计:- 传感器选择:在设计数字温度计时,我们可以选择使用NTC(负温度系数)热敏电阻或者DS18B20数字温度传感器作为温度传感器。
这里我们选择DS18B20。
- 信号转换:DS18B20传感器是一种数字传感器,需要通过单总线协议与51单片机进行通信。
因此,我们需要使用DS18B20专用的驱动电路,将模拟信号转换为数字信号。
- 51单片机的选择:根据设计要求选择合适的51单片机,如STC89C52、AT89S52等型号。
单片机应具备足够的IO口来与传感器和液晶显示屏进行通信,并具备足够的计算和存储能力。
- 显示屏选择:为了实时显示温度,我们可以选择使用1602型字符液晶显示屏。
该显示屏能够显示2行16个字符,足够满足我们的需求。
通过与51单片机的IO口连接,我们可以将温度数据显示在屏幕上。
2. 软件设计:- 采集温度数据:通过51单片机与DS18B20传感器进行通信,采集传感器传输的数字温度数据。
通过解析传感器发送的数据,我们可以获得当前的温度数值。
- 数据处理:获得温度数据后,我们需要对其进行处理。
例如,可以进行单位转换,从摄氏度到华氏度或者开尔文度。
同时,根据用户需求,我们还可以对数据进行滤波、校准等处理。
- 显示数据:通过与液晶显示屏的连接,我们可以将温度数据显示在屏幕上。
可以使用51单片机内部的LCD模块库来控制液晶显示屏,显示温度数据以及相应的单位信息。
- 用户交互:可以设置一些按键,通过与51单片机的IO口连接,来实现用户与数字温度计的交互。
例如,可以设置一个按钮来进行温度单位的切换,或者设置一个按钮来启动数据保存等功能。
3. 功能拓展:- 数据存储:除了实时显示当前温度,我们还可以考虑增加数据存储功能。
基于51单片机的数字温度计实现
基于51单片机的数字温度计实现数字温度计是一种能够精确测量温度的仪器,利用数字技术将温度传感器测得的模拟信号转换成数字信号,以显示出实时温度数值。
在这个任务中,我们要使用51单片机来实现一个基于数字技术的温度计。
首先,我们需要一种温度传感器,常用的有热敏电阻传感器和数字温度传感器。
在这里,我们选择使用热敏电阻传感器,因为它价格低廉且性能稳定。
热敏电阻传感器的电阻值会随着温度的变化而发生改变,我们可以利用这个特性来测量温度。
51单片机是一种常用的微型计算机芯片,具有强大的计算和控制能力,非常适合用于实现温度计。
我们可以将热敏电阻传感器连接到单片机的模拟输入引脚上,通过读取引脚上的电压值来获取温度值。
接下来,我们需要编写51单片机的程序来实现温度的转换和显示。
首先,我们需要将模拟信号通过模数转换器(ADC)转换成数字信号。
然后,我们可以通过一定的算法将数字信号转换成对应的温度数值。
为了实现温度的显示,我们可以连接一个LCD液晶屏到51单片机上。
LCD屏幕可以显示数字和字符,我们可以在屏幕上显示实时的温度数值。
除了温度的显示,我们还可以添加一些功能来增强温度计的实用性。
例如,我们可以设置一个温度报警功能,在温度超过一定阈值时发出声音或亮起警示灯。
这样可以方便用户随时知晓温度是否正常。
另外,我们还可以为温度计添加保存数据的功能。
通过连接一个存储器芯片,我们可以将温度数据存储下来,方便后续分析和查看。
总之,基于51单片机的数字温度计实现可以通过连接热敏电阻传感器并编写相应的程序来实现温度的测量和显示。
通过添加额外的功能,例如温度报警和数据存储,可以增强温度计的实用性和功能性。
这样的温度计可以广泛应用于室内温度检测、工业控制和科研实验等领域。
基于51单片机数字温度计的设计与实现
基于51单片机数字温度计的设计与实现数字温度计是一种能够测量环境温度并显示数值的设备。
基于51单片机的数字温度计设计与实现是指利用51单片机作为核心,结合温度传感器和其他辅助电路,实现一个能够测量温度并通过数码管显示温度数值的系统。
本文将从硬件设计和软件实现两个方面介绍基于51单片机数字温度计的具体设计与实现过程。
一、硬件设计1. 温度传感器选取在设计数字温度计时,首先需要选取合适的温度传感器。
市面上常用的温度传感器有热敏电阻、功率型温度传感器(如PT100)、数字温度传感器(如DS18B20)等。
根据设计需求和成本考虑,我们选择使用DS18B20数字温度传感器。
2. 电路设计基于51单片机的数字温度计的电路设计主要包括单片机与温度传感器的连接、数码管显示电路和电源电路。
(1)单片机与温度传感器的连接在电路中将51单片机与DS18B20数字温度传感器相连接,可采用一线总线的方式。
通过引脚的连接,实现单片机对温度传感器的读取控制。
(2)数码管显示电路为了能够显示温度数值,我们需要设计一个数码管显示电路。
根据温度传感器测得的温度值,通过数字转换和数码管驱动,将温度数值显示在数码管上。
(3)电源电路电源电路采用稳压电源设计,保证整个系统的稳定供电。
根据实际需求选择合适的电源电压,并添加滤波电容和稳压芯片,以稳定电源输出。
3. PCB设计根据电路设计的原理图,进行PCB设计。
根据电路元件的布局和连线的走向,绘制PCB板的线路、元件和连接之间。
二、软件实现1. 单片机的编程语言选择对于基于51单片机的数字温度计的软件实现,我们可以选择汇编语言或者C语言进行编程。
汇编语言的效率高,但编写难度大;C语言的可读性好,开发效率高。
根据实际情况,我们选择使用C语言进行编程。
2. 温度传感器数据获取利用单片机的IO口与温度传感器相连,通过一线总线协议进行数据的读取。
根据温度传感器的通信规则,编写相应的代码实现数据的读取。
单片机课程设计报告-数字温度计
惠州学院HUIZHOU UNIVERSITY单片机课程设计设计题目系别专业班级学号学生姓名指导教师完成时间年月目录一.课题设计任务与要求。
--------------------------------------------------------二.对于课题的总体构想。
--------------------------------------------------------三.DS18B20温度传感器简介。
--------------------------------------------------------四.系统总仿真电路。
--------------------------------------------------------五.总程序。
--------------------------------------------------------六.心得体会。
--------------------------------------------------------七.参考文献。
--------------------------------------------------- 一、设计任务与要求设计任务:利用数字温度传感器DS18B20与单片机结合来测量温度。
设计要求:利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量范围为-55~125℃,精确到0.5℃。
本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
数字温度计所测量的温度采用数字显示,控制器使用单片机89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读数方式。
单片机实验报告-温度计
单片机实验报告-温度计成绩:滨江学院单片机原理及应用实验项目温度计DS18B20 院系滨江学院电子工程系专业信息工程学生姓名马骏学号 20142309029二零一七年十一月十八日一、实验目的1.1实验意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。
其缺点如下:● 硬件电路复杂;● 软件调试复杂;● 制作成本高。
本数字温度计设计采用美国DALLAS 半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。
DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的热点。
1.2功能要求设计出的DS18B20数字温度计测温范围在-55~125℃,误差在±0.5℃以内,采用LED 数码管直接读显示。
二、实验硬件2.1方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图所示:AT89C2051主DS18显示扫描2.2硬件设计温度计电路设计原理图如下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED数码管以动态扫描法实现温度显示2.3主控制器单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用。
系统可用两节电池供电。
AT89C2051的引脚图如下图所示:1、VCC:电源电压。
2、GND:地。
3、P1口:P1口是一个8位双向I/O口。
口引脚P1.2~P1.7提供内部上拉电阻,P1.0和P1.1要求外部上拉电阻。
P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(ANI0)和反相输入(AIN1)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理与应用
课程考试制作报告
作品名称:数字温度计
专业班级:
学号:
姓名:
目录
一、作品(功能)说明
二、硬件设计
三、软件设计
四、实例测试
五、经验总结
主要内容
一、功能说明:
使用单线数字温度传感器DS18B20,把温度信号直接转换成数字信号输入单片机,经单片机处理后,将实时温度显示在两个7段LED数码管上。
二、硬件设计:
电路设计图
单线数字温度传感器DS18B20的引脚2接单片机P2.5端口,用于串行数据通信。
引脚3接电源+5V,引脚3与电源+5V之间接有一个4.7KΩ的上拉电阻,传感器引脚1接地。
单片机的P0端口连接两个7段LED数码管,显示温度值。
三、程序设计:
程序开始首先对温度传感器DS18B20进行复位,检测是否正常工作;接着读取温度数据,主机发出CCH指令与在线的DS18B20联系,接着向DS18B20发出温度A/D转换44H指令,再发出读取温度寄存器的温度值BE指令,并反复调用复位、写入及读取数据字子程序,之后再继续数据转换,由数码管显示出来,不断循环。
1、流程图
2、汇编语言编写的数字温度计源程序AD14-4ASM代码如下:
01 A_BIT EQU 20H ;存放个位数变量
02 B_BIT EQU 21H ;存放十位数变量
03 FLAG EQU 38H ;DS18B20是否存在标志
04 DQ EQU P2.5 ;DQ引脚由P2.5控制
05 MAIN: ;
06 ACALL RE_TEMP ;调用读取温度子程序
07 ACALL TURN ;数据转化子程序
08 ACALL DISPLAY ;显示子程序
09 JMP MAIN ;循环主程序
10
11 RE_TEMP: ;初始化及读取温度值
12 SETB DQ
13 ACALL RESET_1820 ;调用复位子程序
14 JB FLAG, ST ;判断DS1820是否存在?
15 RET
16 ST: ;DS18B20存在
17 MOV A,#0CCH ;跳过ROM匹配
18 ACALL WRITE_1820 ;调用写入数据子程序
19 MOV A,#44H ;发出温度转换命令
20 ACALL WRITE_1820 ;调用写入数据子程序
21 ACALL RESET_1820 ;准备读温度前先复位
22 MOV A,#0CCH ;跳过ROM匹配
23 ACALL WRITE_1820 ;调用写入数据子程序
24 MOV A,#0BEH ;发出读温度命令
25 ACALL WRITE_1820 ;调用写入数据子程序
26 ACALL READ_1820 ;调用读取数据子程序设置传感器
27 RET 读取温度数据
28
29 RESET_1820: ;复位(有具体的时序要求)
30 SETB DQ
31 NOP
32 CLR DQ
33 ;――――――――――――
34 ;主机发出复位低脉冲
35 MOV R1,#3
36 DLY: MOV R0,#107
37 DJNZ R0,$
38 DJNZ R1,DLY
39 ;――――――――――――
40 ;然后拉高数据线
41 SETB DQ
42 NOP
43 NOP
44 NOP
45 ;――――――――――――
46 ;等待DS18B20回应
47 MOV R0,#25H
48 T2: JNB DQ ,T3
49 DJNZ R0, T2
50 JMP T4
51 ;――――――――――――
52 ;标志位FLAG=1,表示DS1820存在
53 T3: SETB FLAG
54 JMP T5
55 ;――――――――――――
56;标志位FLAG=0,表示DS1820不存在
57 T4: CLR FLAG
58 JMP T7
59 ;――――――――――――
60 ;时序要求延时一段时间
61 T5: MOV R0,#117
62 T6: DJNZ R0,T6
63 ;――――――――――――
64 T7: SETB DQ
65 RET 复位子程序
66
67 WRITE_1820: ;写入DS18B20(有具体的时序要求)
68 MOV R2,#8 ;一共8位数据
69 CLR C ;C=0
70 WR1:
71 CLR DQ ;总线低位,开始写入
72 MOV R3,#7
73 DJNZ R3,$ ;保持16微秒以上
74 RRC A ;把字节DATA分成8个BIT环移给C
75 MOV DQ, C ;写入一个BIT
76 MOV R3,#23
77 DJNZ R3,$ ;等待
78 SETB DQ ;重新释放总线
79 NOP
80 DJNZ R2,WR1 ;写入下一个BIT
81 SETB DQ
82 RET 写入子程序
83
84 READ_1820: ;将温度高位和低位读出
85 MOV R4,#2 ;读出两个字节的数据
86 MOV R1,#29H ;低位存入29H,高位存入28h
87 RE0:
88 MOV R2,#8 ;数据一共有8位
89 RE1:
90 CLR C
91 SETB DQ
92 NOP
93 NOP
94 CLR DQ ;读前总线保持为低
95 NOP
96 NOP
97 NOP
98 SETB DQ ;开始读总线释放
99 MOV R3,#9
100 RE2:
101 DJNZ R3,RE2 ;延时18微妙
102 MOV C, DQ ;从总线读到一个BIT
103 MOV R3,#23
104 RE3: ;
105 DJNZ R3,RE3 ;等待50微妙
106 RRC A ;把读得的位值环移给A
107 DJNZ R2,RE1 ;读下一个BIT
108 MOV @R1,A
109 DEC R1
110 DJNZ R4,RE0
111 RET 读取子程序
112
113 TURN:
114 MOV A,29H
115 MOV C,40H ;将28中的最低位移入C
116 RRC A
117 MOV C,41H
118 RRC A
119 MOV C,42H
120 RRC A
121 MOV C,43H
122 RRC A
123 MOV 29H,A
124 RET 数据转化子程序125
126 DISPLAY: ;将29H中的十六进制数成10进制
127 MOV A,29H
128 MOV B,#10 ;10进制/10=10进制
129 DIV AB
130 MOV B_BIT, A ;十位在A
131 MOV A_BIT, B ;个位在B
132 MOV DPTR,#TABLE ;指定查表启始地址
133 MOV R0,#4
134 DP1:
135 MOV R1,#250 ;显示1000次
136 LOOP:
137 MOV A,A_BIT ;取个位数
138 MOVC A,@A+DPTR ;查个位数的7段代码
139 MOV P0,A ;送出个位的7段代码
140 CLR P2.3 ;开个位显示
141 ACALL DELAY ;
142 SETB P2.3
143 MOV A,B_BIT ;取十位数
144 MOVC A,@A+DPTR ;查十位数的7段代码
145 MOV P0,A ;送出个十位的7段代码
146 CLR P2.2 ;开十位显示
147 ACALL DELAY ;显示1MS
148 SETB P2.2
149 DJNZ R1,LOOP ;250次没完循环
150 DJNZ R0,DP1 ;4个250次没完循环
151 RET 温度显示子程序152
153 DELAY: ;
154 MOV R7,#80
155 DJNZ R7,$
156 RET 延时子程序
157
158 TABLE: ;数码管共阳极0~9代码
159 DB 0C0H,0F9H,0A4H,0B0H,99H
160 DB 92H,82H,0F8H,80H,90H 代码表
161
162 END 程序结束
四、实例测试:
将写入程序的单片机插入实验板插座内,检查温度传感器DS18B20连接正常后接通电源,此时,在两位7段LED数码管上将会准确地显示环境温度,无需做任何调整。
为了观察温度传感器DS18B20对稳定变化的敏感度,可以用手捏住DS18B20管,会看到数码管上显示的温度很快上升至人体温度值,再将手离开DS18B20管,温度又会很快降到环境温度值。
温度传感器DS18B20的测温范围为-55℃~+125℃,在-10℃~85℃的精度为±0.5℃五、经验总结:
温度传感器DS18B20外形象一个小三极管,硬件连接非常简单,应用非常方便。
它不仅能测量温度,而且也是一个ADC转换器,它能将测得的温度信号直接转换成数字信号输入到单片机。
硬件开销较小,相对需要复杂的软件进行补偿,DS18B20软件编程比较复杂,但是可以把复位、读和写3个基本操作步骤的子程序看成是3个固定的基本模块,编写使用温度传感器DS18B20的程序可以参考本例。