基于 DS18B20 数字温度计设计

基于 DS18B20 数字温度计设计
基于 DS18B20 数字温度计设计

测控技术与仪器专业

《测控系统原理与设计》课程设计任务书

淮阴工学院

电子与电气工程学院

2014年6月

《测控系统原理与设计》课程设计

课题:基于 DS18B20 数字温度计设计

班级学号

学生姓名

专业测控技术与仪器

系别测控系

指导教师杨银贤李华

淮阴工学院

电子与电气工程学院

2014年6月

目录1 概述

1.1 课程设计的意义

1.2 设计的任务和要求

2 系统总体方案及硬件设计

2.1 数字温度计设计方案论证

2.2 系统总体设计

2.3 系统模块

2.3.1 主控制器

2.3.2 显示电路

2.3.3 温度传感器

2.3.4 报警温度调整按键

3 系统软件算法分析

3.1 主程序流程图

3.2 读出温度子程序

3.3 温度转换命令子程序

3.4 计算温度子程序

3.5 显示数据刷新子程序

3.6 按键扫描处理子程序

4 实验仿真

5 总结与体会

查考文献

附1 源程序代码

1 概述

1.1 课程设计的意义

单片机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。本设计主要利用单片机和LCD液晶显示屏设计一个数字显示的温度计。选题的意义在于通过这次设计可以将平时在课堂上学到的关于单片机的知识应用与实践中,而且更加深入的认识到单片机在现代生活和生产中的重要性。

1.2 设计的任务和要求

1、基本范围0℃-100℃

2、精度误差小于0.5℃

3、LED 数码直读显示

2 系统总体方案及硬件设计

2.1 数字温度计设计方案论证

考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。

2.2 系统总体设计

温度计电路设计总体设计方框图如图 1 所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3 位LED 数码管以串口传送数据实现温度显示。

图 2.2—1 总体设计方框图

图 2.2 —2 系统仿真图

2.3 系统模块

系统由单片机最小系统、显示电路、按键、温度传感器等组成。

2.3.1 主控制器

单片机AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电

路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

晶振采用12MHZ。复位电路采用上电加按钮复位。

图 2.3.1—1 晶振电路

图 2.3.1—2 复位电路

显示电路采用4 位共阴极LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。

图 2.3.2 数码管显示电路

2.3.3 温度传感器

DS18B20 的性能特点如下:

1、独特的单线接口仅需要一个端口引脚进行通信;

2、多个DS18B20 可以并联在惟一的三线上,实现多点组网功能

3、无须外部器件;

4、可通过数据线供电,电压范围为3.0~5.5V;

5、零待机功耗;

6、温度以9或12位数字;

7、用户可定义报警设置;

8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20 的1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图 4 所示单片机端口接单线总线,为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。当DS18B20 处于写存储器操作和温度A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD 端接地。由于单线制只有一根线,因此发送接口必须是三态的。

图 2.3.3 温度传感器与单片机的连接

3 系统软件算法分析

系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序,按键扫描处理子程序等。

3.1 主程序流程图

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20 的测量的当前温度值,温度测量每1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图 3.1 所示。

3.2 读出温度子程序

读出温度子程序的主要功能是读出RAM 中的9 字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如图3.2 示

3.3 温度转换命令子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨率时转换时间约为750ms,在本程序设计中采用1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图 3.3 所示

3.4 计算温度子程序

计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 3.4 所示。 3.5 显示数据刷新子程序

显示数据刷新子程序主要是对 分离后的温度显示数据进行刷新操作,当标志位位为 1时将符号显示位移入第一位。程序流程图如图 3.5 。

3.6 按键扫描处理子程序

按键采用扫描查询方式,设置标志位,当标志位为1 时,显示设置温度,否则显示当前温度。如下图 3.6 示。

4 实验仿真

进入protuse 后,连接好电路,并将程序下载进去。将DS18B20 的改为0.1,数码管显示温度与传感器的温度相同。图4—1 温度显示仿真

当按下SET 键一次时,进入温度报警上线调节,此时显示软件设置的温度报警上线,按ADD或DEC 分别对报警温度进行加一或减一。

当再次按下SET 键时,进入温度报警下线调节,此时显示软件设置的温度报警下线,

ADD或DEC 分别对报警温度进行加一或减一。

图4—2 温度调试仿真

当第三次按下SET 键时,退出温度报警线设置。显示当前温度。

5 总结与体会

随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。由于测温范围越来越广,根据不同的要求,又制造出不同需要的测温器。

