测控系统综合训练课程设计基于AT89C52单片机的温度测量_第1页
测控系统综合训练课程设计基于AT89C52单片机的温度测量_第2页
测控系统综合训练课程设计基于AT89C52单片机的温度测量_第3页
测控系统综合训练课程设计基于AT89C52单片机的温度测量_第4页
测控系统综合训练课程设计基于AT89C52单片机的温度测量_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于基于 at89c52at89c52 单片机的温度测量单片机的温度测量 学院名称: 电气信息工程学院 专 业: 测控技术与仪器 班 级: 08 测控 2 班 姓 名: 学 号: 指导教师: 2011 年 12 月 j ji ia an ng gs su u t te ea ac ch he er rs s u un ni iv ve er rs si it ty y o of f t te ec ch hn no ol lo og gy y 测测 控控 系系 统统综综 合合 训训 练练 课课 程程 设设 计计 综合实训论文 第 2 页 共 24 页 2 摘摘 要要 随着时代的进步和发展,单

2、片机技术已经普及到我们生活、工作、科 研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于 89s51 单片机的测温系统,详细描述了利用数字温度传感器 ds18b20 开发 测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各 模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系 统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报 警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、 功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可 以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。 ds18b20 与

3、 at89c51 结合实现最简温度检测系统,该系统结构简单,抗干 扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 综合实训论文 第 3 页 共 24 页 3 目目 录录 1 引言引言.3 2 数字温度计的总体方案设计及论证数字温度计的总体方案设计及论证.4 3 系统器件的具体选择系统器件的具体选择.5 3.1 单片机的选择单片机的选择.5 3.2 温度传感器的选择温度传感器的选择.6 3.2.1 ds18b20 的简单介绍的简单介绍.7 3.2.2 ds18b20 的外形和内部结构的外形和内部结构.7 3.2.3 ds18b20 的测温原理的测温原理.8 3.2.4 ds18b

4、2 的外部电路图的外部电路图.9 4 硬件电路的总体设计硬件电路的总体设计.10 5软件软件 总体设计总体设计.11 6调试调试.14 6.1软件调试软件调试.14 6.2系统调试系统调试.15 总结总结.15 参考文献参考文献.16 附件一源程序附件一源程序.16 附件二附件二 proteus 仿真完成图仿真完成图.22 附件三附件三 元器件清单元器件清单.23 综合实训论文 第 4 页 共 24 页 4 1 1 引言引言 信息科学和微电子技术的飞速发展给控制领域带来了巨大的飞跃,控制技术更加 趋向自动化和智能化,为无数的使用者带来了方便。在控制领域里,温度是一个常见 的名词,然而它所带来的

5、技术问题和所起的作用却是非同一般的。在控制领域中,对 温度的控制有着举足轻重的作用。例如陶瓷的烧烤,只有控制住温度的适度,才能制 作出一件完美的艺术品,否则只是一件废品;还有如酿酒的过程,也需要对温度进行 控制。可见,在生活的许多方方面面都有着对温度进行感知和控制的需要。 温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代 工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。 在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工 作,无时无刻不在与温度打着交道。在冶金、钢铁、石化、水泥、玻璃、医药等等行 业,可以说几乎 80%的工

6、业部门都不得不考虑着温度的因素。温度对于工业如此重要, 由此推进了温度传感器的发展。 测量温度的基本方法是使用温度计直接读取温度。最常见到的测量温度的工具是 各种各样的温度计,例如,水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。 它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。 而在传统的模拟信号温度测量系统中,测温电路的电磁环境非常恶劣,各种干扰信号 较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度,不能满足数字化 时代的需求。利用单片机和温度传感器构成的电子式智能温度计精度高、抗干扰能力 强,可扩展性强、集成方便得到了广泛的应用。而且可以直接测量

7、温度,得到温度的 数字值,既简单方便,又直观准确,新型数字温度传感器是温度计设计的最有效方案。 本课题就是一个对温度进行检测,采集和显示的温度检测系统。它以单片机 (at89s51)为主要控制器件,ds18b20 为温度传感器,并通过 lcd 液晶 1602 直接显示 所测温度的新型数字温度计。由于本人所学知识有限,设计过程中难免会出现错误, 还请各位老师指正。 综合实训论文 第 5 页 共 24 页 5 2 2 数字温度计的总体方案设计及论证数字温度计的总体方案设计及论证 根据系统设计的功能,本时钟温度系统的设计必须采用单片机软件系统实现,用 单片机的自动控制能力来测量、显示温度数值。 初步

