数字温度计课程设计报告综述.docx

上传人:b****4 文档编号:11365421 上传时间:2023-05-31 格式:DOCX 页数:19 大小:289.19KB
下载 相关 举报
数字温度计课程设计报告综述.docx_第1页
第1页 / 共19页
数字温度计课程设计报告综述.docx_第2页
第2页 / 共19页
数字温度计课程设计报告综述.docx_第3页
第3页 / 共19页
数字温度计课程设计报告综述.docx_第4页
第4页 / 共19页
数字温度计课程设计报告综述.docx_第5页
第5页 / 共19页
数字温度计课程设计报告综述.docx_第6页
第6页 / 共19页
数字温度计课程设计报告综述.docx_第7页
第7页 / 共19页
数字温度计课程设计报告综述.docx_第8页
第8页 / 共19页
数字温度计课程设计报告综述.docx_第9页
第9页 / 共19页
数字温度计课程设计报告综述.docx_第10页
第10页 / 共19页
数字温度计课程设计报告综述.docx_第11页
第11页 / 共19页
数字温度计课程设计报告综述.docx_第12页
第12页 / 共19页
数字温度计课程设计报告综述.docx_第13页
第13页 / 共19页
数字温度计课程设计报告综述.docx_第14页
第14页 / 共19页
数字温度计课程设计报告综述.docx_第15页
第15页 / 共19页
数字温度计课程设计报告综述.docx_第16页
第16页 / 共19页
数字温度计课程设计报告综述.docx_第17页
第17页 / 共19页
数字温度计课程设计报告综述.docx_第18页
第18页 / 共19页
数字温度计课程设计报告综述.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字温度计课程设计报告综述.docx

《数字温度计课程设计报告综述.docx》由会员分享,可在线阅读,更多相关《数字温度计课程设计报告综述.docx(19页珍藏版)》请在冰点文库上搜索。

数字温度计课程设计报告综述.docx

数字温度计课程设计报告综述

一.数字温度计的总体方案设计

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

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

图1.1系统基本方框图

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

AT89S52是一个低功耗、高性能CMOS8位的单片机,片内含8kBytesISP的可反复擦写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来显示温度。

二、系统器件的具体选择

2.1单片机的选择

本次设计采用的是单片机AT89C52。

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

图2.1PDIP封装的AT89C52引脚图

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

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

主要管脚有:

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

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

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

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

2.2温度传感器的选择

2.2.1DS18B20的简单介绍

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

DS18B20的性能特点如下:

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

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

③无须外部器件;

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

⑤零待机功耗;

⑥温度以9或12位数字;

⑦负电压特性,电极接反时,温度计不会因发热而烧毁,只是不能正常工作。

2.2.2DS18B20的外形和内部结构

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

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

开漏单总线接口引脚。

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

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

图2.2外部封装形式图2.3DS18B20的电路

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

图2-4DS18B20内部结构

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

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

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

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

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

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

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

2.2.3DS18B20的测温原理

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

DS18B20测温原理如图2.5所示。

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

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

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

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

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

图2.5DS18B20测温原理

2.2.4DS18B2的外部电路图

根据设计要求,传感器的硬件电路图如图2.6所示。

图2.6DS18B20外部电路图

三.程序流程

图3.1DS18B20温度计主程序流程图图3.2读出温度子程序流程图

 

图3.3计算温度子程序图3.4显示数据刷新子程序流程图

 

4.Proteus仿真调试结果及分析

温度计电路设计原理图如图4.1所示,控制器使用单片机AT89C2052,温度计传感器使用DS18B20,用液晶实现温度显示。

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

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

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

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

 

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

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

图3.1温度计电路设计仿真图

5.硬件调试结果及分析

5.1软件调试

根据流程图编写程序软件。

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

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

5.2系统调试

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

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

完成了我们预期的要求。

6.设计感受与见解

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

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

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

经过将近2周的综合实训,终于完成了我的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,

从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次实训中的最大收获。

