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

数字温度计DS18B20课程设计报告
数字温度计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,显示采用液晶显示

1602,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。显示电路驱动电路单片机时钟、复位电路测温电路按键输入电路报警电路图2-1 温度计电路总体设计框图

2、2各模块简介(1)控制模块AT89C51单片机是美国ATMEL 公司生产的低功耗,高性能CMOS8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程的Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。(2)显示模块显示电路采用液晶显示屏1602。LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-1所示:表2-1:LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数

据15BLA背光源正极8D1数据16BLK背光源负极表10-13:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。本实验设计采用14脚接口。1602液晶模块内部的控制器共有11条控制指令,如表2-2所示:表2-2:LCD1602控制指令序号指令

RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制

0000001DCB5光标或字符移位000001S/CR/L**6置功能

00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址

01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容(3)温度传感器模块DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种

改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为

3、0~

5、5v;零待机功耗;温度以9或12位二进制数字表示;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用3脚TO-92封装或8脚SO或μSOP封装,其其封装形式如图2-2所示。图2-2 DS18B20的封装形式DS18B20的64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM。高速暂存RAM的结构为8字节的存储器,结构如图2-3所示。图2-3 DS18B20的高速暂存RAM的结构头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨

率,DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值,该字节各位的定义如表2-3所示。表2-3:配置寄存器D7 D6 D5 D4 D3 D2 D1 D0TMR1R011111配置寄存器的低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,“R1R0”为“00”是9位,“01”是10位,“10”是11位,“11”是12位。当

DS18B20分辨率越高时,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第 6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0、0625℃/LSB形式表示。当符号位s=0时,表示测得的温度值为正值,可以直接将二进制位转换为进制;当符号位s=1时,表示测得的温度值为负值,要先将补码变成原码,再计算进制数值。输出的二进制数的高5位是符号位,最后4位是温度小数点位,中间7位是温度整数位。表2-4是一部分温度值对应的二进制温度数据。表2-4 DS18B20输出的温度值温度值二进制输出六进制输出

+125℃0000 01111000007D0h+85℃0000 0 0 00000550h+

25、0625℃0000 00011001 00091h+

10、125℃0000 00000 001000A2h+0、5℃0000 0000 000010000008h0℃0000 0000 0000 00000000h-0、

5℃1111111111111000FFF8h-

10、125℃11111111 01110FF5Eh-

25、0625℃11111110 01111FF6Fh-55℃111111001001

0000FC90hDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM 的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20传感器的操作指令如表2-5所示。传感器复位后向传感器写相应的命令才能实现相应的功能。表2-5 DS18B20的指令表指令指令代码功能读ROM0x33读DS1820温度传感器ROM中的编码(即64位地址)符合

ROM0x55发出此命令之后,接着发出64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该

DS1820 的读写作准备。搜索 ROM0xF0用于确定挂接在同一总线上DS1820 的个数和识别64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0xCC忽略64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0xEC执行后只有温度超过

设定值上限或下限的片子才做出响应。温度变换0x44启动DS1820进行温度转换,12位转换时最长为750ms(9位为

93、75ms)。结果存入内部9字节RAM中。读暂存器0xBE读内部RAM中9字节的内容写暂存器0x4E发出向内部RAM的

3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器0x48将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0xB8将EEPROM中内容恢复到RAM 中的第3 、4字节。读供电方式0xB4读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送

“1 ”。DS18B20传感器为单总线结构器件,在读写操作之前,传感器芯片应先进性复位操作也就是初始化操作。DS18B20的初始化时序如图2-4所示。首先控制器拉高数据总线,接着控制器给数据总线一低电平,延时480μs,控制器拉高数据总线,等待传感器给数据线一个60-240μs的低电平,接着上拉电阻将数据线拉高,这样才初始化完成。图2-4 DS18B20初始化时序DS18B20传感器的读写时序

1、写时序DS18B20传感器的读写操作是在传感器初始化后进行的。每次操作只能读写一位。当主机把数据线从高电平拉至低电平,产生写时序。有两种类型的写时序:写“0”时序,写“1”时序。所有的时序必须有最短60μs的持续期,在各个写周期之间必须有最短1μs的恢复期。在数据总线由高电平变为低电平之后,DS18B20在15μs至60μs的时间间隙对总线采样,如果