8、确定设计系统由单片机主控模块、测温模块、显示模块、报警模块共 4 个模 块组成,电路系统框图如图 1.1 所示。 对于单片机的选择,如果用8051系列,由于它没有内部ram,系统又需要一定的内 存存储数据。at89s52是一个低功耗、高性能cmos 8位的单片机,片内含8k bytes isp 的可反复擦写1000次的flash只读程序存储器,兼容标准mcs-51指令系统及80c51引脚 结构,功能强大的at89s52可为许多嵌入式控制应用系统提供高性价比的解决方案。而 at89s52与at89c51相比,外型管脚完全相同,at89c51的hex程序无须任何转换可直接 在at89s52运行,且

9、at89s52比at89c51新增了一些功能,相比较后,在本设计中选用 at89s52更能很好的实现温度计控制功能。 测温电路可以使用热敏电阻之类的器件,利用其感温效应,将被测温度变化的电 压或电流采集过来,进行 a/d 转换后,就可以用单片机进行数据处理。但是这种感温 电路比较复杂,且采用热敏电阻精度低,重复性、可靠性都比较差。 如果采用温度传感器 ds18b20 可以减少外部硬件电路,而且可以很容易直接读取 被测温度值,进而转换,还可以在高温报警,且成本低、易使用,可以很好的满足设 计要求。所以本文采用传感器 ds18b20 代替传统的测温电路。 温度的显示可以采用 led 数码管来显示,

10、led 亮度高、醒目,但是电路复杂, 占用资源多且信息量小。而采用液晶显示器有明显的优点:工作电流比 led 小几个 综合实训论文 第 6 页 共 24 页 6 数量级,功耗低;尺寸小,厚度约为 led 的 1/3;字迹清晰、美观、使人舒服;寿 命长,使用方便,可得性强。故本设计采用 lcd 来显示温度。 3 3 系统器件的具体选择系统器件的具体选择 3.13.1 单片机的选择单片机的选择 本次设计采用的是单片机 at89c52。 at89c52 是一个低电压,高性能 cmos 8 位单片机,片内含 8k bytes 的可反复擦写 的 flash 只读程序存储器和 256 bytes 的随机存

11、取数据存储器(ram),器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通 用 8 位中央处理器和 flash 存储单元,at89c52 单片机在电子行业中有着广泛的应用。 图 3.1 pdip 封装的 at89c52 引脚图 at89c52 为 8 位通用微处理器 ,采用工业标准的 c51 内核,在内部功能及管 脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。 功能包括对会聚主 ic 内部寄存器、数据 ram 及外部接口等功能部件的初始化, 会聚调整控制,会聚测试图控制,红外遥控信号ir 的接收解码及与主板 cpu 通 信

12、等。 综合实训论文 第 7 页 共 24 页 7 主主要要管管脚脚有:xtal1(19 脚)和 xtal2(18 脚)为振荡器输入输出端口,外 接 12mhz 晶振。rst/vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。 vcc(40 脚)和 vss(20 脚)为供电端口,分别接 +5v 电源的正负端。 p0p3 为 可编程通用 i/o 脚,其功能用途由软件定义,在本设计中, p0 端口(3239 脚) 被定义为 n1 功能控制端口,分别与 n1 的相应功能管脚相连接, 13 脚定义为 ir 输入端,10 脚和 11 脚定义为 i2c 总线控制端口,分别连接 n1 的 sdas(

13、18 脚) 和 scls(19 脚)端口,12 脚、27 脚及 28 脚定义为握手信号功能端口,连接主 板 cpu 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 3.23.2 温度传感器的选择温度传感器的选择 3.2.13.2.1 ds18b20ds18b20 的简单介绍的简单介绍 ds18b20 温度传感器是一种改进型智能温度传感器,与传统的热敏电阻等测温元件 相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 912 位的数 字值读数方式。ds18b20 的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信; 多个 ds18b20 可以并联在惟一的三线

14、上,实现多点组网功能; 无须外部器件; 可通过数据线供电,电压范围为 3.05.5; 零待机功耗; 温度以或位数字; 用户可定义报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电极接反时,温度计不会因发热而烧毁,只是不能正常工作。 3.2.23.2.2 ds18b20ds18b20 的外形和内部结构的外形和内部结构 ds18b20 内部结构主要由四部分组成:64 位光刻 rom、温度传感器、非挥发的 温度报警触发器 th 和 tl、配置寄存器。 ds18b20 的管脚排列、各种封装形式如图 3.3 所示,dq 为数据输入/输出引脚。 开漏单总线接口引脚。

15、当被用着在寄生电源下,也可以向器件提供电源;gnd 为地信号; vdd 为可选择的 vdd 引脚。当工作于寄生电源时,此引脚必须接地。 综合实训论文 第 8 页 共 24 页 8 图 3.2 外部封装形式 图 3.3 ds18b20 的电路 ds18b20 采用 3 脚 pr35 封装或 8 脚 soic 封装,其内部结构框图如图 3-4 所示。 i/o c 64 位 rom 和 单 线 接 口 高 速 缓 存 存储器与控制逻 辑 温度传感器 高温触发器 th 低温触发器 tl 配置寄存器 8 位 crc 发生器 vdd 图 3-4 ds18b20 内部结构 64 位 rom 的结构开始 8

