温度计的设计报告Word格式文档下载.docx
- 文档编号:15981557
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:18
- 大小:638.26KB
温度计的设计报告Word格式文档下载.docx
《温度计的设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《温度计的设计报告Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
二、课程设计的目的和意义
数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
温度计是常用的热工仪表,常用于工业现场作为过程的温度测量。
在工业生产过程中,不仅需要了解当前温度读数,而且还希望能了解过程中的温度变化情况。
随着工业现代化的发展,对温度测量仪表的要求越来越高,而数字温度表具有结构简单,抗干扰能力强,功耗小,可靠性高,速度快等特点,更加适合于工业过程中以及科学试验中对温度进行在线测量的要求。
近年来,数字温度表广泛应用在各个领域,它与模拟式温度表相比较,归纳起来有如下特点。
⑴准确度高,⑵测量范围宽、灵敏度高,⑶测量速度快,⑷使用方便、操作简单,⑸抗干扰能力强,⑹自动化程度高,⑺读数清晰、直观方便。
数字温度计的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表。
数字化是当前计量仪器仪表发展的主要方向之一。
而高准确度数字温度计的出现,又使温度计进入了精密标准测量领域。
与此相适应,测量的可靠性、准确性显得越来越重要。
三、课程设计的总体方案和思路
根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。
选用数字温度传感DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:
温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用8位共阴LED数码管以动态扫描法实现。
检测范围-55摄氏度到128摄氏度。
按照系统设计功能的要求,确定系统由3个模块组成:
主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图1所示。
图1数字温度计总体电路结构框图
四、各模块元件功能
1、AT89C51介绍
单片机AT89C51是一种带4K字节可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,如图2所示。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51的主要特性介绍:
与MCS-51兼容;
4K字节可编程存储器;
寿命:
1000写/擦循环;
数据保留时间:
10年;
全静态工作:
0Hz-24MHz;
三级程序存储器锁定;
128×
8位内部RAM;
32可编程I/O线;
两个16位定时器/计数器;
有5个中断源;
可编程串行通道;
具有低功耗的闲置和掉电模式;
具有片内振荡器和时钟电路;
图2AT89C51
2、单片机最小系统
单片机最小系统是内部时钟接引脚XTAL1和XTAL2,采用18KHz的晶振CRYSTAL,用两个30pF的电容进行稳压,如图3所示:
图3内部时钟电路
3、LED显示电路
显示电路采用8位共阴LED数码管,从P0口输出段码,列扫描用P2.2~P2.3口连接两个锁存器来实现,如图4所示。
图4LED显示电路
4、
(1)DS18B20温度传感器介绍
DS18B20温度传感器是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。
DS18B20的性能特点如下:
●独特的单线接口方式仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在唯一的三线上,实现多点组网功能;
●无需外部器件;
●可通过数据线供电,电压范围:
3.0~5.5V;
●测温范围-55℃~+128℃;
●零待机功耗;
●温度以9或12位数字量读出;
●用户可定义的非易失性温度报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作
DS18B20结构特点。
它采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图5所示:
图5DS18B20内部结构框图
(2)DS18B20测温原理:
DS18B20的测温原理如图6所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图6中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
图6DS18B20测温原理图
5、温度传感器DS18B20与单片机的连接
DS18B20的DQ引脚与单片机的P3.7口连接,采用外部电源供电方式,如图7所示。
P3口是一个带内部上拉电阻的8位双向I/O口,其输出缓冲器可驱动(吸收或输出电流4个TTL逻辑门电路。
对该端口写“1”即在指令中安排一条SETBP3.7指令,可通过内部上拉电阻将该端口拉至高电平,此时该端口可做输入口使用。
图7测温电路
6、过温报警电路
用2N2222三极管做位驱动,喇叭和红色LED灯作报警提示,如图8。
图8过温报警电路
五、软件程序设计
1、温度采集DS18B20部分程序设计分析
由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的一般操作过程为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
初始化:
单片机将数据线拉低480-960us后释放,等待15-60us,单总线器件即可输出一个持续时间为60-240us的低电平(应答信号),单片机收到此应答后即可进行后续操作;
写时序:
当主机将数据线的电平从高拉到低时,形成写时序,有写0和写1两种时序。
写时序开始后,DS18B20在15-60us期间从数据线上采样,如果采样到低电平,则向DS18B20写0,否则写1,两个独立的时序之间至少需要1us的回复时间按(拉高总线电平);
读时序:
当主机从DS18B20读取数据时,产生读时序,此时,主机将数据线的电平从高拉到低使读时序被初始化。
如果此后15us内,主机在总线上采样到低电平,则从DS18B20读0,否则读1。
2、各部分程序设计及其程序流程图
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,报警子程序和显示数据刷新子程序等。
(1)主程序:
主程序的主要功能是负责温度的实时显示,读出并处理DS18B20的测量温度值。
温度测量每1s进行一次。
主程序流程图如图9所示。
(2)读出温度子程序:
读出温度子程的主要功能是读出RAM中的9字节。
在读出时须进行CRC校验,校验有错时不能进行温度数据的改写。
读出温度子程序流程图如图10所示。
(3)温度转换命令子程序:
温度转换命令子程序主要是发温度转换开始命令。
当采用12位分辨率时,转换时间约为750ms。
在本程序设计中,采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如图11所示。
(4)计算温度子程序:
计算温度子程序将RAM中读取的值进行十进制的转换运算,并进行温度值正负的判断。
其流程图如图12所示。
(5)显示数据刷新子程序:
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。
显示数据刷新子程序流程
图如图13所示。
图10读温度子程序图9主程序流程图
图11温度转换命令子程序流程图图12计算温度子程序
图13显示数据刷新子程序流程图
3、源程序设计:
#include<
reg52.h>
#include"
18b20.h"
#defineDataPortP1
sbitLATCH1=P2^2;
sbitLATCH2=P2^3;
sbitLABA=P2^0;
bitReadTempFlag;
unsignedcharcode
dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedcharcodedofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsignedcharTempData[8];
voidDisplay(unsignedcharFirstBit,unsignedcharNum);
voidInit_Timer0(void);
voidlab()
{
unsignedchari=100;
unsignedcharj=100;
while(j--)
while(i--)
LABA=~LABA;
}
voidmain(void)
{
unsignedintTempH,TempL,temp;
LABA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度计 设计 报告