为“1”则向DS18B20写“1”,如果为“0”则向DS18B20写“0”。如图2-5的上半部分。对于主机产生写“1”时序时,数据线必须先被拉至低电平,然后被释放,使数据线在写时序开始之后15μs内拉至高电平。对于主机产生写“1”时序时,数据线必须先被拉至低电平,且至少保持低电平60μs。

2、读时序在数据总线由高电平变为低电平之后,数据线至少应保持低电平1μs,来自DS18B20的输出的数据在下降沿15μs 后有效,所以在数据线保持低电平1μs之后,主机将数据线拉高,等待来自DS18B20的数据变化,在下降沿15μs之后便可开始读取DS18B20的输出数据。整个读时序必须有最短60μs的持续期。如图2-5的下半部分。读时序结束后数据线由上拉电阻拉至高电平。图2-5 DS18B20传感器的读写时序(4)调节模块介绍调节模块是由六个按键接地后直接接单片机的I/O口完成的。当按键没有按下时单片机管脚相当于悬空,默认下为高电平,当按键按下时相当于把单片机的管脚直接接地,此时为低电平。程序设计为低电平触发。K1键:

查看上下限温度报警值。K2键:

返回实时温度。K3键:

上调温度上限值。K4键:

下调温度下限值。K5键:

上调温度下限值。K6键:

下调温度下限值。(5)报警模块介绍报警模块是由一个npn 型的三极管9012驱动的12V蜂鸣器,两个发光二极管组成的。低温报警时,蜂鸣器工作,蓝色发光二极管发光。高温报警时,蜂

鸣器工作,红色发光二极管发光。

三、系统硬件设计

3、1 单片机电路设计图3-1 单片机最小系统原理图单片机最小系统是由晶振电路,上电复位、按键复位电路,ISP下载接口和电源指示灯组成。原理图如图3-1所示。

3、2、DS18B20温度传感器电路设计DS18B20温度传感器是单总线器件与单片机的接口电路采用电源供电方。电源供电方式如

图3-2,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。

图3-2 DS18B20电源供电方式当DS18B20处于写存储器操作

和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间

最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。

3、3 显示电路设计显示电路是由液晶显示屏1602进行显示的,由单片机P0口输出时,需要加上一个上拉电阻稳定电压,本设计采用排阻来实现。显示电路的总体设计如图3-3所示。图3-3 显示电路

3、4 按键电路设计按键电路是用来实现调节设定报警温度的上下限和查看上下报警温度的功能。电路原理图如图3-4所示。图3-4 按键电路原理图

3、5 报警电路设计报警电路是在测量温度大于上限或小于下限时提供报警功能的电路。该电路是由一个蜂鸣器和一个红色的发光二极管组成,具体的电路如图3-6所示。图3-5 报警电路原理图

四、软件设计

4、1 主程序设计主程序需要调用3个子程序,分别为:?

实时温度显示子程序:驱动数码管把实时温度值送出在液晶显示屏显示?查询记录温度值子程序:查询过去存储的温度值,最多可查询10个值?温度设定、报警子程序:设定报警温度值,当温度超过该值时产生报警,即驱动蜂鸣器鸣叫、8个发光二极管发光主程序流程图:开始定时器初始化、启动显示实时温度温度设定、报警查询记录温度值图4-1 主程序流程图

4、2 DS18B20程序设计读温度值模块需要调用4个子程序,分别为:l DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作l DS18B20写字节子程序:对DS18B20发出命令l DS18B20读字节子程序:读取DS18B20存储器的数据l 延时子程序:对DS18B20操作时的时序控制

1、读温度值模块流程图:图4-2 读温度值子程序流程图

2、 DS18B20初始化子程序流程图:图4-5 DS18B20初始化子程序流程图

3、 DS18B20写字节和读字节子程序流程图:

图4-6 DS18B20写字节子程序流程图图4-7 DS18B20读字节子程序流程图

4、3 按键程序设计按键是用来查看上下报警温度值以及设定上下限报警温度的。具体的程序流程图如图3-5所示。图4-9 按键程序流程图

五、实验设计结果此次实验设计完成比较理想,仿真实验结果符合设计结果。LCD1602能实时显示DS18B20检测到的温度。当前温度超过设定的上下限温度报警值时,蜂鸣器和发光二极管能正常发出警报。并且通过按键可以完成以下操作:K1键:查看上下限温度报警值。K2键:

返回实时温度。K3键:

上调温度上限值。K4键:

下调温度下限值。K5键:

上调温度下限值。K6键:

