C51单片机12(温度传感器)
C51单片机数字温度计汇编程序及说明书
1绪论1.1选题背景随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。
现在所使用的温度计通常都是精度为1℃和0.1℃的水银、煤油或酒精温度计。
这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
因此本课题就尝试通过编程与芯片的结合来解决传统数字温度计的弊端,设计出新型数字温度计。
1.2课题现状分析及研究意义温度传感器的发展现状:温度传感器使用范围广,数量多,居各种传感器之首,其发展大致经历了以下3个阶段:①传统的分立式温度传感器(含敏感元件)——热电偶传感器,主要是能够进行非电量和电量之间转换。
②模拟集成温度传感器/控制器。
集成传感器是采用硅半导体集成工艺制成的,因此亦称硅传感器或单片集成温度传感器。
③智能温度传感器。
它是微电子技术、计算机技术和自动测试技术(ATE_)的结晶。
智能温度传感器内部包含温度传感器、A/D传感器、信号处理器、存储器(或寄存器)和接口电路。
本课题的研究可以应用领域生产、生活等很多领域。
对于家用电器从洗衣机、微波炉到音响等等到处都可以用到温度控制器来方便大家的日常生活。
开发此产品后也可方便应用安装在小至家庭大到工厂车间,小至一个芯片大到一个机械设备。
例如在家庭客厅卧室等必要地方显示室温,可防止家里食物是否变质及早采取措施。
单片机基于51单片机的温度传感器设计
未来展望
技术升级
智能化发展
应用拓展
安全性考虑
随着技术的进步,未来可以 采用更高精度的温度传感器 ,提高系统的监测和控制精 度。同时,可以采用更先进 的单片机,提高数据处理速 度和控制效果。
未来可以增加更多的人工智 能算法,如神经网络、模糊 控制等,以实现更智能的温 度调控。此外,可以通过增 加传感器种类和数量,实现 对环境因素的全面监测与调 控。
03
02
传感器接口
将DS18B20温度传感器与单片机相 连,实现温度信号的采集。
通讯接口
通过UART串口通讯,实现单片机与 上位机之间的数据传输。
04
软件设计
温度采集
通过DS18B20温度传感器采集 温度信号,并转换为数字信号 。
数据显示
将处理后的温度数据通过 LCD1602液晶显示屏实时显示 出来。
温度传感器选择
选用常用的DS18B20温度传感器, 具有测量精度高、抗干扰能力强等优 点。
显示模块
选用LCD1602液晶显示屏,用于实 时显示温度值。
通讯接口
采用UART串口通讯,实现单片机与 上位机之间的数据传输。
硬件设计
01
电源电路
为单片机和传感器提供稳定的电源 。
显示接口
将LCD1602液晶显示屏与单片机相 连,实现温度的实时显示。
它能够检测环境中的温度变化,并将 其转换为电信号或其他可测量的物理 量,以便进一步处理和控制。
温度传感器的工作原理
温度传感器通常由敏感元件和转换电路组成。敏感元件负责 感知温度变化,而转换电路则将温度变化转换为电信号。
常见的温度传感器工作原理有热电效应、热电阻、热敏电阻 等。
温度传感器的分类
基于C51单片机的数字温度报警器的设计
中国地质大学(武汉)——基于C51单片机的数字温度报警器的设计指导老师:姓名:班级:072学号:专业:机械设计制造及其自动化院系:机电学院日期:2016.01.10基于单片机的数字温度报警器的设计摘要:随着现代信息化技术的飞速发展和传统工业改造的逐步实现,能独立工作的温度检测系统已广泛应用于各种不同的领域。
本次课程设计是基于AT89C51单片机进行温度传测定及报警等功能的设计,利用数字温度传感器DS18B20的测温系统,通过LED数码管和LCD液晶显示屏同时显示实时温度和报警预设温度,报警指示通过蜂鸣器的声音和16X16点阵屏同时报警,并能采取降温措施(直流电动机启动)。
同时本次设计的报警温度采用键盘输入的方式,确保各种报警温度可以方便的设定和调节。
本次课程设计的系统电路简单、操作简便,能任意设定报警温度,系统具有可靠性高、成本低、功耗小等优点。
关键词:单片机、温度检测、AT89C51、DS18B20目录基于单片机的数字温度报警器的设计 (1)一、引言: (3)二、设计方案 (3)1.基本要求 (3)2.扩展功能 (3)3.方案选定 (3)4.总体设计方案 (4)三、功能模块分析 (4)1.复位电路 (4)2.键盘电路 (5)3.DS18B20温度检测电路 (6)4.显示电路 (7)5.报警电路 (10)6.降温风扇电路 (10)四、软件设计分析 (11)1.主函数模块 (11)2.温度检测模块 (12)3.键盘扫描模块 (13)4.LCD液晶显示模块 (14)5.中断模块 (15)五、课程设计体会 (15)附录: (18)一、引言:随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。
数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。
其中数字温度计就是一个典型的例子。
数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。
C51单片机DS18B20-数码管显示-温度传感器
DQ = 0; //MCU拉低
nops(); //调用_nop_()延时函数要多一些时间,延时1.085+0.235 = 1.32us,数据手册规定大于1us
DQ = dat&0x01;//从低位到高位发送 ,要在15us之前将数据送到总线上
#include <reg52.h>
#include <intrins.h>
#include "def.h"
#define nops(); {_nop_(),_nop_();}
code uchar num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
void WriteByte(uchar dat)//写0或写1共用此函数
{
uchar i;
for(i=0;i<8;i++)// 00000 001,分别写1位的时序
{ // 0000 0000
DQ = 1; //起始状态总线为高
}
/*****************************读一个字节*******************************/
uchar ReadByet()
{
uchar i;
uchar dat = 0;
for(i=0;i<8;i++) //分别读1位的时序
{
DQ = 1; //起始
dat |= 0x01<<i;//最先发送过来的是低位数据
}
delay10us(6); //延时60us,其中包括发送两个时间之间所需的时间间隔
温度传感器来实现。当温度过高时就自动报警程序
unsigned char code TABLE[]={
0xd7,0x11,0xcd,0x5d,0x1b,
0x5e,0xde,0x15,0xdf,0x5f,
0x9f,0xdf,0xc6,0xd7,0xce,0x8e};
void delay(uint count) //delay
//一个字节在DAT里
}
return(dat); //将一个字节数据返回
}
void tmpwritebyte(uchar dat) //write a byte to ds18b20
{ //写一个字节到DS18B20里
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) //write 1写1部分
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0)i--;
}
else
{
DS=0; //write 0写0部分
i=8;while(i>0)i--;
DS=1;
i++;i++;
}
}
}
void tmpchange(void) //DS18B20 begin change发送温度转换命令
temp=temp|a; //两字节合成一个整型变量。
tt=temp*0.0625; //得到真实十进制温度值,因为DS18B20
//可以精确到0.0625度,所以读回数据的最低位代表的是
C51单片机实例温控程序(各模块详解附图
*
*
实际温度超过你设定的温度,蜂鸣器报警。
*
*
*
*
包括各个模块及详细的注释
*
*
方便 C51 单片机入门级别者阅读
*
*--------------------------------------------------------------------------------------*/
#include<stc12c5a.h> typedef unsigned char uchar ; typedef unsigned int uint; sbit heat= P1^3; uchar makesure; uchar tp=0; uchar num=0; uchar ad=0; uchar s60,s61,s62,s63,temp;
/*--------------------------------------------------------------------------------------------------------------------------------------------
*
*
*
该程序为一个完整的温度控制器程序
0x3e,0x3d,0x3d,0x3c,0x3b,0x3b,0x3a,0x39,0x38,0x38,0x37,0x36,0x36,0x36,0x35,0x35,
0x34,0x33,0x33,0x32,0x32,0x31,0x31,0x30,0x30,0x2f,0x2f,0x2e,0x2e,0x2d,0x2d,0x2c,
0x10,0x0f,0x0f,0x0e,0x0e,0x0e,0x0d,0x0d,0x0c,0x0c,0x0b,0x0b,0x0b,0x0a,0x0a,0x09,
c51单片机温度传感器控制电机转动
图12 主程序流程图
5.2
读温度值模块需要调用4个子程序,分别为:
DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作
DS18B20写字节子程序:对DS18B20发出命令
DS18B20读字节子程序:读取DS18B20存储器的数据
延时子程序:对DS18B20操作时的时序控制
4.2.2
图3DS18B20外形及引脚
GND:地
DQ:单线运用的数据输入/输出引脚
VD:可选的电源引脚
4.2.3
单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。
图4 DS18B20接线原理图
4.2.4
主机使用时间隙来读写DS18B20的数据位和写命令字的位。
1.初始化时序如下图:
课程设计报告
基于单片机的DS18B20温度控制设计
学院:计算机科学与工程
专业:计算机科学与技术
班级:090603
学号:090603120
姓名:张阳阳
指导老师:乔永兴
1
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温度计就是一个典型的例子。
图5 DS18B20初始化时序
2.DS18B20读写时序:
图6DS18B20读写时序
4.2.5
高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。
基于c51单片机的数字温度自动控制电路
基于c51单片机的数字温度自动控制电路一、概述随着科技的不断发展,单片机技术已经被广泛应用于各个领域,其中数字温度自动控制电路是单片机在家电领域中的一大应用。
本文将介绍基于c51单片机的数字温度自动控制电路的设计原理、硬件连接和软件设计。
二、设计原理数字温度自动控制电路是通过传感器收集环境温度信号,经过一定的处理后,根据设定的温度阈值来控制加热或降温设备的工作。
在本设计中,c51单片机将充当控制中心,负责接收传感器信号、进行温度处理,并根据需要发送控制信号。
三、硬件连接1. 传感器部分:采用DS18B20数字温度传感器,它通过一根三线(VCC、GND、DATA)来与单片机相连接,其中DATA线连接到单片机的IO口。
2. 控制部分:通过继电器或者晶闸管等电器元件来控制加热或降温设备的开关,其控制触发线连接到单片机的IO口。
四、软件设计1. 温度采集:通过单片机的IO口读取传感器发送的数字信号,并通过相应的函数进行温度的转换和处理。
2. 温度控制:根据预先设定的目标温度,当实际温度超过或低于设定值时,单片机将相应地通过IO口控制继电器或晶闸管等元件来控制加热或降温设备的开关。
3. 显示部分:可以选择在液晶显示屏上显示当前的温度值和设定的目标温度值,以便实时监测和调整。
五、总结基于c51单片机的数字温度自动控制电路具有温度精度高、控制灵活等优点,适用于家用空调、恒温器、温室控制系统等多种应用场景。
希望本文能够帮助读者对于该领域有所了解,并且可以在实际应用中发挥一定的帮助作用。
六、优化与改进在实际的数字温度自动控制电路应用中,我们可以针对硬件和软件部分进行一些优化和改进,以提高性能和稳定性。
1. 硬件方面的优化:可以考虑采用更精准的温度传感器,如PT100或者thermistor,以提高温度测量的精度。
可以使用更高功率、更可靠的继电器或者晶闸管等控制元件,以适应不同类型的加热或降温设备。
2. 软件方面的优化:在软件设计上,可以引入PID控制算法,以实现更精确的温度控制。
基于51单片机的温度报警器设计
基于51单片机的温度报警器设计引言:温度报警器是一种用来检测环境温度并在温度超过设定阈值时发出警报的装置。
本文将基于51单片机设计一个简单的温度报警器,以帮助读者了解如何利用单片机进行温度监测和报警。
一、硬件设计硬件设计包括传感器选择、电路连接以及报警装置的设计。
1.传感器选择温度传感器的选择非常重要,它决定了监测温度的准确性和稳定性。
常见的温度传感器有热敏电阻(如NTC热敏电阻)、热电偶以及数字温度传感器(如DS18B20)。
在本设计中,我们选择使用DS18B20数字温度传感器,因为它具有高精度和数字输出的优点。
2.电路连接将DS18B20与51单片机连接,可以采用一根三线总线(VCC、GND、DATA)的方式。
具体连接方式如下:-将DS18B20的VCC引脚连接到单片机的VCC引脚(一般为5V);-将DS18B20的GND引脚连接到单片机的GND引脚;-将DS18B20的DATA引脚连接到单片机的任意IO引脚。
3.报警装置设计报警装置可以选择发出声音警报或者显示警报信息。
在本设计中,我们选择使用蜂鸣器发出声音警报。
将蜂鸣器的一个引脚连接到单片机的任意IO引脚,另一个引脚连接到单片机的GND引脚。
二、软件设计软件设计包括温度读取、温度比较和报警控制的实现。
1.温度读取通过51单片机的IO引脚和DS18B20进行通信,读取DS18B20传感器返回的温度数据。
读取温度数据的具体步骤可以参考DS18B20的通信协议和单片机的编程手册。
2.温度比较和报警控制将读取到的温度数据和设定的阈值进行比较,如果温度超过阈值,则触发报警控制。
可以通过控制蜂鸣器的IO引脚输出高电平或低电平来控制蜂鸣器是否发出声音警报。
三、工作原理整个温度报警器的工作原理如下:1.首先,单片机将发出启动信号,要求DS18B20开始温度转换。
2.单片机等待一段时间,等待DS18B20完成温度转换。
3.单片机向DS18B20发送读取信号,并接收DS18B20返回的温度数据。
51单片机温度计
目前,单片机已经广泛应用于测控领域。
它不仅可以测量电信,还可以测量温度、湿度等非电信号。
可独立工作的单片机温度检测与控制系统已广泛应用于许多领域。
单片机是一种特殊的计算机,它将CPU、存储器、RAM、ROM和输入输出接口电路集成在一块半导体芯片上。
这个芯片叫单片机。
单片机由于集成度高、功能强、通用性好,具有体积小、重量轻、能耗低、价格低、抗干扰能力强、可仿制等优点。
得到了迅速的推广和应用,现已成为测控系统中的优秀机型和新型电子产品中的关键元器件。
单片机不仅仅局限于小系统的概念,还广泛应用于家用电器、机电产品、办公自动化产品、机器人、儿童玩具、航天器等领域。
这次我们的模拟电气设计是用单片机来控制温度。
传统的温度传感器大多采用热敏电阻作为温度传感器,但热敏电阻的可靠性差,测温精度低,必须通过专门的接口电路转换成数字信号,才能由单片机进行处理。
这次我和同学陆鲁豫用的是DS18B。
20数字温度传感器实现基于51单片机的温度计设计。
传统温度计存在反射速度慢、读数麻烦、测量精度低、误差大等缺点。
利用集成温度传感器DS18B20,设计并制作了一种基于AT89C51的4位数码管数字温度计。
其电路简单,软硬件结构模块化,易于实现。
数字温度计是利用温度传感器和接口电路测量温度并转换成模拟电压信号,通过模数转换器转换成单片机可以处理的数字信号,然后送到单片机进行处理和转换,最后在数码管上显示温度值。
该系统由单片机为控制核心,DS18B20温度传感器,带4位温度数据显示的共阴极数码管,外围电源和报警电路组成。
2.设计任务和要求2.1设计任务在现代生活中,多功能数字体温计可以给我们的生活带来极大的便利。
支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本。
以美国MA*IM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,ATMEL公司的AT89S52位控制器设计的AT89S51为智能温度控制器,结构简单,测温准确,具有一定的控制功能。
单片机温度传感器设计报告
单片机温度传感器设计报告一、设计目的本设计旨在利用单片机和温度传感器构建一个温度测量系统,实时监测周围环境的温度,并通过显示屏显示出来。
通过这个设计,可以使用户及时了解到室内环境的温度情况,为用户提供一个舒适的居住环境。
二、设计原理1.硬件部分温度传感器:采用数字温度传感器DS18B20,具有高精度、线性度高、抗干扰性好等优点,可以提高温度测量的准确性。
单片机:采用STC89C52单片机,具有丰富的外设资源和强大的计算能力,可以实现温度数据的采集、处理和显示功能。
电源:采用稳压电源,保证系统的稳定性和可靠性。
2.软件部分主程序:通过单片机的AD转换模块,将温度传感器的模拟信号转换为数字信号,然后进行温度计算和数据处理,最后将结果显示在液晶显示屏上。
温度转换算法:根据温度传感器的数据手册,利用公式将采集到的数字信号转换为实际温度值。
实时显示功能:通过控制单片机的定时器和中断,实现对温度数据的实时采集和显示。
三、设计步骤1.硬件连接将温度传感器的VCC接到单片机的5V电源引脚,GND接到单片机的地引脚,DQ接到单片机的P1口。
将液晶显示屏的VCC接到单片机的5V电源引脚,GND接到单片机的地引脚,RS、RW、E分别接到单片机的P2.0、P2.1、P2.2口,D0-D7接到单片机的P0口。
将单片机的P3口接到稳压电源的输出端,作为单片机的电源。
2.软件编程使用Keil C51软件进行编程,编写主程序和温度转换算法。
通过对单片机的中断和定时器的配置,实现对温度数据的实时采集和显示。
通过对液晶显示屏的控制,将温度数值显示在屏幕上。
同时,可以设置温度报警功能,当温度超过设定的范围时,通过蜂鸣器发出警告声。
四、实验结果经过上述设计和调试,实验结果显示良好。
温度传感器能够准确地采集到周围环境的温度值,并通过液晶显示屏实时显示出来。
当温度超过设定范围时,蜂鸣器发出警告声,提醒用户采取相应的措施。
整个系统工作稳定、准确性高、实用性强。
基于51单片机的心率体温测试系统
摘要本文介绍了一种基于51单片机的心率体温采集系统。
首先介绍了51系列单片机的内部相关配置、工作原理以及编程方法,其次介绍了温度传感器PT100的相关测温方法以及通过红外光电传感器TCRT5000对射的方法来抓取人体脉搏信号。
此次设计的电路部分主要包括:传感测量电路、放大电路、滤波整形电路、AD转换电路、计数显示电路、控制电路、电源供电电路等。
通过按键开始测试,将PT100及TCRT5000输入的微弱信号进行放大整形,最后AD采集转换传送给单片机,在LCD1602上显示相关体温及心率信息。
本次硬件设计基于比较稳定可行、低成本的设计思想,软件设计采用模块化的设计方法,并且详细分析了红外传感器TCRT5000应用于心率测量上以及PT100应用于温度测量上的原理及优点,阐述了其他各配合电路的组成与工作特点,并且通过仿真进行电路的可行性验证,最后完成实物电路的设计,使得本次课题的预期结果得以实现。
关键词:51单片机;传感器;仿真;AD转换IAbstractThis paper introduced a heart rate and body temperature acquisition system that based on 51 single chip microcomputer. First the internal configurations of 51 single chip microcomputer are introduced. And the paper also tell how 51 single chip microcomputer works and how can we program on it. Then the method of using temperature sensor PT100 to get body temperature is introduced, and we use infrared photoelectric sensor TCRT5000 to get the pulse signal of human body.The design of the circuit mainly comprises sensing circuit , amplifying circuit, filtering and shaping circuit, AD converting circuit, counting and displaying circuit, controlling circuit, power supplying circuit and so on. When the keyboard is pressed, the system starts to get signal. The small signal from PT100 and TCRT5000 will be amplified and shaped. Then ad converter will change the analog signal into digital signal and send to 51 single chip microcomputer . At last LCD1602 will display the information of body temperature and heart rate.Keywords: Piezoelectric sensors;control circuit;counters;Multisim2001 simulation software control circuit.II目录第一章引言 (1)1.1 心率体温测试计研究的意义 (1)1.2 国内外研究现状 (1)1.3 设计内容 (4)第二章51系列单片机功能简介 (5)2.1 51系列单片机的内部结构 (5)2.2 51单片机所使用的编程语言 (6)2.2.1 汇编语言 (6)2.2.2 C51语言 (7)第三章电路常用芯片介绍 (9)3.1 温度传感器PT100介绍 (9)3.2 红外反射式传感器TCRT5000介绍 (9)3.3 AD转换芯片ADC0804介绍 (11)3.4 LCD1602液晶显示屏介绍 (12)3.5 比较器LM393介绍 (14)第四章硬件设计 (16)4.1 硬件总框图设计 (16)4.2 体温采集电路设计 (16)4.2.1 PT100传感器电路 (16)4.2.2 信号放大电路 (17)4.2.3 AD转换电路 (17)4.3 心率信号采集电路设计 (18)4.3.1 红外发射电路 (18)4.3.2 红外接收电路 (18)4.3.3 二级信号放大电路 (19)4.3.4 滤波电路 (19)4.3.5 波形变换电路 (20)4.4 按键电路设计 (20)4.5 LCD1602显示电路设计 (21)4.6 报警电路设计 (21)第五章软件设计 (23)5.1 总程序设计和流程图 (23)5.2 体温采集部分程序设计 (26)5.3 心率信号采集部分程序设计 (26)5.4 按键中断程序设计 (27)5.5 LCD1602显示程序设计 (27)5.6 STC89C52的EEPROM数据保存程序设计 (28)5.7 时钟功能模块的设计 (28)III目录第六章实物验证及结论 (29)6.1 实物验证 (29)6.2 结论 (31)参考文献 (32)致谢 (33)附录 (34)IV第一章引言1.1 心率体温测试计研究的意义随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
51单片机课程设计数字温度计报告
电子毕业设计数字温度计题目:数显温度计学院:电子信息学院班级:学号::指导老师:日期:数字温度计设计任务书一、课程设计目的1、加强学生理论联系实际的能力,提高学生的动手能力;2、学会基本电子元器件的识别和检测;3、学会应用EDA软件Proteus进行电路的设计和仿真;4、基本掌握单片机的基本原理,并能将其应用于系统的设计。
5、通过实训,提高学生的学习兴趣,激发自主学习能力,培养创新意识。
二、设计任务先焊制一个单片机最小系统,并以制作的单片机最小系统为核心,设计并制作一个数字式温度计应用系统。
三、设计要求具有以下功能:(1)采用DS18B20作为温度传感器进行温度检测;(2)对采集温度进行显示(显示温度分辨率0.1℃);(3)采集温度数值应采用数字滤波措施,保证显示数据稳定;(4)显示数据,无数据位必须消隐。
目录数字温度计设计任务书 (2)1、设计思路(1)设计原理 (4)(2)系统方案及总体设计框图 (4)2、数字温度计应用系统的硬件设计(1)单片机小系统基本组成及硬件图(2)外围电路工作原理及系统硬件图(3)主要芯片及其功能3、系统软件程序的设计软件流程框图4、系统调试(1)仿真器介绍(2)调试结果及其分析(3)系统设计电路的特点和方案的优缺点5、课程设计心得体会参考文献附录程序清单及注释一、 设计思路:设计方案及其总体设计框图温度计设计系统流程图系统设计原理:本次课程设计是基于单片机的数字温度计设计,在开始课程设计的时候我们要理解并掌握对单片机的开发,学会使用KEIL 及Proteus 等仿真软件。
根据设计任务要求选二、数字温度计应用系统的硬件设计1、单片机小系统的基本组成及其选择 (1)单片机 单片机选型参考 • ① AT89S51、AT89S52 :具备ISP 下载功能 ,可以使用USBASP 程序下载线或者并口下载• ② STC89C51、STC89C52:使用串口线+MAX232烧写程序。
单片机课程设计基于51单片机温度传感器设计
单片机课程设计报告基于51单片机温度传感器设计姓名:阮晓健学号:200905020118任课教师:林凡强成都理工大学信科院2012年5系统概述摘要:本设计是以51单片机为核心的温度传感器设计,该系统以STC89C52单片机为中心控制单元,由数码管显示模块,蜂鸣器警报模块组成,并预设温度报警上下限,系统启动后可以实时采集环境中的温度,并且当温度超出上下限的值以后蜂鸣器报警.关键词:STC89C51、数码管、蜂鸣器、DS18B20温度传感器系统框图:原理概述:STC89C52单片机为主控制器,用于处理采集的温度值以及相关报警值。
本设计采用DALLAS公司的DS18b20温度传感器采集温度,通过主控制器进行温度的采样以及转换并在数码管上进行相应的显示,当外界温度值超出预设的报警温度值时,通过蜂鸣器报警提示。
实验要求:(1)温度读取(2)LED数码管或LCD显示(3)定时读取数据(4)报警实验设备:51学习开发板,STC89C52单片机,DS18B20 设计内容:软件流程图:N设计方法:DS18B20特性• 独特的单线接口仅需一个端口引脚进行通讯 • 简单的多点分布应用 • 无需外部器件 • 可通过数据线供电 • 零待机功耗• 测温范围-55---+125℃,以0.5℃递增。
华氏器件-67---+257℉,以0.9℉递增 • 温度以9 位数字量读出• 温度数字量转换时间 200ms (典型值) • 用户可定义的非易失性温度报警设置• 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 • 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统温度传感器说明:DS1820 数字温度计以 9 位数字量的形式反映器件的温度值。
DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820 之间仅需一条连接线(加上地线)。
用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。
51单片机测温度原理
51单片机测温度的原理如下:
1. 温度检测:使用数字温度传感器检测当前环境的温度。
由于数字信号可以直接送入单片机,因此传感器检测到的温度值会通过数据线传输到单片机中。
2. 数据处理:单片机接收到温度数据后,进行相应的处理。
根据预设的阈值,单片机可以对接收到的温度数据进行比较,当实际温度低于或高于设定值时,会触发相应的动作。
3. 显示与报警:单片机将处理后的温度数据发送到LCD显示屏上,用户可以实时查看当前温度。
同时,如果实际温度低于或高于设定的安全范围,单片机还会驱动报警装置(如蜂鸣器)发出警报。
4. 通信:为了实现数据的远距离传输或多个地点的数据共享,单片机可以通过串口或其他通信接口,将温度数据发送到计算机或其他数据终端。
需要注意的是,为了确保测温的准确性和稳定性,在实际应用中还需要考虑环境因素、传感器精度、电路设计、软件算法等多方面的影响因素。
2012毕业设计基于C51单片机DS18B20温度计的设计与实现
前言单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。
随着温度控制器应用范围的日益广泛和多样性,各种适用于不同场合的智能温度控制器应运而生。
电子温度计的出现,给人类的生活带来了很多方便,使人类不管是在生活还是在工业方面都有了很多便利之处。
但是电子温度计主要应用还是在生产过程、实验室及研究所。
电子温度计本身可由电源提供电压,用温度传感器检测温度,因此电子温度计属温度系统。
控制理论从经典理论、现代理论已经发展到更先进的控制理论,控制系统也由简单的控制系统、大系统发展到今天的复杂系统。
本文讨论的电子温度计温度控制系统AT89C2051单片机提取DS18B20转化成温度变化通过单片机内部A/D转化电路转化成数值并由数显电路显示出来。
在我们日常生活及各种生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。
其缺点如下:1.硬件电路复杂;2.软件调试复杂;3.制作成本高。
而传统的温度计也有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用集成温度传感器DS18B20设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。
其中温度传感器DS18B20,它集温度测量、A/D转换于一体,其测量范围宽(-55℃~125℃),DS18B20是一款具有单总线结构的器件。
由DS18B20组建的温度测量单元体积小,便于携带、安装。
同时,DS18B20的输出为数字量,可以直接与单片机连接,无需后级A/D转换,控制简单。
第一章总体设计方案1.1 系统的设计原则一般系统的设计原则包含安全性(稳定抗干扰性),操作的便利性(人性化),实时性,通用性和经济性。
(1)安全可靠首先要选用高性能的AT89C51单片机,保证在恶劣的工业环境下能正常运行。
其次是设计可靠的控制方案,并具有各种安全保护措施,如报警、事故预测、事故处理和不间断电源等。
单片机基于51单片机的温度传感器设计PPT课件
缺点: 增大调节到某一精确值的难度
温度超限报警
2021/3/31
具体思路
1 用LED灯和蜂鸣器共同实现报警功能 2 用软件程序实现单片机输出控制信号 3 搭建外围电路,实现信号对报警器的控制
硬件连接图
2021/3/31
程序代码
2021/3/31
if(temp>highlimt||temp<lowlimt)
ADC0809
ADC0809是美国国家半导体公司 生产的CMOS工艺8通道,8位逐次 逼近式A/D模数转换器。其内部有 一个8通道多路开关,它可以根据 地址码锁存译码后的信号,只选通 8路模拟输入信号中的一个进行A/D 转换。
ADC0809
主要特性:
8路输入通道,8位A/D转换器,即分辨率为8位。 具有转换起停控制端。 转换时间为100μs(时钟为640KHz时),130μs(时
钟为500KHz时)。 单个+5V电源供电。 模拟输入电压范围0~+5V,不需零点和满刻度校
准。 工作温度范围为-40~+85摄氏度。 低功耗,约15mW。
ADC0809内部结构
ADC0809各脚功能
D7-D0:8位数字量输出引脚。 IN0-IN7:8位模拟量输入引 脚。 VCC:+5V工作电压。 GND:地。 REF(+):参考电压正端。 REF(-):参考电压负端。
ADC0809各脚功能
START:A/D转换启 动信号输入端。 ALE:地址锁存允许 信号输入端。 (以上两种信号用 于启动A/D转) A、B、C:地址输入 线
ADC0809各脚功能
EOC:转换结束信号输 出引脚,开始转换时为 低电平,当转换结束时 为高电平。 OE:输出允许控制端, 用以打开三态数据输出 锁存器。 CLK:时钟信号输入端 (一般为500KHz)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DS18B20内部 内部RAM地址安排 内部 地址安排
• 9字节 字节 存储器内容 温度值低位 温度值高位 温度上限值 温度下限值 配置寄存器 保留 保留 保留 CRC校验值 校验值 字节地址 0 1 2 3 4 5 6 7 8
DS18B20的温度数据存储格式 的温度数据存储格式
位7 23 位6 22 位5 21 位4 20 位3 2-1 位2 2-2 位1 2-3 位0 2-4 位8 24
O 1
O 2
O 3
1
2
3 仰视图
GND
正视图
VDD
DQ
DS1820内部结构框图 内部结构框图
存储器和控制逻辑 温度传感器 内部VDD 64位ROM 和单线端口 暂存器 上限触发 TH 下限触发 TL VDD 电源检测 8位CRC产生器
工作过程
• 内部低温度系统振荡器
– 振荡频率随温度变化很小,为计数器 提供一 振荡频率随温度变化很小,为计数器1提供一 个频率稳定的计数脉冲
DS18B20的操作指令 的操作指令
• 0x33——读取ROM。读传感器 ——读取 中的64位编 ——读取 。读传感器ROM中的 位编 中的 码 • 0x55——匹配 ——匹配 ——匹配ROM。发出此命令后,接着发出 。发出此命令后, 64位编码,访问单一总线上相应的 位编码, 位编码 访问单一总线上相应的DS18B20,并 , 使之做出响应, 使之做出响应,为读写做准备 • 0xF0——搜索 ——搜索 ——搜索ROM。用于确定挂接在同一总线上 。 芯片数, 位地址, 的DS18B20芯片数,识别 位地址,为操作各器 芯片数 识别64位地址 件做准备 • 0xCC——跳过 ——跳过 ——跳过ROM。当总线上只有一个温度传 。 感器芯片时,忽略64位地址 直接向DS18B20发 位地址, 感器芯片时,忽略 位地址,直接向 发 出命令 • 0xEC——告警搜索。执行后,只有温度超过预设 ——告警搜索 ——告警搜索。执行后, 上、下限的芯片才做出响应
写数据字节的子过程(方法二) 写数据字节的子过程(方法二)
void ds1820writebyte(uchar wdata) //ds1820写数据字节 写数据字节 { uchar i=0; for (i=8; i>0; i--) //按从低到高的顺序,逐位输出数据字节 按从低到高的顺序, 按从低到高的顺序 { DQ = 0; //数据线输出 数据线输出0 数据线输出 DQ = wdata & 0x01; //准备写数据位(同时延时 准备写数据位( 准备写数据位 同时延时15us) ) ds1820delay(10); //延时 延时45us 延时 DQ = 1; //数据线输出 数据线输出1 数据线输出 wdata>>=1; //右移一位,准备下次发送 右移一位, 右移一位 } }
符号位( : 符号位(1:负值 0:正值) :正值) 测得数据× 测得数据×0.0625 = 实际温度值
单个DS1820芯片与单片机的连接 芯片与单片机的连接 单个
• 在有条件的情况下,最好每个温度传感器 在有条件的情况下, 都使用独立电源
接MCU
初始化
数据线置“ ” 数据线置“1” 延时(时间要求不严格,但尽量短一点) 延时(时间要求不严格,但尽量短一点) 数据线置“ ” 数据线置“0” 延时750us(480~960us) 延时 数据线置“ ” 数据线置“1” (15~60us) 延时等待芯片返回的低电平 若读到数据线上低电平0,再延时( 若读到数据线上低电平 ,再延时(从 5 开始至 少480us) ) 8. 数据线再次置“1”,结束 数据线再次置“ ” 1. 2. 3. 4. 5. 6. 7.
位15 位14 位13 位12 位11 位10 位9 S S S S S 26 25
DS18B20的温度数据存储格式 的温度数据存储格式
• 字节 字节0
位7 23 位6 22 位5 21 位4 20 位3 2-1 位2 2-2 位1 2-3 位0 2-4
• 字节1 字节
位15 位14 位13 位12 位11 位10 位9 S S S S S 26 25 位8 24
DS18B20芯片的地址编码 芯片的地址编码
• 当单一总线上挂接多个 当单一总线上挂接多个DS18B20芯片时, 芯片时, 芯片时 使用64位光刻 位光刻ROM地址来区别不同芯片 使用 位光刻 地址来区别不同芯片 • 64位地址码是产品出厂前光刻好的 位地址码是产品出厂前光刻好的
– 产品类型标号(说明是温度传感器) 产品类型标号(说明是温度传感器) – 序列号(与网卡 序列号(与网卡MAC地址相似) 地址相似) 地址相似 – CRC码(CRC = X8+X5+X4+1,用于校验 用于校验) 码 用于校验 8位CRC码 位 码 48位序列号 位序列号 8位产品类型标号 位产品类型标号
主要性能指标
• 温度测量范围: -55℃ ~ +125 ℃ 温度测量范围: ℃ • 温度测量精度: ±0.5 ℃(-10℃ ~ +85 ℃) 温度测量精度: - ℃ • 温度数字量转换时间:200ms(典型值) 温度数字量转换时间: (典型值)
DS18B20的外观与引脚 的外观与引脚
DALLAS DS18B20
主控制器写“0”时 隙 15us 15us min typ 30us max 15us 主控制器写“1”时 隙 15us min typ 30us max
Vcc GND
写数据字节的子过程(方法一) 写数据字节的子过程(方法一)
void tempwritebyte(uchar dat) //向18B20写一个字节数据 向 写一个字节数据 { uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb = dat & 0x01; //判断写数据最低位 判断写数据最低位 if(testb) //写 "1" 写 { ds=0; //数据线输出低电平 数据线输出低电平 i++;i++; //延时 延时15us 延时 ds=1; //数据线输出高电平(写"1") 数据线输出高电平( 数据线输出高电平 ) i=8;while(i>0)i--; //延时 延时>45us 延时 } else //写 "0" 写 { ds=0; //数据线输出低电平 数据线输出低电平 i=8;while(i>0)i--; //延时 延时>45us 延时 ds=1; //数据线输出高电平 数据线输出高电平 i++;i++; //延时 延时15us 延时 } dat = dat>>1; //右移一位,准备下次写操作 右移一位, 右移一位 } }
51系列单片机
第12讲 温度传感器 讲
计算机教研室 宋文强
温度传感器概述
温度传感器DS1820 温度传感器
• • • • • • • • Dallas公司生产的数字温度传感器 公司生产的数字温度传感器 单总线接口方式,只需要与MCU的一个端口连 单总线接口方式,只需要与 的一个端口连 接即可实现双向通信 可以直接将温度转化成串行数字信号 只有三个引脚(VDD、GND、DQ) 只有三个引脚( 、 ) 同一总线上可以挂接多个温度传感器芯片 适用于远距离多点温度检测 +5V供电,也可以在信号线上高电平时为内部电 供电, 供电 容充电, 容充电,供低电平时消耗 电源极性接反时,芯片发烫, 电源极性接反时,芯片发烫,但不会烧坏
• 内部高温度系统振荡器
– 振荡频率对温度很敏感,为计数器 提供一个 振荡频率对温度很敏感,为计数器2提供一个 频率随温度变化的计数脉冲
温度测量原理
斜坡累加器
预置
比较
低温度系数振荡器
计数器1 增加
预置Βιβλιοθήκη =0?温度寄存器高温度系数振荡器
计数器2
停止
=0?
温度测量过程
• 初始时
– 温度寄存器被预置成-55 ℃ 温度寄存器被预置成- – 计数器 被预置成与-55 ℃相对应的一个量 计数器1被预置成与 被预置成与-
• 计数器 从预置数开始减计数到0时,温度寄存器 计数器1从预置数开始减计数到 时 从预置数开始减计数到 中的温度值增加1 中的温度值增加 ℃ • 斜率累加器为计数器 提供新的计数值 斜率累加器为计数器1提供新的计数值 • 计数器 开始新的减计数,这个过程重复进行,直 计数器1开始新的减计数,这个过程重复进行, 开始新的减计数 到计数器2计数到 计数到0为止 到计数器 计数到 为止 • 除初始值以外,计数器1每一个循环的预置数都由 除初始值以外,计数器 每一个循环的预置数都由 斜率累加器提供 • 为了补偿振荡器温度特性的非线性,斜率累加器 为了补偿振荡器温度特性的非线性, 提供的预置数将随温度而相应变化(也就是说, 提供的预置数将随温度而相应变化(也就是说, 在不同温度范围时,使温度寄存器值增加1 在不同温度范围时,使温度寄存器值增加 ℃所 需要的计数个数是不同的) 需要的计数个数是不同的)
读数据字节的子过程(方法一) 读数据字节的子过程(方法一)
DS18B20的操作指令 的操作指令
• 44H——温度转换。启动DS18B20进行温度转换, ——温度转换。启动 进行温度转换, ——温度转换 进行温度转换 结果存入内部RAM 结果存入内部 • BEH——读暂存器。读内部 ——读暂存器 ——读暂存器。读内部RAM中的温度数据 中的温度数据 • 4EH——写暂存器。发出向内部RAM第2、3字节 ——写暂存器。发出向内部 第 、 字节 ——写暂存器 写上、下限值的命令,紧接着传送2字节数据 写上、下限值的命令,紧接着传送 字节数据 • 48H——复制暂存器。将内部 ——复制暂存器 ——复制暂存器。将内部RAM第2、3字节内 第 、 字节内 容复制到EEPROM 容复制到 • B8H——重调 ——重调 ——重调EEPROM。将EEPROM中内容恢 。 中内容恢 复到内部RAM第2、3字节 复到内部 第 、 字节 • B4H——读供电方式。读得 ,DS18B20采用寄 ——读供电方式 ——读供电方式。读得0, 采用寄 生供电;读得1, 生供电;读得 ,DS18B20利用外接电源供电 利用外接电源供电