七.附件一:

元器件清单

STC89C511个

温度传感器DS18B201个

插针1排

LCD16021个

40脚插座1个

12MHZ晶振1个

电容30PF2个

22UF1个

电阻10K2个

4.7K1个

 

附件二:

源程序

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitDQ=P3^7;//ds18b20与单片机连接口

sbitRS=P3^0;

sbitRW=P3^1;

sbitEN=P3^2;

unsignedcharcodestr1[]={"temperature:

"};

unsignedcharcodestr2[]={""};

uchardatadisdata[5];

uinttvalue;//温度值

uchartflag;//温度正负标志

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

voiddelay1ms(unsignedintms)//延时1毫秒(不够精确的)

{unsignedinti,j;

for(i=0;i

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

}

voidwr_com(unsignedcharcom)//写指令//

{delay1ms

(1);

RS=0;

RW=0;

EN=0;

P2=com;

delay1ms

(1);

EN=1;

delay1ms

(1);

EN=0;

}

voidwr_dat(unsignedchardat)//写数据//

{delay1ms

(1);;

RS=1;

RW=0;

EN=0;

P2=dat;

delay1ms

(1);

EN=1;

delay1ms

(1);

EN=0;

}

voidlcd_init()//初始化设置//

{delay1ms(15);

wr_com(0x38);delay1ms(5);

wr_com(0x08);delay1ms(5);

wr_com(0x01);delay1ms(5);

wr_com(0x06);delay1ms(5);

wr_com(0x0c);delay1ms(5);

}

voiddisplay(unsignedchar*p)//显示//

{

while(*p!

='\0')

{

wr_dat(*p);

p++;

delay1ms

(1);

}

}

init_play()//初始化显示

{lcd_init();

wr_com(0x80);

display(str1);

wr_com(0xc0);

display(str2);

}

/*****************ds1820程序*********************************/

voiddelay_18B20(unsignedinti)//延时1微秒

{

while(i--);

}

voidds1820rst()/*ds1820复位*/

{unsignedcharx=0;

DQ=1;//DQ复位

delay_18B20(4);//延时

DQ=0;//DQ拉低

delay_18B20(100);//精确延时大于480us

DQ=1;//拉高

delay_18B20(40);

}

uchards1820rd()/*读数据*/

{unsignedchari=0;

unsignedchardat=0;

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

{DQ=0;//给脉冲信号

dat>>=1;

DQ=1;//给脉冲信号

if(DQ)

dat|=0x80;

delay_18B20(10);

}

return(dat);

}

voidds1820wr(ucharwdata)/*写数据*/

{unsignedchari=0;

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

{DQ=0;

DQ=wdata&0x01;

delay_18B20(10);

DQ=1;

wdata>>=1;

}

}

read_temp()/*读取温度值并转换*/

{uchara,b;

ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/

ds1820wr(0x44);//*启动温度转换*/

ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/

ds1820wr(0xbe);//*读取温度*/

a=ds1820rd();

b=ds1820rd();

tvalue=b;

tvalue<<=8;

tvalue=tvalue|a;

if(tvalue<0x0fff)

tflag=0;

else

{tvalue=~tvalue+1;

tflag=1;

}

tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数

return(tvalue);

}

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

voidds1820disp()//温度值显示

{ucharflagdat;

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_com(0xc0);

wr_dat(flagdat);//显示符号位

wr_com(0xc1);

wr_dat(disdata[0]);//显示百位

wr_com(0xc2);

wr_dat(disdata[1]);//显示十位

wr_com(0xc3);

wr_dat(disdata[2]);//显示个位

wr_com(0xc4);

wr_dat(0x2e);//显示小数点

wr_com(0xc5);

wr_dat(disdata[3]);//显示小数位

}

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

voidmain()

{init_play();//初始化显示

while

(1)

{read_temp();//读取温度

ds1820disp();//显示

}

}

 

9.附录三:

实物图及使用说明

说明:

按键刷新温度

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2