版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 班 级 07311 学 号 07311045本科毕业设计论文题 目 基于单片机的智能数字温度控制报警器 学 院 专 业 测控技术与仪器 学生姓名 导师姓名 何天祥 毕业设计(论文)诚信声明书 本人声明:本人所提交的毕业论基于单片机的智能数字温度控制报警器是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均在我的致谢中加以说明并深致谢意。本论文和资料若有不实之处,本人承担一切有关责任。论文作者: (签字) 时间:2011年5月20日指导教师已阅
2、: 何天祥 (签字) 时间:2011年5月20日西 安 电 子 科 技 大 学 长 安 学 院毕业设计(论文)任务书学生姓名学号指导教师 何天祥 职称 副教授学院 专业 测控技术与仪器 题目名称 基于单片机的智能数字温度控制报警器 任务与要求本文主要是通过对基于单片机控制的数字温度计的了解,进一步学习protel 软件知识,通过自己掌握的其他相关知识,独自设计并制作了温度报警器。通过网络及相关图书了解数字温度计,了解关于温度单片机器件的应用。本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警.开始日期 2011年1月05号 完成日期 2011年5月24日 院长(签
3、字) 2011年 月 日注:本任务书一式两份,一份交学院,一份学生自己保存。西 安 电 子 科 技 大 学 长 安 学 院毕业设计(论文)工作计划学生姓名 学号 07311045 指导教师 何天祥 职称 副教授 学 院 长安学院 专业 测控技术与仪器 题目名称 基于单片机的智能数字温度控制报警器 一、 毕业设计(论文)进度起 止 时 间 工 作 内 容2011年1月05日3月15日查阅相关资料,了解温度报警器的原理,了解元器件特性,并且设计基本电路图;2011年3月16日3月30日 学习并使用电子仿真软件;2011年4月1日4月12日 对设计的电路在仿真软件上进行仿真,并记录数据,并进行进一步
4、的修改与调试;2011年4月13日4月30日 对电路进行测试并在protel软件中画出电路图并印制成pcb板,根据电路做出温度报警器的实物;2011年5月1日5月24日 撰写论文,准备论文答辩。二、主要参考书目(资料)1 杨振江,冯军:单片机原理与实践指导,西安电子科技大学出版社,2008.2 于海生,丁军航,潘松峰,吴贺荣:微型计算机控制技术,西安电子科技大学出版社,第2版,2009.3 曾兴雯:高频电子线路,西安电子科技大学出版社,2003.4 江小安:模拟电子技术,西安电子科技大学出版社,2006.三、主要仪器设备及材料硬件:计算机、 电子工具包、万用表等软件:电子工作台、电子线路设计(
5、protel)等四、教师的指导安排情况(场地安排、指导方式等)检索、阅读资料期间,可以在图书馆、自习教室进行;每周老师和学生至少讨论一次,并进行考勤。五、对计划的说明西 安 电 子 科 技 大 学 长 安 学 院毕业设计(论文)中期检查表 学 院长安学院专 业测控技术与仪器姓 名孙洪强学 号07311045班 级07311导师名称何天祥职 称副教授单 位电子工程学院题目名称基于单片机的智能数字温度控制报警器检 查 内 容检 查 结 果题目是否更换及更换原因 否学生出勤情况按时出勤进度评价(完成工作量的百分比) 80%质量评价、进度描述总体进度良好,已完成相关知识的准必阶段和设计方案,现阶段主要
6、进行了主要电路的基本设计通过仿真基本功能可以实现。总体评价(按优、良、中、及格、不及格五档评价) 优存在的问题与建议进一步完善电路的设计和功能扩展学院审核(盖章)注:学院、专业名均写全称西 安 电 子 科 技 大 学 长 安 学 院毕业设计(论文)成绩登记表 学 院长安学院专 业测控技术与仪器姓 名孙洪强学 号007311045成 绩题目名称基于单片机的智能数字温度控制报警器指导教师何天祥职 称副教授指导教师评语及对成绩的评定意见 孙洪强同学整个论文撰写期间态度认真,查找资料充分,阅读广泛。能够按时参加每次面试辅导,并通过电话、邮件等其它方式积极主动与指导老师联系,汇报论文进度。对于指导老师提
7、出的问题和不足之处,能够及时修改和完善论文对温度传感器ds18b20、硬件制作、软件程序描述详细,论文中的电路图、程序流程图、实物图齐全。论文资料详实,论述有力,思维活跃,逻辑清晰。论文反映出该生具有扎实的理论基础与较强的观察问题、分析问题和解决问题的能力。数字温度计广泛的用于日常生活中,希望该同学能在今后做进一步的研究,把其完善。建议成绩评定为“优秀” 。 签名 何天祥 2011 年 月 日评阅人评语及成绩评定意见签名 2011年 月 日答辩小组意见 签名 2011年 月 日学院答辩委员会意见答辩委员会主任签名 (学院盖章)2011年 月 日注:学院、专业名均写全称摘要摘 要 随着时代的进步
8、和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于89c51单片机的测温系统,详细描述了利用数字温度传感器ds18b20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍。该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度。它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。ds18b20与stc89c51结合实
9、现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词 :89c51单片机 数字传感器ds18b20 数码管ledabstractas the era of progress and development, microcontroller technology has spread to our life, work, scientific research, each domain, has become a more mature technology . this paper mainly introduces a 89c51 mc
10、u based on temperature measuring system, described in detail by using digital temperature sensor ds18b20 development temperature measuring system, focus on the process of the sensors in the single-chip microcomputer hardware connecting, software programming and each module system flow on the detaile
11、d analysis, part of the circuit also introduced. the system is easy to realize the realize temperature gathering and display, and can according to need any set upper temperature, it uses up police is very convenient, with high precision, range wide, high sensitivity, small volume, low power consumpt
12、ion advantages, suitable for our daily life and work, agriculture of temperature measurement, also can be used as temperature processing modules in other systems. as any other main system and auxiliary help expand. combined with the most stc89c51 realize ds18b20 temperature testing system,the system
13、 structure is simple, strong anti-jamming capability, suitable for harsh environment temperature measurement on the site, have broad application prospect.key word :singlechip 89c51 digital thermometer ds18d20 digital tube led 目录 i目 录第一章 绪 论11.1 数字温度计的介绍11.2 单片机的简介21.3 单片机的应用领域3第二章 系统硬件组成52.1 ds18b20
14、温度传感器介绍52.2 7段led数码管电路及原理132.3 系统方案的选择152.4 系统整体硬件电路17第三章 系统程序的设计193.1 主程序193.2 读出温度子程序203.3 温度转换命令子程序203.4 计算温度子程序203.5 显示数据刷新子程序20第四章 实验、调试及测试结果分析234.1 硬件调试234.2 软件调试23第五章 protel 软件、电路设计255.1 软件介绍255.2 基本操作介绍265.3 protel dxp原理图操作275.4 制板印制电路板(pcb)35总 结41致 谢43参考文献45附录 程序代码47 第一章 绪 论 3第一章 绪 论1.1 数字温
15、度计的介绍温度是我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。数字温度计采用进口芯片组装精度高、高稳定性,误差0.5%, 内电源、微功耗、不锈钢外壳,防护坚固,美观精致。数字温度计采用进口高精度、低温漂、超低功耗集成电路和宽温型液晶显示器,内置高能量电池连续工作5年无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企业,大专院
16、校,科研院所。数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即ad转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者pc机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如led,lcd或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。数字温度计根据使用的传感器的不同,ad转换电路,及处理单元的
17、不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。1.2 单片机的简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机也被称为 微控制器(microcontroller unit),常用英文字母的缩写mcu表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有cpu的专用处理器发展而来。最早的设计理念是通
18、过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。intel的z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是intel的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了mcs51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。目前,高端的32位单片机主频已经超过300mhz,性能直追90年代中期的专用处理器,而普通的型号
19、出厂价格跌落至1美元,最高端1的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的windows和linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系
20、统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过pc机和其他计算的总和,甚至比人类的数量还要多。1.3 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器
21、仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各
22、种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中
23、的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 6.在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于rom),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,
24、例如汽车中的发动机控制器,基于can总线的汽车发动机智能电子控制器,gps导航系统,abs防抱死系统,制动系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 第二章 系统硬件组成 17第二章 系统硬件组成2.1 ds18b20温度传感器介绍1、ds18b20 简单介绍:ds18b20温度传感器是美国dallas半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。ds18b20的性能特点如下:独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口
25、线即可实现微处理器与ds18b20的双向通讯ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数据线供电温范围55125,在-10+85时精度为0.5零待机功耗可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快用户可定义报警设置
26、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件测量结果直接输出数字温度信号,以一线总线串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 to92封装的ds18b20的引脚排列见下图2.1,其引脚功能描述见下:1gnd地信号2dq 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd 可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。图2.1 18b20管脚图2、ds18b20 使用中的注意事项:ds18b20 虽然具有测温系统简单、测温精度高、连接方便
27、、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:ds18b20 从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。在实际使用中发现,应使电源电压保持在5v 左右,若电源电压过低,会使所测得的温度精度降低。较小的硬件开销需要相对复杂的软件进行补偿,由于ds1820与微处理器间采用串行数据传送,因此,在对ds1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用pl/m、c等高级语言进行系统程序设计时,对ds1820操作部分最好采用汇编语言实现。在ds18b20的有关资料中均未提及单总线上所挂d
28、s18b20 数量问题,容易使人误认为可以挂任意多个ds18b20,在实际应用中并非如此,当单总线上所挂ds18b20 超过8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。在ds18b20测温程序设计中,向ds18b20 发出温度转换命令后,程序总要等待ds18b20的返回信号,一旦某个ds18b20 接触不好或断线,当程序读该ds18b20 时,将没有返回信号,程序进入死循环,这一点在进行ds18b20硬件连接和软件设计时也要给予一定的重视。3、ds18b20 内部结构:图为ds1820的内部框图,它主要包括寄生电源、温度传感器、64位激光rom单线接口
29、、存放中间数据的高速暂存器(内含便笺式ram),用于存储用户设定的温度上下限值的th和tl触发器存储与控制逻辑、8位循环冗余校验码(crc)发生器等七部分。ds18b20采用脚pr35 封装或脚soic封装,其内部结构框图如图 2.2所示图 2.2 ds18b20内部结构框图开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后位是前面56 位的crc 检验码,这也是多个ds18b20 可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。主机操作rom的命令有五种,如表所列指 令说 明读rom(33h)读ds1820的序列号匹配rom(55h)继读完64位
30、序列号的一个命令,用于多个ds1820时定位跳过rom(cch)此命令执行后的存储器操作将针对在线的所有ds1820搜rom(f0h)识别总线上各器件的编码,为操作各器件作好准备报警搜索(ech)仅温度越限的器件对此命令作出响应byte0温度测量值lsb(50h)byte1温度测量值msb(50h)byte2th高温寄存器byte3tl低温寄存器byte4配位寄存器byte5预留(ffh)byte6预留(och)byte7预留(ioh)byte8循环冗余码校验(crc)ds18b20 温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的eeram。高速暂存ram 的结构为字节的存
31、储器,结构如图 2.3所示。 便笺式储存器(上电状态)epromth高温寄存器tl低温寄存器配位寄存器 图 2.3高速暂存ram结构图前个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。ds18b20工作时寄存器中的分辨率转换为相应精度的温度数值。温度低位温度高位thtl配置保留保留保留8位crclsb msb当ds18b20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在
32、后,数据格式以0.062 5 /lsb形式表示。温度值格式如下:这是12位转化后得到的12位数据,存储在18b20的两个8比特的ram中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。图中,s表示位。对应的温度计算:当符号位s=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当s=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07d0h,+25.0625的数字输出为0191h,-25.062
33、5的数字输出为ff6fh,-55的数字输出为fc90h。ds18b20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625lsb形式表示。表2是部分温度值对应的二进制温度表示数据。温度二进制表示十六进制表示+125000001111101000007d0h+25.062500000001100100010191h+0.500000000000010000008h000000000000000000000h-0.51111111111111000fff8h-25.06251111111001101111fe6fh-551111110010010000
34、fc90h表2 部分温度值ds18b20完成温度转换后,就把测得的温度值与ram中的th、tl字节内容作比较,若tth或ttl,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只ds18b20同时测量温度并进行告警搜索。在64位rom的最高有效字节中存储有循环冗余校验码(crc)。主机根据rom的前 56位来计算crc值,并和存入ds18b20中的crc值做比较,以判断主机收到的rom数 据是否正确。4、ds18b20测温原理:: ds18b20的测温原理如图2所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶
35、振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,
36、停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理。另外,由于ds18b20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时 序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20 (发复位脉冲)发rom功能命令发存储器操作命令处理数据。斜率累加器计数器1=0计数器2=0比较预制温度寄存器预制低温度系数振荡器高温度系数振荡器t图(2) ds18b20测温原理图在正常测
37、温情况下,ds1820的测温分辨力为0.5,可采用下述方法获得高分辨率的温度测量结果:首先用ds1820提供的读暂存器指令(beh)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(lsb),得到所测实际温度的整数部分tz,然后再用beh指令取计数器1的计数剩余值cs和每度计数值cd。考虑到ds1820测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度ts可用下式计算: ts=(tz-0.25)+(cd-cs)/cd 5、提高ds1820测温精度的途径(1)、ds1820高精度测温的理论依据 ds1820正常使用时的测温分辨率为0.5,这对于水轮发电机组轴瓦温度
38、监测来讲略显不足,在对ds1820测温原理详细分析的基础上,我们采取直接读取ds1820内部暂存寄存器的方法,将ds1820的测温分辨率提高到0.10.01ds1820内部暂存寄存器的分布如表1所示,其中第7字节存放的是当温度寄存器停止增值时计数器1的计数剩余值,第8字节存放的是每度所对应的计数值,这样,我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用ds1820提供的读暂存寄存器指令(beh)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(lsb),得到所测实际温度整数部分t整数,然后再用beh指令读取计数器1的计数剩余值m剩余和每度计数值m每度,考虑到ds18
39、20测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度t实际可用下式计算得到:t实际=(t整数0.25)+(m每度m剩余)/m每度。寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5计数剩余值6每度计数值7crc 校验8表1 ds18b20暂存寄存器分布该字节各位的定义如下:tm r1 r0 1 1 1 1 1低5位一直都是1,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动,r1和r0决定温度转换的精度位数,即是来设置分辨率,如表1所示(ds18b20出厂时被设置为12位)。r
40、1r0分辨率温度最大转换时/mm009位93.750110位187.751011位275.001112位750.00表1 r1和r2模式表由表1可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如下所示。其中温度信息(第1,2字节)、th和tl值第3,4字节、第68字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的crc码,可用来保证通信正确。 根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复
41、位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。(2)、 测量数据比较表2为采用直接读取测温结果方法和采用计算方法得到的测温数据比较,通过比较可以看出,计算方法在ds1820测温中不仅是可行的,也可以大大的提高ds1820的测温分辨率。次数t(直视)m(剩余)m(每度)t(实际)121.000728020.850234.000428234.238349.000308349.388452.0006
42、68451.964564.000498564.174679.000568779.106782.000168882.568表2 ds18b20 直度测温结果与计算测温结果数据比较2.2 7段led数码管电路及原理 7段led数码管分为共阳极与共阴极两种,共阳极就是把所有led的阳极连接到共同接点com,而每个led的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有led的阴极连接到共同接点com,而每个led的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图2.5所示。图中的8个led分别与上面那个图中的adp各段相对应,通过控制各个led的亮灭来显示数字。图2
43、.5数码管显示4个数码管共用adp这8根数据线,为人们的使用提供了方便,因为里面有4个数码管,所以它有4个公共端,加上adp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为112脚,下图中的数字与之一一对应。图2.6数码管管脚2.3 系统方案的选择(一)、方案一采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图 3.1),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结
44、点的温度。数据采集部分则使用带有a/d 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行a/d 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到a/d 转换电路,感温电路比较麻烦。图 3.1热电偶电路图系统主要包括对a/d0809 的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有手动复位键、a/d 转换芯片,处理芯
45、片为51 芯片,执行机构有4 位数码管、报警器等。系统框图如图 3.2所示:数码管报警电路测温电路晶振电路复位电路单片机atc0809按键防抖动图 3.2热电偶温差电路测温系统框图(二)、方案二采用数字温度芯片ds18b20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。ds18b20 的最大特点之一采用了单总线的数据传输,由数字温度计ds18b20和微控制器at89s51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样
46、,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多ds18b20控制工作,还可以与pc 机通信上传数据,另外at89s51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。该系统利用at89s51芯片控制温度传感器ds18b20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片ds1302以获取时间数据,在数据处理同时显示时间,并可以利用at24c16芯片作为存储器件
47、,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过max232芯片与计算机的rs232接口进行串口通信,方便的采集和整理时间温度数据。系统框图如图 3.3所示按键输入电路时钟电路复位电路报警电路单片机驱动电路显示电路测温电路扩展接口:对事件和温度定点存储,并于计算机进行数据交换图 3.3 ds18b20温度测温系统框图从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。2.4 系统整体硬件电路温度计电路设计原理图如图2.7所示,控制器使用单片机stc89c51,温度传感器使用ds18b20,用4位共阳led数码管以动态扫描法实现温度显示电路。图2.6数字温度计电路原理图 第三章 系统程序的设计 21第三章 系统程序的设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等3.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理ds18b20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.1所示。y发ds18b20复位命令发跳过rom命令发读取温度命令读取操作,crc校验9字节完?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论