在测控系统技术的课程设计中,查资料是做课程设计的前期准备工作,好的开端就相当于成功了一半,因此资料是否全面、可靠,关系到整个设计的进程。非常感谢百度、图书馆等给了我一个庞大的资料库。通过上面的过程,我积累了不少资料,对所做的题目也大概有了一些了解,综合已有的资料来更透彻的分析题目。仔细研究这个题目在哪些方面是还没有完全发挥潜力的,然后确定一个具体的方向,那么就可以在这方面去研究了。

最后,有了研究方向,就应该动手实现了。在自己不断的错误和摸索下找到了一定的方法。终于做完了,有种如释重负的感觉。我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个项目开发过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创

造过程中的探索的艰难和成功的喜悦。虽然这个项目还不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。

查考文献

【1】马忠梅,张凯,等. 单片机的 C 语言应用程序设计(第四版) 北京航空航天大学出版社

【2】薛庆军,张秀娟,等.单片机原理实验教程北京航天航空大学出版社【3】廖常初.现场总线概述[J].电工技术,1999.

附 1 源程序代码

//DS18B20 的读写程序,数据脚P2.7 //

// 温度传感器18B20 汇编程序,采用器件默认的12 位转化//

// 最大转化时间750 微秒,显示温度-55 到+125 度,显示精度//

// 为0.1 度,显示采用4 位LED 共阳显示测温值//

//P0 口为段码输入,P34~P37 为位选//

/***************************************************/

#include "reg51.h"

#include "intrins.h" //_nop_();延时函数用

#define dm P0 //段码输出口

#define uchar unsigned char

#define uint unsigned int

sbit DQ=P2^7; //温度输入口

sbit w0=P2^0; //数码管4

sbit w1=P2^1; //数码管3

sbit w2=P2^2; //数码管2

sbit w3=P2^3; //数码管1

sbit beep=P1^7; //蜂鸣器和指示灯

sbit set=P2^6; //温度设置切换键

sbit add=P2^4; //温度加

sbit dec=P2^5; //温度减

int temp1=0; //显示当前温度和设置温度的标志位为0 时显示当前温度

uint h;

uint temp;

uchar r;

uchar high=35,low=20;

uchar sign;

uchar q=0;

uchar tt=0;

uchar scale;

//**************温度小数部分用查表法***********//

uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x0 8,0x09,0x09};

//小数断码表

uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

// 共阴LED 段码表"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-"

uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //个位带小数点的断码表

uchar data temp_data[2]={0x00,0x00}; //读出温度暂放

uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4 个数据和一个运算暂用

/*****************11us 延时函数*************************/

void delay(uint t)

{

for (;t>0;t--);

}

void scan()

{

int j;

for(j=0;j<4;j++)

{

switch (j)

{

case 0: dm=table_dm[display[0]];w0=0;delay(50);w0=1;//xiaoshu

case 1: dm=table_dm1[display[1]];w1=0;delay(50);w1=1;//gewei

case 2: dm=table_dm[display[2]];w2=0;delay(50);w2=1;//shiwei

case 3: dm=table_dm[display[3]];w3=0;delay(50);w3=1;//baiwei

// else{dm=table_dm[b3];w3=0;delay(50);w3=1;}

}

}

}

//***************DS18B20 复位函数************************/

ow_reset(void)

{

char presence=1;

while(presence)

{

while(presence)

{

DQ=1;_nop_();_nop_();//从高拉倒低

DQ=0;

delay(50); //550 us

DQ=1;

delay(6); //66 us

presence=DQ; //presence=0 复位成功,继续下一步

}

delay(45); //延时500 us

presence=~DQ;

}

DQ=1; //拉高电平

}

/****************DS18B20 写命令函数************************/

// 向1-WIRE 总线上写1 个字节

void write_byte(uchar val)

{

uchar i;

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_(); //从高拉倒低

DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 us

DQ=val&0x01; //最低位移出

delay(6); //66 us

val=val/2; //右移1 位

}

DQ=1;

delay(1);

}

/****************DS18B20 读1 字节函数************************/ // 从总线上取1 个字节

uchar read_byte(void)

{

uchar i;

uchar value=0;

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();

value>>=1;

DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 us

DQ=1;_nop_();_nop_();_nop_();_nop_(); //4 us

if(DQ)value|=0x80;

delay(6); //66 us

}

DQ=1;

return(value);

}

/*****************读出温度函数************************/

read_temp()

{

ow_reset(); //总线复位

delay(200);

write_byte(0xcc); //发命令

write_byte(0x44); //发转换命令

ow_reset();

delay(1);

write_byte(0xcc); //发命令

write_byte(0xbe);

temp_data[0]=read_byte(); //读温度值的第字节

temp_data[1]=read_byte(); //读温度值的高字节

temp=temp_data[1];

temp<<=8;

temp=temp|temp_data[0]; // 两字节合成一个整型变量。

return temp; //返回温度值

}