16、位是产品类型的编号,接着是每个器件的惟一的序号,共 有 48 位,最后 8 位是前面 56 位的 crc 检验码,这也是多个 ds18b20 可以采用一线进 行通信的原因。温度报警触发器 th 和 tl,可通过软件写入户报警上下限。 ds18b20 温度传感器的内部存储器还包括一个高速暂存 ram 和一个非易失性的可电 擦除的 eeram。高速暂存 ram 的结构为 9 字节的存储器,结构如图 3-8 所示。头 2 个字 节包含测得的温度信息,第 3 和第 4 字节 th 和 tl 的拷贝,是易失的,每次上电复位 时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

17、 综合实训论文 第 9 页 共 24 页 9 ds18b20 工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图 3-8 所示。低 5 位一直为 1,tm 是工作模式位,用于设置 ds18b20 在工作模式还是在测 试模式,ds18b20 出厂时该位被设置为 0,用户要去改动,r1 和 r0 决定温度转换的精 度位数,来设置分辨率。 3.2.33.2.3 ds18b20ds18b20 的测温原理的测温原理 ds18b20 的温度值的位数因分辨率不同而不同,温度转换时的最大延时为 750ms。 ds18b20 测温原理如图 3.5 所示。图中低温度系数晶振的振荡频率受温度影响很

18、小,用 于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改 变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55 所对应的一个基数值。计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当 计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入, 计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预 置值。 图 3

19、.5 ds18b20 测温原理 综合实训论文 第 10 页 共 24 页 10 3.2.43.2.4 ds18b2ds18b2 的外部电路图的外部电路图 根据设计要求,传感器的硬件电路图如图 3.6 所示。 图 3.6 ds18b20 外部电路图 3.33.3 显示及报警模块选择显示及报警模块选择 在本设计中温度测量范围为0125,精度为0.5,因此只需要液晶 smc1602a就可以完成相关的显示功能,报警器可以用有源蜂鸣器配合三极管来代 替,本设计则直接使用led发光二极管带代替。 4 4 硬件电路的总体设计硬件电路的总体设计 温度计电路设计原理图如图4.1所示,控制器使用单片机at89c2

20、052,温度计传 感器使用ds18b20,用液晶实现温度显示。 本温度计大体分三个工作过程。首先,由ds18820温度传感器芯片测量当前的 温度,并将结果送入单片机。然后,通过89c2052单片机芯片对送来的测量温度读 数进行计算和转换,井将此结果送入液晶显示模块。最后,smc1602a芯片将送来 的值显示于显示屏上。 由图4.1可看到,本电路主要由dsl8820温度传感器芯片、smcl602a液晶显示 模块芯片和89c2052单片机芯片组成。其中,dsi8b20温度传感器芯片采用“一线 制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工 作。 综合实训论文 第 11 页

21、共 24 页 11 图4.1 温度计电路设计仿真图 5 5软件软件 总体设计总体设计 系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子 程序、显示数据刷新子程序。 综合实训论文 第 12 页 共 24 页 12 主程序的主要功能是负责温度的实时显 示、读出并处理 ds18b20 的测量温度值。温 度测量每 1s 一次。 图 5.1 ds18b20 温度计主程序流程图 读出温度子程序的主要功能是读出 ram 中 的 9 字节。在读出时须进行 crc 校验,校验有 错时不进行温度数据的改写。 图 5.2 读出温度子程序流程图 综合实训论文 第 13 页 共 24 页 13 计

22、算温度子程序将 ram 中读取值进 行 bcd 码的转换运算,并进行温度值 正 负的判定。 图 5.3 计算温度子程序 显示数据刷新子程序主要是对显示缓冲器中的显 示数据进行刷新操作,当最高数据显示位为零时, 将符号显示位移入下一位 综合实训论文 第 14 页 共 24 页 14 图 5.4 显示数据刷新子程序流程图 图5.5警模块子程序流程图 6 6调试调试 6.16.1软件调试软件调试 根据流程图编写程序软件。本次设计系统的调试以程序的调试为主。 程序的调试我们采用eil c51keil c51 软件是众多单片机应用开发的优秀软 件之一,它集编辑,编译,仿真于一体,支持汇编,plm 语言和