下调温度下限值。六、实验设计总结此次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。这次的设计不仅使我们将课堂上学到的理论知识与实际

应用结合了起来,而且使我们对电子电路、电子元器件、印制电路板等方面的知识有了更进一步的认识,同时在软件编程、相关软件的使用等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。此次单片机设计也为我们以后进行更复杂的单片机系统设计提供了宝贵的经验。本次设计的另一个重点就是软件程序的设计,其中需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论,有些东西是很难理解的,更谈不上掌握。通过此次的综合设计,我们初步掌握了单片机系统设计的基本原理。充分认识到理论学习与实践相结合的重要性,对于书本上的很多知识,不但要学会,更重要的是会运用到实践中去。在以后的学习中,我们会更加注重实践方面的锻炼,多提高自己的动手实践能力。七、实验设计程序#include

51、h>#include#include#define uchar unsigned char#define uint unsigned intsbit

DQ=P3^7;//ds18b20与单片机连接口sbit RS=P2^5;sbit

RW=P2^6;sbit E=P2^7;sbit k=P1^0;sbit k_=P1^1;sbit

k1=P1^4;sbit k2=P1^5;sbit k3=P1^6;sbit k4=P1^7;sbit

led_red=P2^2;sbit led_blue=P2^3;sbit beep=P3^0;uint

H,L,L1;uint M,M1;uint gw =40;uint dw =10;unsigned char code str1[]={"temperature: "};unsigned char code

str2[]={" "}; unsigned char code str3[]={ "HI:

"};unsigned char code str4[]={ "LO: "};unsigned char code str5[]={"-0123456789"};uchar data disdata[5];uchar data disbj[50];uint tvalue;//温度值uchar tflag;//温度正负标志uchar bjflag;//低温报警正负标志

/*************************lcd1602程序

**************************/ void delay1ms(unsigned int ms)//延时1毫秒(不够精确的) {unsigned int i,j;

for(i=0;i

for(j=0;j<100;j++); }void wr_(unsigned char )//写指令// { delay1ms(1); RS=0; RW=0; E=0; P0=; delay1ms(1); E=1; delay1ms(1); E=0; }void wr_dat(unsigned char dat)//写数据//{ delay1ms(1);; RS=1; RW=0; E=0; P0=dat; delay1ms(1); E=1; delay1ms(1); E=0;} void lcd_init()//初始化设置

//{delay1ms(15); wr_(0x38);delay1ms(5);

wr_(0x08);delay1ms(5); wr_(0x01);delay1ms(5);

wr_(0x06);delay1ms(5); wr_(0x0c);delay1ms(5);} void display(unsigned char *p)//显示

//{while(*p!='\0'){wr_dat(*p);p++;delay1ms(1);}}void

init_play()//初始化显示 { lcd_init(); wr_(0x80);

display(str1); }/******************************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; M=b;

tvalue<<=8; M<<=8; tvalue=tvalue|a; M=M|a;

if(tvalue<0x0fff)

tflag=0; else {tvalue=~tvalue+1; tflag=1; }

tvalue=tvalue*5/8; //温度值扩大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;//正温度不显示符号 else flagdat=0x2d;//负温度显示负号:- if(disdata[0]==0x30)

{disdata[0]=0x20;//如果百位为0,不显示

if(disdata[1]==0x30)

{disdata[1]=0x20;//如果百位为0,位为0也不显示 }} wr_(0x80); display(str1); wr_(0xc0); wr_dat(flagdat);//显示符号位 wr_(0xc1); wr_dat(disdata[0]);//显示百位

wr_(0xc2); wr_dat(disdata[1]);//显示位 wr_(0xc3);

wr_dat(disdata[2]);//显示个位 wr_(0xc4); wr_dat(0x2e);//显示小数点 wr_(0xc5); wr_dat(disdata[3]);//显示小数

位 }/**********************************报警设置显示

*************************在此修改报警值位置***/void

