数字温度计的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的数字温度计的设计
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。本文将介绍一种基于单片机控制的数字温度计,就是用单片机实现温度测量,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用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)
第一章绪论
单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两个分支。通用计算机系统主要用于海量高速数值运算,不必兼顾控制功能,其数据总线的宽度不断更新,从8位、16位迅速过渡到32位、64位,并且不断提高运算速度和完善通用操作系统,以突出其高速海量数值运算的能力,在数据处理、模拟仿真、人工智能、图像处理、多媒体、网络通信中得到了广泛应用;单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、机器人、仪器仪表、工业控制单元、办公自动化设备以及通信产品中,成为现代电子系统中最重要的智能化工具。因此,单片机的出现大大促进了现代计算机技术的飞速发展,成为近代计算机技术发展史上一个重要里程碑。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机已经在测控领域中获得了广泛的应用。
本次设计的数字温度计与传统的温度计相比,具有读数方便,价格低廉,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所或科研实验室使用,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阴极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。
第二章数字温度计的总体设计
2.1总体设计方案
本设计是测温电路,使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来温度是非电量模拟信号,数字显示温度就必须将这一非电量信号转换成电量(电压或电流),然后将模拟电信号经A/D 转换器转换成数字信号,最后经译码显示器显示温度值。
由论述可知,所设计的这种温度计的功能是传统的物理温度计无法完成的。在分析之后决定采用单片机8051为核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。
2.2 重要性能指标
本电路旨在将AD590(0℃时为273.2uA)因温度变化,导致电流变化(1uA / ℃),经OPA转换为电压变化输入ADC0804,输入电压Vin(0-5V之间)经AD转换后,其值由8751处理,最后显示在D4,D3,D2,D1共4各七段显示器。
该温度计所显示测量范围0℃-100℃。
2.3 系统主要模块方案论证与比较
2.3.1控制模块的选用
方案一:采用ATMEL公司的AT89C51单片机作为控制器。单片机运算能力强,软件编程灵活,自由度大。AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
方案二:采用FPGA(现场可编辑门列阵)作为系统主控制器。FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,并且可利用EDA软件进行仿真和调试。FPGA采用并行工作方式,提高了系统的处理速度,常用于大规模实时性要求较高的系统。
方案比较,以上两种方案中,方案一的四个端口只需要两个就能满足设计需要,资源比较适中。而方案二将使FPGA的高速处理能力得不到充分发挥,故选择方案一。
2.3.2温度测量模块选用
方案一:测温电路可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度值显示出来,但这种设计需要用到A/D转换电路,感温电路比较复杂、成本高。
方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
方案比较,从以上两种方案,很容易看出,方案一中感温电路比较麻烦,而方案二中电路比较简单,软件设计也比较简单,故采用方案二。
2.4 设计要求和实现的功能
1.用温度传感器测试温度,用6位LED数码管显示温度;
2.测试温度的范围为-55~99℃,温度误差为±1℃;
3.能进行仿真