23、 c 语言的程序设计, 界面友好,易学易用。 综合实训论文 第 15 页 共 24 页 15 6.26.2系统调试系统调试 软硬件分别调试完成以后,将程序下载入单片机中,电路板接上电源,电源指示 灯亮,按下开关按钮,lcd 显示当前温度。用手去碰触温度传感器,温度显示值出现变 化,显示当前手的温度值。 当温度高于我们所设定的最高温度37度时,警报红灯亮。 完成了我们预期的要求。 总结总结 本次综合实训是针对 mcs-51 系列的单片机芯片 stc89c52 来设计一个数字温度计, 该设计充分利用了温度传感器 ds18b20 功能强大的优点,如 ds18b20 可以直接读出被 测温度值,进行转换

24、;而且采用三线制与单片机相连,减少了外部的硬件电路,具有 低成本和易使用的特点,大大简化了硬件电路,也使得该数字温度计不仅具有结构简 单、成本低廉、精确度较高、反应速度较快、数字化显示和不易损坏等特点,而且性 能稳定,适用范围广,因此特别适用于对测温要求比较准确的场所。 在这次设计中,熟悉了制作一个产品的总体流程,能熟练使用一些必要的设计工 具和仿真工具等。通过选认元件,连线,调试检测等过程,锻炼自己的理论联系实际 的能力和实际操作能力,从而综合性地巩固所学的知识,为将来的工作做一次实战演 习。 经过将近 4 周的综合实训,终于完成了我的数字温度计的设计,虽然没有完全达 到设计要求,但从心底里

25、说,还是高兴的, 从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际, 把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写 与读的过程中才能提高,这就是我在这次实训中的最大收获。 综合实训论文 第 16 页 共 24 页 16 参考文献参考文献 1 余泽辉等基于单片机的数字温度计的研究与设计仪器仪表用户,2004,14 (2):911 2 张红润 张亚凡单片机原理及应用北京:清华大学出版社,2005 3 张元良 王建军.单片机开发技术实例教程.北京:机械工业出版社,2010.8 4 雷伏容 张小林 崔浩.51单片机常用模块设计查询手册.北京:清华大学

26、出版社,2010 5 凌玉华.单片机原理及应用系统设计.长沙:中南大学出版社,2006.4 6 皮大能 南光群 刘金华.单片机课程设计指导书.北京:北京理工大学出版社,2010 7 付佳才.单片机控制工程实践技术.北京:化学工业出版社,2004 附件一源程序附件一源程序 #include #include #include #define uchar unsigned char #defineuint unsigned int sbit dq =p20; sbit rs =p35; sbit rw =p36; sbit e =p37; uchar temp_data_l,temp_data_h

27、; uchar code lcddata10=0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39; uchar code ditab16=0 x30,0 x31,0 x31,0 x32,0 x33,0 x33,0 x34,0 x34,0 x35,0 x36,0 x36,0 x37,0 x38,0 x38,0 x39,0 x39; uchar code table216=0 x74,0 x65,0 x6d,0 x70,0 x65,0 x72,0 x61,0 x74,0 x75,0 x72,0 x65,0 x20,0 x6 9,0

28、 x53,0 x20,0 x3a; uchar display7=0 x00,0 x00,0 x00,0 x2e,0 x00,0 xdf,0 x43; /延时 void delay(uint n) uint i; for(i=0;in;i+); 综合实训论文 第 17 页 共 24 页 17 /初始化 ds18b20 bit resetpulse (void) dq=0; delay(40); dq=1; delay(4); return(dq); void ds18b20_init(void) while(1) if(!resetpulse() dq=1; delay(40); break;

29、 else resetpulse(); uchar read_bit(void) dq=0; _nop_(); _nop_(); dq=1; delay(2); return(dq); uchar read_byte(void) uchar i,shift,temp; shift=1; temp=0; for (i=0;i8;i+) if(read_bit() temp=temp+(shift i); delay(7); 综合实训论文 第 18 页 共 24 页 18 return(temp); void write_bit(uchar temp) dq=0; if (temp =1) dq=

30、1; delay(5); dq=1; void write_byte(uchar val) uchar i,temp; for(i=0;ii; temp=temp write_bit(temp); delay(5); void read_t(void) ds18b20_init(); write_byte(0 xcc); write_byte(0 x44); delay(500); ds18b20_init(); write_byte(0 xcc); write_byte(0 xbe); temp_data_l=read_byte(); temp_data_h=read_byte(); voi

31、d check_busy(void) while(1) p1=0 xff; e=0; _nop_(); rs=0; _nop_(); _nop_(); 综合实训论文 第 19 页 共 24 页 19 rw=1; _nop_(); _nop_(); e=1; _nop_(); _nop_(); _nop_(); _nop_(); if (p1 e=0; void write_command(uchar tempdata) e=0; _nop_(); _nop_(); rs=0; _nop_(); _nop_(); rw=0; p1=tempdata; _nop_(); _nop_(); e=1; _nop_(); _nop_(); e=0; _nop_(); check_busy(); void write_data(uchar tempdata) e=0; _nop_(); _nop_(); rs=1; _nop_(); _nop_(); r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论