/****************温度数据处理函数************************/ // 二进制高字节的低半字节和低字节的高半字节组成一字节,这个

// 字节的二进制转换为十进制后,就是温度值的百、十、个位值,而剩// 下的低字节的低半字节转化成十进制后,就是温度值的小数部分

/********************************************************/ work_temp(uint tem)

{

uchar n=0;

if(tem>6348) // 温度值正负判断

{tem=65536-tem;n=1;} // 负温度求补码,标志位置1

display[4]=tem&0x0f; // 取小数部分的值

display[0]=ditab[display[4]]; // 存入小数部分显示值

display[4]=tem>>4; // 取中间八位,即整数部分的值

display[3]=display[4]/100; // 取百位数据暂存

display[1]=display[4]%100; // 取后两位数据暂存

display[2]=display[1]/10; // 取十位数据暂存

display[1]=display[1]%10; //个位数据

r=display[1]+display[2]*10+display[3]*100;

///// 符号位显示判断/////

if(!display[3])

{

display[3]=0x0a; //最高位为0 时不显示

if(!display[2])

{

display[2]=0x0a; //次高位为0 时不显示

}

}

if(n){display[3]=0x0b;} //负温度时最高位显示"-"

}

void BEEP()

{

if((r>=high&&r<129)||r

{

beep=!beep;

}

else

{

beep=0;

}

}

//*********设置温度显示转换************// void xianshi(int horl)

{

int n=0;

if(horl>128)

{

horl=256-horl;n=1;

}

display[3]=horl/100;

display[3]=display[3]&0x0f;

display[2]=horl%100/10;

display[1]=horl%10;

display[0]=0;

if(!display[3])

{

display[3]=0x0a; //最高位为0 时不显示

if(!display[2])

{

display[2]=0x0a; //次高位为0 时不显示

}

}

if(n)

{

display[3]=0x0b; //负温度时最高位显示"-"

}

}

//*********按键查询程序**************// void keyscan()

{

int temp1; //最高温度和最低温度标志位

if(set==0)

{

while(1)

{

delay(500);//消抖

if(set==0) {

temp1++; while(!set) scan();

}

if(temp1==1) {

xianshi(high); scan();

if(add==0) {

while(!add) scan();

high+=1;

}

if(dec==0) {

while(!dec) scan();

high-=1;

}

}

if(temp1==2) {

xianshi(low); if(add==0) {

while(!add) scan();

low+=1;

}

if(dec==0) {

while(!dec) scan();

low-=1;

}

scan();

}

if(temp1>=3) {

temp1=0; break;

}

}

}

}

/****************主函数************************/

void main()

{

dm=0x00; //初始化端口

w0=0;

w1=0;

w2=0;

w3=0;

for(h=0;h<4;h++) //开机显示"0000"

{

display[h]=0;

}

ow_reset(); //开机先转换一次

write_byte(0xcc); //Skip ROM

write_byte(0x44); //发转换命令

for(h=0;h<100;h++) //开机显示"0000"

{

scan();

}

while(1)

{

if (temp1==0)

{

work_temp(read_temp()); //处理温度数据

BEEP();

scan(); // 显示温度值

keyscan();

}

else

keyscan();

}

}

//***********************结束**************************//

DS18B20数字温度计使用

DS18B20数字温度计使用 1.DS18B20基本知识 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 1、DS18B20产品的特点 (1)、只要求一个端口即可实现通信。 (2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在-55。C到+125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。 2、DS18B20的引脚介绍 TO-92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。 (底视图)图1 表1 DS18B20详细引脚功能描述 3. DS18B20的使用方法 由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都

是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的复位时序 DS18B20的读时序 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 DS18B20的写时序 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 4.实验任务 用一片DS18B20构成测温系统,测量的温度精度达到0.1度,测量的温度的范围在-20度到+100度之间,用8位数码管显示出来。 5.电路原理图 6.系统板上硬件连线 (1).把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“动态数码显示”区域中的ABCDEFGH端子上。 (2).把“单片机系统”区域中的P2.0-P2.7用8芯排线连接到“动态数码显示”区域中的S1S2S3S4S5S6S7S8端子上。 (3).把DS18B20芯片插入“四路单总线”区域中的任一个插座中,注意电源与地信号不要接反。 (4).把“四路单总线”区域中的对应的DQ端子连接到“单片机系统” 区域中的P3.7/RD端子上。 7. C语言源程序 #include

数字温度计的设计

数字温度计的设计 【摘要】 本文将介绍一种基于单片机控制的数字温度计,就是用单片机实现温度测量,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于AT89S52单片机的数字温度计的设计用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求,可以用于温度等非电信号的测量,主要用于对测温比较准确的场所,或科研实验室使用,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。 【关键词】关键词1温度计;关键词2单片机;关键词3数字控制;关键词4DS1620 目录 第一章绪论 (2) 1.1 前言 (3) 1.2 数字温度计设计方案 (3) 1.3 总体设计框图 (3) 第二章硬件电路设计............................ 错误!未定义书签。 2.1 主要芯片介绍 (5) 2.1.1 AT89C51的介绍 (5) 2.1.2 AT89C51各引脚功能介绍 (5) 2.2 温度传感器 (7) 2.2.1 DS1620介绍 (7) 第三章软件设计................................ 错误!未定义书签。

3.1 主程序流程图 (11) 3.4 计算温度子程序流程图 (13) 3.5 显示数据刷新子程序流程图 (13) 第四章 Proteus仿真调试......................... 错误!未定义书签。 4.1 Proteus软件介绍 (15) 4.2 Proteus界面介绍 (16) 4.2.1 原理图编辑窗口 (18) 4.2.2 预览窗口 (23) 4.2.3 模型选择工具栏 (31) 4.2.4 元件列表 (35) 4.2.5 方向工具栏 (37) 4.2.6 仿真工具栏 (38) 4.3 本次设计仿真过程 (39) 4.3.1 创建原理图 (40) 设计总结 (50) 结论 (57) 参考文献 (59) 致谢 (62) 附录 (72)

电子技术基础数字温度计课程设计

课程设计(论文) 题目名称数字温度计 课程名称电子技术课程设计 学生姓名屈鹏 学号1141201112 系、专业电气工程系电气工程及其自动化 指导教师李海娜 2013年12月17日

邵阳学院课程设计(论文)任务书 年级专业11级电气工程及其自动化学生姓名屈鹏学号1141201112 题目名称数字温度计设计设计时间2013.12.9—2013.12.20 课程名称电子技术课程设计课程编号121202306 设计地点电工电子实验室408、409 一、课程设计(论文)目的 电子技术课程设计是电气工程及自动化专业的一个重要的实践性教学环节,是对已学模拟电子技术、数字电子技术知识的综合性训练,这种训练是通过学生独立进行某一课题的设计、安装和调试来完成,着重培养学生工程实践的动手能力、创新能力和进行综合设计的能力,并要求能设计出完整的电路或产品,从而为以后从事电子电路设计、研制电子产品奠定坚实的基础。 二、已知技术参数和条件 用中小规模集成芯片设计并制作一数字式温度计,具体要求如下: 1、温度范围0-100度。 2、测量精度0.2度。 3、三位LED数码管显示温度。 三、任务和要求 1.按学校规定的格式编写设计论文。 2.论文主要内容有:①课题名称。②设计任务和要求。③方案选择与论证。④方案的原理框图,系统电路图,以及运行说明;单元电路设计与计算说明;元器件选择和电路参数计算的说明等。 ⑤必须用proteus或其它仿真软件对设计电路仿真调试。对调试中出现的问题进行分析,并说明解决的措施;测试、记录、整理与结果分析。⑥收获体会、存在问题和进一步的改进意见等。 注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效; 2.此表1式3份,学生、指导教师、教研室各1份。

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.360docs.net/doc/7d1744972.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

数字温度计课程设计报告

课程设计报告书 课程名称:电工电子课程设计 题目:数字温度计 学院:信息工程学院 系:电气工程及其自动化 专业班级:电力系统及其自动化113 学号:6100311096 学生姓名:李超红 起讫日期:6月19日——7月2日 指导教师:郑朝丹职称:讲师 学院审核(签名): 审核日期:

内容摘要: 目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。 单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。 本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。 本文介绍了一个基于STC89C52单片机和数字温度传感器DS18B20的测温 系统,并用LED数码管显示温度值,易于读数。系统电路简单、操作简便,能 任意设定报警温度并可查询最近的10个温度值,系统具有可靠性高、成本低、功耗小等优点。 关键词:单片机数字温度传感器数字温度计

基于ds18b20的数字温度计设计

目录 (一)设计内容及要求 (2) (二)系统的硬件选择及设计 (3) 2.1核心处理器的设计 (3) 1、AT89C51引脚图 (3) 2、AT89C51引脚功能介绍 (3) 2.2温度采集电路的设计 (5) 1、单线技术 (5) 2、DS18B20的简介 (6) 3、DS18B20内部结构 (8) 4、DS18B20测温原理 (11) 5、温度采集电路 (12) 2.3温度显示电路的设计 (13) 1、LED数码管的操作 (13) 2、温度显示电路 (13) (三)系统的软件设计 (15) 3.1概述 (15) 3.2 DS18B20的单线协议和命令 (15) (1)初始化 (15) (2)ROM操作命令 (15) (3)内存操作命令 (16) 3.3温度采集程序流程图的设计 (18) 3.4温度显示程序流程图的设计 (19) (四) 结论 (19) (五)汇编代码 (20) (六)参考文献 (27)

基于DS18B20的数字温度计设计 摘要: 在本设计中选用AT89C51型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过两位共阴极LED数码显示管并行传送数据,实现温度显示。本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用汇编语言实现温度的采集与显示。通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。 关键词:单片机AT89C51;温度传感器DS18B20;LED数码管;数字温度计 (一)设计内容及要求 本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集,以单片机AT89C51芯片为核心,辅以温度传感器DS18B20和LED 数码管及必要的外围电路,构成了一个多功能单片机数字温度计。 本次设计的主要思路是利用51系列单片机,数字温度传感器DS18B20和LED 数码显示器,构成实现温度检测与显示的单片机控制系统,即数字温度计。通过对单片机编写相应的程序,达到能够实时检测周围温度的目的。 通过对本课题的设计能够熟悉数字温度计的工作原理及过程,了解各功能器件(单片机、DS18B20、LED)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度计的总体设计。其具体的要求如下: 1、根据设计要求,选用AT89C51单片机为核心器件; 2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的P2.2引脚相连; 3、显示电路采用两位LED数码管以串口并行输出方式动态显示。

数字温度计设计

数字温度计 摘要:温度计在实际生产和人们的生活中都有广泛应用。该设计是数字温度计,首先是对总体方案的选择和设计;然后通过控制LM35进行温度采集;将温度的变化转为电压的变化,其次设计电压电路,将变化的电压量通过放大系统转化为所需要的电压;再通过TC7107将模拟的电压转化为数字量后直接驱动数码管LED对实时温度进行动态显示。最后在Proteus仿真软件中构建了数字温度计仿真电路图,仿真结果表明:在温度变化时,可以通过电压的变化形式传递,最终通过3位十进制数显示出来。 关键词:温度计;电路设计;仿真

目录 1 设计任务与要求 (1) 2 方案设计与论证 (1) 3 单元电路的设计及仿真 (2) 3.1传感器 (2) 3.2放大系统 (2) 3.3 A/D转换器及数字显示 (4) 4 总电路设计及其仿真调试过程 (6) 4.1总电路设计 (6) 4.2仿真结果及其分析 (7) 5 结论与心得 (9) 6 参考文献 (11)

1 设计任务与要求 温度计是工农业生产及科学研究中最常用的测量仪表。本课题要求用中小规模集成芯片设计并制作一数字式温度计,即用数字显示被测温度。具体要求如下:(1)测量范围0~100度。 (2)测量精度0.1度。 (3)3位LED数码管显示。 掌握线性系统的根轨迹、时域和频域分析与计算方法; (2)掌握线性系统的超前、滞后、滞后-超前、一二阶最佳参数、PID等校正方法;(3)掌握MATLAB线性系统性能分析、校正设计与检验的基本方法。 2 方案设计与论证 数字温度计的原理是:通过控制传感器进行温度采集,将温度的变化转化为电压的变化;然后设计电压电路,将变化的电压通过放大系统转化为需要的电压;再通过A/D转换器将模拟的电压转换为数字量后驱动数码管对实时温度进行动态显示。 原理框图如图2-1所示: 传感器放大系统A/D转换显示 图2-1 数字温度计原理框图 由设计任务与要求可知道,本设计实验主要分为四个部分,即传感器、放大系统、模数转换器以及显示部分。经过分析,传感器可以选择对温度比较敏感的器件,做好是在某参数与温度成线性关系,比如用温敏晶体管构成的集成温度传感器或热敏电阻等;放大系统可以由集成运放组成或反相比例运算放大器;A/D转换器需要选择有LED 驱动显示功能的,而可供选择的参考元件有ICL7107,ICL7106,MC14433等;显示部分用3位LED数码管显示。 方案一:用一个热敏电阻,通过热敏电阻把温度转化为电压,再得到每一度热敏电

DS18B20数字温度计的设计

单片机原理及应用 课程设计报告书 题目:DS18B20数字温度计的设计 姓名学号:张琪05200102 吕群武05200166 蔡凌志05200178 专业班级:电信1班 指导老师:余琼蓉 设计时间:2010年12月

成绩评定

一、课题介绍 本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器18B20,单片机AT89S52,,四位共阴极数码管一个,电容电阻若干。18B20支持“一线总线”接口,测量温度范围-55°C~+125°C 。在-10~+85°C 范围内,精度为±0.5°C 。18B20的精度较差为± 2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 本次数字温度计的设计共分为五部分,主控制器,LED 显示部分,传感器部分,复位部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED 显示部分是指四位共阳极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量范围是-55°C~+128°C ,由于能力有限,不能实现报警功能。 二、方案论证 方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。 方案设计框图如下: 方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

数字温度计的设计与仿真

单片机原理与应用设计课程综述 设计项目数字温度计 任课教师 班级 姓名 学号 日期

基于AT89C51的数字温度计设计与仿真摘要:随着科学技术的不断发展,温度的检测、控制应用于许多行业,数字温度计就是其中一例,它的反应速度快、操作简单,对环境要求不高,因此得到广泛的应用。 传统的温度测量大多使用热敏电阻,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路将模拟信号转换成数字信号才能由单片机进行处理。本课题采用单片机作为主控芯片,利用DS18B20来实现测温,用LCD液晶显示器来实现温度显示。 温度测量范围为0~119℃,精确度0.1℃。可以手动设置温度上下限报警值,当温度超出所设报警值时将发出报警鸣叫声,并显示温度值,该温度计适用于人们的日常生活和工、农业生产领域。 关键词:数字温度计;DS18B20;AT89C51; LCD1602 一、绪论 1.1 前言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求也越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机已经在测控领域中获得了广泛的应用。 1.2 课题的目的及意义 数字温度计与传统温度计相比,具有结构简单、可靠性高、成本低、测量范围广、体积小、功耗低、显示直观等特点。该设计使用AT89C51,DS18B20以及通用液晶显示屏1602LCD等。通过本次设计能够更加了解数字温度计工作原理和熟悉单片机的发展与应用,巩固所学的知识,为以后工作与学习打下坚实的基础。 数字温度计主要运用在工业生产和实验研究中,如电力、化工、机械制造、粮食存储等领域。温度是表征其对象和过程状态的重要参数之一。比如:发电厂锅炉

DS18B20数字温度计的设计与实现

DS18B20数字温度计的设计与实现 一、实验目的 1.了解DS18B20数字式温度传感器的工作原理。 2.利用DS18B20数字式温度传感器和微机实验平台实现数字温度计。 二、实验内容与要求 采用数字式温度传感器为检测器件,进行单点温度检测。用数码管直接显示温度值,微机系统作为数字温度计的控制系统。 1.基本要求: (1)检测的温度范围:0℃~100℃,检测分辨率 0.5℃。 (2)用4位数码管来显示温度值。 (3)超过警戒值(自己定义)要报警提示。 2.提高要求 (1)扩展温度范围。 (2)增加检测点的个数,实现多点温度检测。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、数字温度传感器DS18B20 由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。 1.DS18B20性能特点 DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存

储器ROM ,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。 2. DS18B20内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH 和TL,高速暂存器。64位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。64位ROM 结构图如图2所示。不同的器件地址序列号不同。 DS18B20的管脚排列如图1所示。 图1 DS18B20引脚分布图 图2 64位ROM 结构图 DS18B20高速暂存器共9个存储单元,如表所示: 序号 寄存器名称 作 用 序号 寄存器名称 作 用 0 温度低字节 以16位补码形式存放 4 配置寄存器 1 温度高字节 5、6、7 保留 2 TH/用户字节1 存放温度上限 8 CRC 3 HL/用户字节2 存放温度下限 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM 中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 LSB MSB 8位检验CRC 48位序列号 8位工厂代码(10H )

简易数字温度计课程设计

唐山学院 单片机原理课程设计 题目简易数字温度计 系 (部) 智能与信息工程学院 班级 姓名 学号 指导教师 2017 年 1 月 2 日至 1 月 6 日共 1 周 2017年1月4日

《单片机原理》课程设计任务书

课程设计成绩评定表

目录 1.方案论证 0 2.硬件设计............................................ 错误!未定义书签。 2.1系统构成 (1) 2.2器件选择 (1) 2.2.1 AT89C51概述 (1) 2.2.2 AT89C51引脚功能 (3) 2.2.3复位电路的设计 (4) 2.3数字温度传感器 (5) 2.3.1 DS1621的技术指标 (5) 2.3.2 DS1621的工作原理 (6) 2.4 单片机和DS1621接口电路...................... 错误!未定义书签。 2.5 七段LED数码显示电路 (7) 3.系统软件设计 (9) 3.1 编程语言选择 (9) 3.2 主程序的设计 (9) 3.3 温度采集模块设计 (10) 3.4 温度计算模块设计 (10) 3.5 串行总线编程 (11) 4.软硬件调试结果分析 (12) 5.设计总结 (13) 6.参考文献 (14) 附录A 多点温度采集系统电路原理图 (15)

1.方案论证 该系统可以使用方案一:热敏电阻;方案二:数字温度芯片DS1621实现。采用数字温度芯片DS1621 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0—100摄氏度时,最大线形偏差小于1摄氏度。DS1621 的最大特点之一采用了单总线的数据传输,由数字温度计DS1621和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。 控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。 该系统利用AT89C51芯片控制温度传感器DS1621进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。故采用了方案二。 测温电路的总体设计方框图如图1-1所示,控制器采用单片机AT89C51,温度传感器采用DS1621,用5位LED数码管以串口传送数据实现温度显示。 图1-1 测温电路的总体设计方框图

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

数字温度计DS18B20课程设计报告 专业名称: 自动化专业班级: 全文结束》》级自动化1班学号: 全文结束》》4786 摘要本设计采用的主控芯片是ATMEL公司的AT89C51单片机,数字温度传感器是DALLAS公司的 DS18B20。本设计用数字传感器DS18B20测量温度,测量精度高,传感器体积小,使用方便。所以本次设计的数字温度计在工业、农业、日常生活中都有广泛的应用。单片机技术已经广泛应用社会生活的各个领域,已经成为一种非常实用的技术。51单片机是最常用的一种单片机,而且在高校中都以51单片机教材为蓝本,这使得51单片机成为初学单片机技术人员的首选。本次设计采用的AT89C51是一种flash型单片机,可以直接在线编程,向单片机中写程序变得更加容易。本次设计的数字温度计采用的是 DS18B20数字温度传感器,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本设计根据设计要求,首先设计了硬件电路,然后绘制软件流程图及编写程序。本设计属于一种多功能温度计,温度测量范围是-55℃到125℃。温度值的分辨率可以被用户设定为9-12位,可以设置上下限报警温度,当温度不在设定的范围内时,就会启动报

警程序报警。本设计的显示模块是用液晶显示屏1602实现温度显示。在显示实时测量温度的模式下还可以通过查询按键查看设定的上下限报警温度。 一、实验设计概述本系统所设计的数字温度计采用的是 DS18B20数字温度传感器测温,测温上下限为10°C~40°C。 DS18B20直接输出的就是数字信号,与传统的温度计相比,具有读数方便,测温范围广,测温准确,上下限报警功能。其输出温度采用LCD1602显示,主要用于对测温比较准确的场所。该设计控制器使用的是51单片机AT89C51,AT89C51单片机在工控、测量、仪器仪表中应用还是比较广泛的。测温传感器使用的是 DS18B20,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。显示是用液晶显示屏1602实现温度显示。蜂鸣器用来实现当测量温度超过设定的上下限时的报警功能。 二、系统总体方案及硬件设计 2、1系统总体设计框图由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。 温度计电路设计总体设计框图如图2-1所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,显示采用液晶显示

数字温度计设计报告

重庆文理学院 单片机课程综合设计 设计题目:数字温度计 学号:201308329053 姓名:杨洋 班级:2013级电气S2班 提交日期:2016.01.14 电子电气工程学院

目录 一.引言 二.设计务任和要求 三. 系统总体方案及硬件设计 四. 系统软件算法分析 五. 电路仿真 六.电路板制作过程 七. 电路调试过程 八. 总结与体会 九. 参考文献 十. 源程序

一引言 随着电子技术的不断发展,我们能应用到的电子产品也越来越多。而生活中我们用的很多电子产品都越来越轻巧,价格也越来越便宜.利用电子芯片实现的东西也越来越来越多,比如数字温度计。当然,非电子产品的常用温度计也很便宜。此次课设论文所介绍的是自己动手制作的一个高精度数字温度计。本次课设不但丰富了课余生活,还从实践中学到并了很多新知识,并从中巩固了以前的知识。 用Protel 99软件来设计制作电路板——PCB(Printed circuit Bound)。在PCB上,布置一系列的芯片、电阻、电容等元件,通过PCB上的导线相连,构成电路,一起实现一定的功能。电路通过连接器或者插槽进行输入/输出,有时还有显示部分(如发光二极管LED、.数码显示器等)。可以说,PCB是一块连接板,它的主要目的是为元件提供连接,为整个电路提供输入输出端口和显示,电气连接通性是PCB最重要的特性之一。PCB在各种电子设备中有如下功能:(1)提供集成电路等各种电子元件固定、装配的机械支撑。(2)实现集成电路等各种电子元件之间的布线和电气连接或电绝缘,提供所要的电气特性。(3)为电动装配提供阻焊徒刑,为元器件插装、检查、维修提供识别符和图形。 做本课题的所用到的知识是我们学过的模拟电子电路以及数字逻辑电路等,当然还用到了刚刚学过不久的单片机知识。本次课设是把理论和实践结合起来,这不但可以锻炼自己的动手能力,而且还可以加深对数字逻辑电路和模拟电子电路的学习和理解。同时也激起了我学好单片机的斗志。为了全面清晰的表达,本论文用图文并茂的方式,尽可能详细的地介绍此次设计的全过程。 二设计务任和要求 2.1、基本范围-20℃——100℃ 2.2、精度误差小于0.5℃ 2.3、LED 数码直读显示 2.4、可以任意设定温度的上下限报警功能 三系统总体方案及硬件设计 3.1数字温度计设计方案论证 3.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响从而出现较大的偏差。 3.1.2 方案二

基于单片机的数字温度计设计开题报告

****大学综合性设计实验 开题报告 ?实验题目:数字温度计的设计 ?学生专业10电气工程与自动化 ?同组人:———————— ?指导老师: 2013年4月

1.国内外现状及研究意义 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能集成温度传感器。 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示。 2.方案设计及内容 (一)、方案一 采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,

数字式温度计设计课程设计

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:数字式温度计的设计学院名称:电气信息学院 专业班级:15电力(3)班 学生学号:1504200623 学生姓名:曾高 学生成绩: 指导教师:易先军 课程设计时间:2017.10.30 至2017.11.5

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,1.5倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,1.5倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,1.1,……;论文中的表、图和公式按章编号,如:表1.1、表1.2……;图1.2、图1.2……;公式(1.1)、公式(1.2)。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 用DS18B20设计一款能够显示当前温度值的温度计; 2. 通过切换按钮可以切换华氏度和摄氏度显示; 3. 测量精度误差在正负0.5摄氏度以内。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

基于89C51和DS18B20的数字温度计设计

题目:基于89C51和DS18B20的数字温度计设计 一、设计要求 数字式温度计要求测温范围为-55~125°C,精度误差在0.1°C以内,LED 数码管直读显示。 二、方案论证 根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。 该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED数码管以动态扫描法实现。检测范围-55摄氏度到125摄氏度。 按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。 数字温度计总体电路结构框图如图1所示。 图1 数字温度计总体电路结构框图 三、系统硬件电路的设计 温度计电路设计原理图如图2所示,控制器使用单片机AT89C51,温度传

感器使用DS18B20,用4位共阳LED数码管实现温度显示。 图2 数字温度计设计电路原理图 1、主控制器 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2、显示电路 显示电路采用4位共阳LED数码管,从P0口输出段码,列扫描用~口来实现,列驱动用8550三极管。 3、温度传感器工作原理 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。 DS18B20 的性能特点如下: ●独特的单线接口方式仅需要一个端口引脚进行通信; ●多个DS18B20可以并联在唯一的三线上,实现多点组网功能; ●无需外部器件;

简易数字式温度计设计

摘要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该高精度数字式温度计采用了由DALLAS公司生产的单线数字温度传感器DS18B20,它具有独特的单线总线接口方式。本毕业论文详细的介绍了单线数字温度传感器DS18B20的测量原理、特性以及在温度测量中的硬件和软件设计,该温度计具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。 关键词:DS18B20 温度传感器STC89C51

目录 第一章绪论3 1.1 课题背景及研究意义3 1.2 国外的现状3 1.3 设计的目的4 1.4 设计实现的目标4 1.5 数字温度计简介5

第一章绪论 1.1 课题背景及研究意义 随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。本系统所使用的加热器件是电炉丝,功率为三千瓦,要求温度在400~1000℃。静态控制精度为2.43℃。 本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。 1.2 国外的现状 温度控制系统在国各行各业的应用虽然已经十分广泛,但从国生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工

基于单片机的数字温度计设计课程设计

摘要 温度的检测与控制是工业生产过程中比较典型的应用。本设计以AT89C52单片机为核心,采用DS18B20温度传感器检测温度,由温度采集、温度显示,温度报警等功能模块组成。基于题目基本要求,本系统对温度采集和温度显示系统行了重点设计。本系统大部分功能能由软件实现,吸收了硬件软件化的思想。实际操作时,各功能在开发板上也能完美实现。本系统实现了要求的基本功能,其余发挥部分也能实现。 关键字:AT89C52单片机、DS18B20温度传感器、数码管显示、温度采集

目录 一.绪论 .............................................................................................................

二.设计目的..................................................................................................... 三.设计要求..................................................................................................... 四.设计思路..................................................................................................... 五.系统的硬件构成及功能................................................................. 5.1主控制器............................................................................................... 5.2显示电路............................................................................................... 5.3温度传感器.......................................................................................... 六.系统整体硬件电路................................................................................. 七.系统程序设计 .......................................................................................... 八.测量及其结果分析 ................................................................................... 九.设计心得体会............................................................................................ 十.参考文献..................................................................................................... 附录1 源程序 附录2 元件清单及PCB图 一.绪论

相关文档
最新文档