基于单片机AT89C51芯片DS18B20传感器的智能温度计设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专业课程设计报告

题目:基于单片机的数字温度计设计

所在学院

专业班级

学生姓名

学生学号

同组队员

指导教师

提交日期2012年12月13 日

电气工程学院专业课程设计评阅表学生姓名学生学号

同组队员专业班级

题目名称基于单片机的数字温度计设计

一、学生自我总结

二、指导教师评定

目录

一、设计目的 (1)

二、设计要求和设计指标 (1)

三、设计内容 (1)

3.1主控制电路 (2)

3.1.1 晶振电路 (2)

3.1.2 复位电路 (2)

3.2 测温电路 (3)

3.3 显示电路 (3)

3.4 仿真分析 (4)

四、本设计改进建议 (5)

五、总结 (5)

六、主要参考文献 (6)

附录6

一、设计目的

这次基于单片机的温度计设计,加强了我对单片机的理论了解,也深入学习了单片机线路的设计和编程。理论联系实际,通过自己对基于51芯片的单片机板设计,熟悉了各元件的识别和作用,也掌握了如何使用Protues画线路图。还加强掌握了C语言的编程应用,学习了使用Keil对单片机编程,并通过Protues进行仿真。通过这次实训,学到东西之余,也增强了动手能力,提高了学习的兴趣,培养了创新意识。

二、设计要求和设计指标

(1) 设计一个数字温度计,实现温度的采集,范围0-100℃,误差小于0.1℃;

(2)选择单片机作为主控器;

(3)选择合适的温度传感器进行温度测试;

(4)能把采集到的温度显示出来。

三、设计内容

这次设计,我们采用了AT89C51单片机芯片,做一个采温、显示功能的数字温度计。在测温电路上,可以采用热敏电阻(如PT100)之类的器件,利用其感温效应,然后采集不同温度下的电压或者电流,进行A/D转换,然后通过单片机的数据处理,就可以获得所测的温度。但这种设计电路较为复杂,还涉及到A/D转换,在程序的设计上面也相应变得复杂一些。因此这次设计不予采用。而是选择温度传感器DS18B20,DS18B20读书较为方便,通过对温度的采集,经过单片机的处理,用四位的共阴极数码管显示温度值。这样设计电路简单,测量精度高,量程宽,而且单片机的接口便于扩展。

图3-1 单片机总体方框图

3.1.1 晶振电路

晶振采用12MHz,分别接入到XTAL1与XTAL2端中。同时在晶振两端各接一个30uF的电容,每个电容的另一端再接入到地。

图3-2 晶振电路

3.1.2 复位电路

复位电路采用的是上电复位。如图所示,在RST复位输入引脚上接一电容至Vcc 端,下接一个电阻到底。线路上接一按钮,通过按下按钮,复位电路通过电容给RST 一个短暂的高电平信号。达到复位状态。

图3-3 复位电路

测温电路方面,我选择的温度传感器是DS18B20.这是美国DALLAS半导体公司最新推出的一种改进型只能温度传感器,不同于传统的热敏电阻,DS18B20能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读书方式。

DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20 的1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。

当DS18B20 处于写存储器操作和温度A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD 端接地。由于单线制只有一根线,因此发送接口必须是三态的。

这里我们把温度传感器的DQ端与P2.7相接,以P2.7作为温度输入口。温度传感器VCC端接电源,GND端接地端。如下图所示

图3-4 温度传感器与单片机连接

3.3 显示电路

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

图3-5 数码管显示电路

3.4 仿真分析

进入Protues以后,打开我们画好的电路,并且把我们编写好的程序下载进去。然后设置DS18B20的分辨率为0.1,设置模拟温度为29.6℃。

图3-6 DS18B20参数设置图

然后启动仿真电路,执行仿真,电路正常工作。从图中可以看出,四位共阴极LED 数码管上面显示出来的温度与我们预先设置传感器的模拟温度一致,电路能实现正常温度采集并正确显示在数码管上面,达到我们所需要的要求。并且通过改变传感器模拟温度,显示温度能够实现实时更新,误差小于0.1℃,延时小于0.1s。

图3-7 温度计仿真电路图

四、本设计改进建议

本次设计用AT89C51芯片控制控制温度传感器DS18B20做成的数字温度计,电路较为简单,精度也较高。虽然DS18B20的精度只有0.5℃,但是可以通过补偿的方法提高精度,最大精度能达到0.06℃。但是该电路的测温范围有一定限制,只能测量-55℃~+125℃,不能在一些特定的场合来使用。但是如果采用热电阻PT100,再加入A/D 转换电路,经单片机对采集的数据处理以后,测温范围能扩大到-200~850℃。同时,改数字温度计只是单纯的温度检测,并没有设置相关的报警功能,可以结合单片机,加入报警功能,在达到设定温度以后触发电铃或者电灯,达到报警作用。

五、总结

这次设计,首次动手自己设计电路。把以往所学的理论知识投入到实际应用当中,

相关文档
最新文档