bj_play(){ unsigned char flagdat=0x00 ; int t=dw;

if(dw<0x0fff)

bjflag=0; else //低温负数符号判断以及补码转为原码{dw=~dw+1; bjflag=1; } disbj[0]=gw/100+0x30;//百位数disbj[1]=gw%100/10+0x30;//位数 //高温报警计算

disbj[2]=gw%10+0x30;//个位数 disbj[3]=gw%1+0x30;//小数位if(bjflag==0)

flagdat=0x20;//正温度不显示符号 else

flagdat=str5[0];//负温度显示负号:-

disbj[5]=dw/100+0x30;//百位数 disbj[6]=dw%100/10+0x30;//位数 //低温报警计算 disbj[7]=dw%100%10+0x30;//个位数disbj[8]=dw%1+0x30;//小数位 if(disbj[0]==0x30) {disbj[0]=0x20;//如果百位为0,不显示

if(disbj[1]==0x30)

{disbj[1]=0x20;//如果百位为0,位为0也不显示 }}

if(disbj[5]==0x30)

{disbj[5]=0x20;//如果百位为0,不显示

if(disbj[6]==0x30)

{disbj[6]=0x20;//如果百位为0,位为0也不显示 }}

wr_(0x80); wr_dat(str3[0]); wr_(0x81); wr_dat(str3[1]); wr_(0x82); wr_dat(str3[2]); wr_(0xc0); wr_dat(str4[0]); wr_(0xc1); wr_dat(str4[1]); wr_(0xc2); wr_dat(str4[2]); wr_(0x85); wr_dat(disbj[0]);//显示百位 wr_(0x86);

wr_dat(disbj[1]);//显示位 wr_(0x87); //高温显示

wr_dat(disbj[2]);//显示个位 wr_(0x88); wr_dat(0x2e);//显

示小数点 wr_(0x89); wr_dat(disbj[3]);//显示小数位

wr_(0xc4); wr_dat(flagdat);//显示符号位 wr_(0xc5);

wr_dat(disbj[5]);//显示百位 wr_(0xc6);

wr_dat(disbj[6]);//显示位 wr_(0xc7); //低温显示

wr_dat(disbj[7]);//显示个位 wr_(0xc8); wr_dat(0x2e);//显

示小数点 wr_(0xc9); wr_dat(disbj[8]); dw= t; } //显示小数

位/********************主程序

***********************************/ void main() { init_play();//初始化显示

led_red=0;led_blue=0;beep=0; while(1){read_temp(); //温度

显示 ds1820disp(); H=gw<<4; if(M<0x0fff)//温度大于0的时

候 //高温上限比较 {if(M>H){led_red=1;beep=1;delay1ms(20);} else {led_red=0;beep=0;} if(dw<0x0fff)

{L=dw<<4;if(M

{if(d

数字式温度计的设计毕业设计

摘要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温X围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该高精度数字式温度计采用了由DALLAS公司生产的单线数字温度传感器DS18B20,它具有独特的单线总线接口方式。本毕业论文详细的介绍了单线数字温度传感器DS18B20的测量原理、特性以及在温度测量中的硬件和软件设计,该温度计具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。 二、总体方案设计 1、数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。 2.1.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 2.2方案二的总体设计框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。 2、硬件设计 1.1 工作原理及硬件框图 基于DS18B20的温度测量装置电路图如图1所示,包括单片机最小系统、温度传感器、和显示电路。温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),单片机对接收到的数字信号进行标度变换,转换成实际的温度值并送数码管显示。DS18B20传感器可置于离装置150米以内的任何地方。STC89C51是整个电路装置的控制核心,STC89C51内带4K字节的FlashROM,用户程序存放在此。 图2 系统硬件框图 3、系统分析: 本设计主要的任务是单片机软件的设计,而软件中的核心在于单片机与集成温度传感器DS18B20接口程序的设计,另外一点便是对数码管扫描显示的理解与运用。由于DS18B20集成了温度数据采集、模数转换

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

课程设计(论文) 题目名称数字温度计 课程名称电子技术课程设计 学生姓名屈鹏 学号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份。

数字温度计设计

数字温度计 摘要:温度计在实际生产和人们的生活中都有广泛应用。该设计是数字温度计,首先是对总体方案的选择和设计;然后通过控制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数码管显示。 方案一:用一个热敏电阻,通过热敏电阻把温度转化为电压,再得到每一度热敏电

数字温度计课程设计报告

一.数字温度计的总体方案设计 根据系统设计的功能,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力来测量、显示温度数值。 初步确定设计系统由单片机主控模块、测温模块、显示模块共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。

数字式温度计的设计与制作

数字式温度计的设计与制作 10级电子1班 一项目提出 1.1 任务 为某温室大棚设计一个数字式温度计,以便当棚内温度变化时,能及时提醒工作人员进行处理,保证温室温度变化在较小范围。 1.2 要求 (1)能实现温度数据的采集与记录。 (2)能实现各测量值的显示,精度为0.1摄氏度,温度范围在-55到+55摄氏度。 (3)能实现上、下限报警。 二项目分析 2.1 任务意义 一些温室大棚常常需要有较好的恒温性,即当温度变化达到一定数值时,需要及时调整,以保持温度恒定,保证作物的品质。现某大棚希望设计一个数字式温度计,能实时测量和显示大棚温度。当温度发生较大变化时,能及时做出报警提示。 2.2 系统方案设计 根据醒目的需求,本系统使用STC89C52单片机,DS18B20数字温度传感器等,监测大棚的温度变化。具体功能如下: *温度检测:系统能够实时检测大棚温度,温度分辨率为0.1摄氏度,温度范围为—55到+55摄氏度。 *温度显示:系统能实时显示大棚温度值,显示到小数点后一位,在设置上、下限报警时,显示上、下限提醒标志。 *温度报警:系统能够设置大棚温度范围,当棚内温度超出设定范围时发生报警。 *报警设置:系统能够设置上、下限报警温度值,设定精度为0.1摄氏度。 根据以上功能分析,数字温度计基本结构如图1所示,由单片机最小系统、按键模块、温度采样模块、显示模块和报警模块等组成。

图1:数字温度计的基本结构 三项目相关知识 3.1 数字温度传感器DS18B20的使用 可以测量温度的器件很多,但DS18B20是一种无须进过其它变换电路,直接输出被测温度数字量的传感器。它采用单总线专用技术,可通过串口线或其它I/O口线与计算机接口相连,支持多器件扩展,使用相当方便,测温范围为-55到+125摄氏度,其分辨率为0.5摄氏度,最高可达0.0625摄氏度。 3.1.1 DS18B20的外观及内部结构 DS18B20采用3脚TO-92A封装,外形如同普通的半导体三极管,除此之外,DS18B20也有8脚的SOIC封装及6脚的TSOC封装等形式,如图2所示。 图2:DS18B20封装形式

数字温度计课程设计报告

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

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

数字温度计的设计与仿真

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

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

数字温度计DS18B20课程设计资料报告材料

基于单片机的DS18B20数字温度计设计 学生:侯晋启 专业名称:自动化专业 班级:2014级自动化1班 学号:20144786

摘要 本设计采用的主控芯片是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实现温度显示。蜂鸣器用来实现当测量温度超过设定的上下限时的报警功能。 二、系统总体方案及硬件设计

数字温度计设计总结报告

数字温度计(A2题)设计与总结报告专科组:春梁福鑫钟才莉 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研等各个领域,已经成为一种比较成熟的技术, 本设计在参阅了大量前人设计的数字温度计的基础上,利用单片机技术结合DS18B20温度传感器和DS1302时钟芯片构建了一个数字温度计。本温度计属于多功能温度计,当测量温度超过设定的温度上、下限,启动蜂鸣器和指示灯报警,可以显示当前测量日期、时间、温度,可调整显示日期、时间和星期。 关键词:单片机;数字控制;数字温度计;DS18B20;DS1302;报警 前言 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,以及使用时钟芯片DS1302测实时时钟,用一块低功耗的RT1602C液晶显示器以串口传送数据,实现温度和时间显示,能准确达到以上要求。 本设计主要分为两部分:硬件电路及软件程序。而硬件电路又大体可分为单片机小系统电路、测温电路、实时时钟电路、声光报警电路、语音报读电路、LED显示电路及电源电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil 软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。 一、方案论证比较与选择 方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦,制作成本高。 方案二: 方案二原理框架图 此设计方案是由数字式温度传感器、单稳态定时电路、计数电路、译码与LED数码管显示电路等组成的。但其测温围较小,电路设计也比较繁琐。 方案三: 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,因此我们改用一种智能传感器DS18B20作为检测元件,测温围-55℃~+125℃,分辨率最大可达0.0625℃。此传感器,可以直接读取被测温度值,而且采用3线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。 从以上三种方案,很容易看出,采用方案三,电路比较简单,软件设计也比较简单,故采用了方案三。 二、系统框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,

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

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:数字式温度计的设计学院名称:电气信息学院 专业班级: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.有程序运行结果的截屏图片。

简易数字温度计课程设计

唐山学院 单片机原理课程设计 题目简易数字温度计 系 (部) 智能与信息工程学院 班级 姓名 学号 指导教师 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,显示采用液晶显示

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

课程设计报告 引言 随着电子技术的不断发展,我们能应用到的电子产品也越来越多。而生活中我们用的很多电子产品都越来越轻巧,价格也越来越便宜.利用电子芯片实现的东西也越来越来越多,比如数字温度计。当然,非电子产品的常用温度计也很便宜。此次课设论文所介绍的是自己动手制作的一个高精度数字温度计。本次课设不但丰富了课余生活,还从实践中学到并了很多新知识,并从中巩固了以前的知识。 用Protel 99软件来设计制作电路板——PCB(Printed circuit Bound)。在PCB上,布置一系列的芯片、电阻、电容等元件,通过PCB上的导线相连,构成电路,一起实现一定的功能。电路通过连接器或者插槽进行输入/输出,有时还有显示部分(如发光二极管LED、.数码显示器等)。可以说,PCB是一块连接板,它的主要目的是为元件提供连接,为整个电路提供输入输出端口和显示,电气连接通性是PCB最重要的特性之一。PCB在各种电子设备中有如下功能:(1)提供集成电路等各种电子元件固定、装配的机械支撑。(2)实现集成电路等各种电子元件之间的布线和电气连接或电绝缘,提供所要的电气特性。(3)为电动装配提供阻焊徒刑,为元器件插装、检查、维修提供识别符和图形。 做本课题的所用到的知识是我们学过的模拟电子电路以及数字逻辑电路等,当然还用到了刚刚学过不久的单片机知识。本次课设是把理论和实践结合起来,这不但可以锻炼自己的动手能力,而且还可以加深对数字逻辑电路和模拟电子电路的学习和理解。同时也激起了我学好单片机的斗志。为了全面清晰的表达,本论文用图文并茂的方式,尽可能详细的地介绍此次设计的全过程。

1.设计务任和要求 1.1、基本范围-20℃——100℃ 1.2、精度误差小于0.5℃ 1.3、LED 数码直读显示 1.4、可以任意设定温度的上下限报警功能 2. 系统总体方案及硬件设计 2.1数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响从而出现较大的偏差。 2.1.2 方案二 考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。 2.2系统总体设计 温度计电路设计总体设计方框图如图2.1所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用4位LED 数码管以串口传送数据实现温度显示。

单片机课程设计基于数字温度传感器的数字温度计课程设计报告书

《单片机原理及应用》课程设计报告书 课题名称基于数字温度传感器的数字温度计 姓名 学号 专业 指导教师 机电与控制工程学院 年月日

填写说明 1、正文部分: (1)标题与正文格式定义标准如下: 一级标题:1.标题1 二级标题:1.1标题2 三级标题:1.1.1标题3 四级标题:1.1.1.1标题4 (2)表格:尽可能采用三线表。 (3)图形:直接插入的插图应有图标、图号,不能直接插入的图应留出插图空位。图中文字、符号书写要清楚,并与正文一致。 (4)文字表述:要求层次清楚,语言流畅,语句通顺,无语法和逻辑错误,无错字、别字、漏字。文字的表述应当以科学语言描述研究过程和研究结果,不要以口语化的方式表达,报告中科技术语和名词应符合规定的通用词语,并使用法定计量单位和标准符号。 2、参考文献: (1)数量要求:参考文献只选择最主要的列入,应不低于5种。 (2)种类要求:参考文献的引用,可以是著作[M]、论文[J]、专利文献[P]、会议论文等。 (3)文献著录格式及示例。参考文献用宋体五号字。 [1] 作者. 书名[M]. 版次. 出版地: 出版者, 出版年: 起止页码(著作图书文献) [2] 作者. 文章名[J]. 学术刊物名称. 年. 卷(期): 起止页码(学术刊物文献) 示例: [1]王社国,建光。基于ARM的嵌入式语音识别系统研究[J]。微计算机信息,2007,2-2:149-150. 3、附录或附件:(可选项) 重要的测试结果、图表、设计图纸、源程序代码、大量的公式、符号、照片等不宜放入正文中的可以附录形式出现。 4、如果需要可另行附页粘贴。

任务书 1. 设计要求 利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量围为?55℃~125℃,精确到0.5℃。数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。 2. 原理 从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读数方式。 DS18B20的性能如下。 ?独特的单线接口仅需要一个端口引脚进行通信。 ?多个DS18B20可以并联在串行传输的数据线上,实现多点组网 功能。无须外部器件。 ?可通过数据线供电,电压围为3.0~5.5V。

热敏电阻数字温度计的设计与制作

评分: 大学物理实验设计性实验 实《用热敏电阻改装温度计》实验提要 设计要求 ⑴通过查找资料,并到实验室了解所用仪器的实物以及阅读仪器使用说明 书,了解仪器的使用方法,找出所要测量的物理量,并推导出计算公式,在此基础上写出该实验的实验原理。 ⑵选择实验的测量仪器,设计出实验方法和实验步骤,要具有可操作性。 ⑶根据实验情况自己确定所需的测量次数。 实验仪器 惠斯通电桥,电阻箱,表头,热敏电阻,水银温度计,加热电炉,烧杯等实验所改装的温度计的要求 (1)要求测量范围在40℃~80℃。 (2)定标时要求测量升温和降温中同一温度下热敏温度计的指示值(自己确定测量间隔,要达到一定的测量精度)。 (3)改装后用所改装的温度计测量多次不同温度的热水的温度,同时用水银温度计测出此时的热水温度(作为标准值),绘制出校正曲线。 提交整体设计方案时间 学生自选题后2~3周内完成实验整体设计方案并提交。提交整体设计方案,要求电子版。用电子邮件发送到指导教师的电子邮箱里。 思考题 如何才能提高改装热敏温度计的精确度? 用热敏电阻改装温度计 实验目的: 1.了解热敏电阻的特性; 2.掌握用热敏电阻测量温度的基本原理和方法; 3.进一步掌握惠斯通电桥的原理及应用。 实验仪器:

惠斯通电桥,电阻箱,热敏电阻,水银温度计,滑动变阻器,微安表,加热电炉,烧杯等 实验原理: 1.惠斯通电桥原理 惠斯通电桥原理电路图如图1所示。当电桥平衡时,B,D之间的电势相等,桥路电流I=0,B,D之间相当于开路,则U B=U D;I1=I x,I2=I0; 于是I1R1=I2R2,I1R X=I2R0 由此得R1/R X=R2/R0 或R X=R0R1/R2 (1) (1)式即为惠斯通电桥的平衡条件,也是用来测量 电阻的原理公式。欲求R X,调节电桥平衡后,只要知道 R1,R2,R0的阻值,即可由(1)式求得其阻值。 2.热敏电阻温度计原理 热敏电阻是具有负的电阻温度系数,电阻值随温度升高而迅速下降,这是因为热敏电阻由半导体制成,在这些半导体内部,自由电子数目随温度的升高增加的很快,导电能力很快增强,虽然原子振动也会加剧并阻碍电子的运动。但这样作用对导电性能的影响远小于电子被释放而改变导电性能的作用,所以温度上升会使电阻下降。 这样我们就可以测量电桥非平衡时通过桥路的电流大小来表征温度的高低。 热敏电阻温度计的设计电路图如图2示

基于stc89c52,ds18b2的电子温度计课设

正文 1.设计内容和要求。 随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。 本课题以STC89C52单片机系统为核心,能对多点的温度进行实时巡检。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并通过LCD1602显示当前温度,实现实时温度测量。 2、系统总体结构 系统的系统设计方框图如图1-1所示,它主要由三部分组成:①控制部分主芯片采用单片机STC89C52;②显示部分采用LCD1602以动态扫描方式实现温度显示;③温度采集部分的温度传感器采用DS18B20智能温度温度传感器。DS18B20进行温度采集和转换输出数字型的温度值,然后通过数据引脚传到单片机的P3.7口,单片机通过P2口将数据扫描到LCD1602显示屏上。 图2-1

3、硬件设计 3.1 控制模块 本设计采用单片机基于数字温度传感器DS18B20的系统。单片机STC89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用。温度传感器DS18B20利用单总线的特点可以方便的实现多点温度的测量,组建传感器网络,且系统的抗干扰性好、设计灵活、方便,而且能在恶劣的环境下进行现场温度检测。 3.2温度采集模块 这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。DS18B20智能温度温度传感器进行温度采集和转换输出数字型的温度值,然后通过数据引脚传到单片机的P3.7口,单片机接受温度并存储。DS18B20是美国DALLAS半导体公司最新推出的一种单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,它可将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理和A/D转换等复杂模/数转换电路。DS18B20构成的温度采集模块电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有集成度高、模拟输入数字输出、抗干扰能力强、体积小、接口方便、传输距离远测温误差小等特点。如图3-1. 图3-1 3.3温度显示模块 本课程设计的显示模块采用LCD1602液晶显示器显示温度数据,整数进行显示,从P0口送数,P2口扫描。显示当前测量的温度。 3.4电源

数字温度计的设计与实现

基于单片机的数字温度计的设计 摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。本文将介绍一种基于单片机控制的数字温度计,就是用单片机实现温度测量,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于AT89S52单片机的数字温度计的设计,这种设计需要用到A/D转换电路,感温电路比较麻烦。其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器采用单片机8051,温度传感器采用 DS18B20,以边沿D触发器7474、移位寄存器74LS164和共阴极LED数码管为主体设计了一款简易数字式温度计实现温度显示。 关键词:数字温度计;单片机;传感器;DS18B20;

目录 第一章绪论 (1) 第二章数字温度计的总体设计 2.1总体设计方案 2 2.2 重要性能指标 (2) 2.3 系统主要模块方案论证与比较 (2) 2.3.1控制模块的选用 (2) 2.4 设计要求和实现的功能 (3) 3.1 主要芯片介绍 (4) 3.1.1 AT89S52的介绍 (4) 3.2 温度检测模块 (7) 3.2.1 DS18B20的简介 (7) 3.2.2 DS18B20的引脚功能 (9) 3.2.3 DS18B20的两个表格 (10) 3.2.4 DS18B20的测温原理 (11) 3.2.5 DS18B20的时序设置 (12) 3.2.6 DS18B20硬件电路设计 (13) 4.1 系统主程序 (15) 4.3 计算温度子程序流程图 (16) 4.4 显示数据子程序 (17) 4.5 系统初始化程序 (17) 4.6 温度转换段码子程序 (18) 5.1 Proteus软件介绍 (20) 5.1.2 工作界面 (21) 5.2 仿真结果图 (22) 参考文献 (26)

数字式温度计的设计和制作

数字式温度计的设计和制作 时间:周一下 姓名:何安珣 学号:0930*******

一、实验目的 1.研究AD590集成电路温度传感器和NTC热敏电阻的温度特性; 2.利用AD590制作量程为0~100℃范围的数字式温度计;利用NTC热敏电阻制作量程为35~42℃范围的数字体温计。 二、实验原理 1.AD590集成温度传感器的基本特性 ?AD590是一个电流型的集成温度传感器(详见实验原理补充),其温度测量灵敏度高且线性好,测量中不需要设置恒定的稳定参考点。 ⑴测温范围:-55~+150℃. ⑵电源电压范围:4~30V. ⑶输出电阻:710MΩ. ⑷输出为电流变化,温度变化1℃,引起1μA的电流变化. ?有AD590的温度特性可知,其输出电流与温度呈线性关系: B I+ A =θ 其中I(单位为μA)为输出电流,θ为温度,A为0℃时的输出电流,B值约为1。 ?根据其温度特性,采用非平衡电桥电路,可以制作一台数字温度计。 图1AD590数字温度计设计电路

由A B I +=θ,可得: 3 2211R R R AR BR U +? +=εθ其中ε为电源电压,U 单位为μV 。 令?? ???=+?=010*******R R R AR BR ε,即可使电压表毫伏挡示数为AD590所处环境的温度。根据设计原理可知,R 1决定U-θ曲线的斜率,R 2、R 3决定U 、θ的差值。 2.NTC 热敏电阻基本特性 ? NTC 是Negative Temperature Coefficient 的缩写。NTC 热敏电阻即负温度系数热敏电阻, 以锰、钴、镍和铜等金属氧化物为主要材料,采用陶瓷工艺制造而成的。这些金属氧化物都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。温度低时,这些氧化物材料的载流子(电子和空穴)数目少,所以其电阻值较高;随着温度的升高,载流子数目增加,所以电阻值降低。 ⑴热敏电阻的零功率电阻值: )1 1(00 T T B e R R ?=R:周围温度T(K)时的电阻值(K:绝对温度)R 0:周围温度T 0(K)时的电阻值B:热敏电阻的B 常数 ⑵B 常数 0ln /1/11R R T T B ?= B 值也是温度的函数,因此热敏电阻零功率电阻值的公式为经验公式,仅在温度变化范围有限时才具有一定的精度。在本次实验中,35~42℃温度范围小,B 为常数。 ? 由于体温计的温度变化范围较小,可对)11(00 T T B e R R ?=式右边进行Taylor 展开:

相关文档
最新文档