基于51单片机的数字温度计设计_第1页
基于51单片机的数字温度计设计_第2页
基于51单片机的数字温度计设计_第3页
基于51单片机的数字温度计设计_第4页
基于51单片机的数字温度计设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

安阳师范学院本科学生毕业论文基于 51单片机的数字温度计设计作 者 系(院) 物理与电气工程学院 专 业 电子信息工程 年 级 学 号 指导教师 日 期 2012.05.12 成 绩 学生诚信承诺书本人郑重承诺:所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。所有合作者对本研究所作的任何贡献均已在论文中作了明确的说明和表示了。签名: 日期: 2012-05-12 论文使用授权说明本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。签名: 导师签名: 日期: 第 0 页基于 51单片机的数字温度计设计张兆元(安阳师范学院 物理与电气工程学院, 河南 安阳 455000)摘 要:用单片机控制实现的测温系统,其精度高,稳定性好,并选用了美国 DALLAS 公司最新推出的 DSl8B20 一线式数字温度传感器,并给出了数字温度传感器的硬件接口电路及软件设计方法,通过发光数码管显示温度。关键词:STC89C52;DSl8B20;测温;1 引言随着现代信息科技的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件,热敏电阻成本低,但需要接信号处理电路,而且热敏电阻的可靠性较差,测量温度的准确度低,检测系统的精度差。而今电子技术和微型计算机的迅速发展,采用单片机进行温度检测、数值显示和数据的传送,具有效率高、性能稳定等优点,还可以实现实时实地控制等技术要求,在工业生产中应用越来越广泛。2 技术要求在三位数码管上显示当前采集到的环境温度,并精确到 0.1 度。3 方案论证3.1 恰当地选择温度传感器方案 1:用热敏电阻做为温度传感器。通过采集各个时间内的电压,进行 A/D 转换,经过电压与温度的转换、校准,测量出温度。方案 2:用 DS18B20 数字式温度传感器。DS18B20 是 DS1820 的换代产品,它与传统的热敏电阻温度传感器不同,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。其内部集成了温度的传感器及 A/D 转换模块,通过读取片内数据,测量出温度。 由于用热敏电阻作为温度传感器误差较大,可靠性相对较差,且不方便调试校准;而DS18B20 测量精度高,集成度高,方便调试,线路简单。所以本设计采用方案 2。 3.2 显示器件的选择方案 1:采用液晶显示,此种显示方式,液晶耗电量少,能显示复杂的符号图形。方案 2:采用发光数码管显示,此种显示亮度高,且编程简单。考虑到本系统显示简单,液晶价格贵且亮度低,所以选用方案 2。4 硬件设计4.1 关于单片机单片机是一种集成电路,即采用大规模集成电路技术把具有数据处理能力的 CPU(中央处理器) 、随机存储器 RAM(random access memory ) 、只读存储器 ROM(Read-Only Memory ) 、多种 I/O 口和中断系统、定时器 /计时器等功能,还可以包括显示驱动电路、脉第 1 页宽调制电路、模拟多路转换器、A/D 转换器等电路,集成到一块硅板上构成的一个小而精密的计算机系统。 我选用的单片机是 stc89c52,它是深圳宏晶科技生产的,具有低功耗高性能的优点。并且有 8K 在系统可编程 Flash 存储器, 512 字节数据存储空间,内带 4K 字节 EEPROM 存储空间。4.2 系统结构图4.2.1 了解 51 单片机的内部系统结构图 4.1.1 单片机的内部系统结构其中,较为重要的是串行端口。串行通信是数据的各位在同一根数据线上依次逐位发送或接收。P3.0 口的第二功能是串行数据的输入口(RXD) ,p3.1 口的第二功能是串行数据的输出口(TXD)。4.2.2 根据设计要求,画出外部系统结构图电路总图见附录一图 4.2.2 外部系统结构图第 2 页图 4.3.3 DS18B20 实物图4.3 温度传感器模块4.3.1 DS18B20 温度传感器介绍DS18B20 是美国 Dallas 半导体公司生产的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易兼容微处理器等优点,可直接将温度传感器转化成串行数字信号供处理器处理。4.3.2 DS18B20 温度传感器特性(1) 适应电压范围宽,电压范围在 3.05.5V,在寄生电源方式下可由数据线供电。(2) 独特的单线接口方式,他与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通信。(3) 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。(4) 在使用中不需要任何外围元件,全部传感元件及转换电路形如多只三极管的组成电路。(5) 测温范围-55C +125C,在-10C +85C 时精度为正负 0.5C。(6) 可编程分辨率为 912 位,对应的可分辨温度分别为 0.5C,0.25C,0.125C,0.0625C,可实现高精度测温。(7) 在 9 位分辨率时,最多在 93.75ms 内把温度转换数字;12 位分辨率时,最多在750ms 内把温度值转换为数字,显然速度很快。(8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送CRC 校验码,具有极强的抗干扰能力。CRC 即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。(9) 负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。4.3.3 引脚介绍DS18B20 实物图如图所示。4.3.4 DS18B20 与单片机的连接第 3 页主机可以是微控制器,从机可以是单总线器件,他们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能释放总线,而让其他设备使用总线。单总线通常要求外接一个约为5k 的 上 拉 电 阻 , 如 图 所 示 。图 4.3.4 DS18B20 和单片机的连接从图可以看出,DS18B20 和单片机的连接非常简单,单片机只需要一个 I/O 口就可以控制 DS18B20。这个图的接发是单片机与一个 DS18B20 通信,如果要控制多个 DS18B20 进行温度采集,只要将所有 DS18B20 的 I/O 口全部连接到一起就可以了。在具体操作时,通过读取各个 DS18B20 内部芯片的序列号来识别。4.3.5 DS18B20 的工作原理硬件电路连接好以后,对于单片机需要怎样工作才能将 DS18B20 中的温度数据读取出来,下面将给出详细分析。其控制 DS18B20 的指令:33H读 ROM。读 DS18B20 温度传感器 ROM 中的编码(即 64 位地址) 。44H操作 RAM。发送温度转换命令,结果存入 9 字节 RAM。55H匹配 ROM。发出此命令后,接着发出 64 位 ROM 编码,访问单总线上与该编码对应的 DS18B20 并使之作出响应,为下一步对该 DS18B20 的读/写做准备。F0H搜索 ROM。用于确定挂接在同一总线上 DS18B20 的个数,识别 64 位 ROM 地址,为操作各器件做好准备。CCH跳过 ROM。忽略 64 位 ROM 地址,直接向 18B20 发温度变换命令,适用于一个从机工作。ECH告警搜索命令。执行后只有温度超过设定值上限或下限的芯片才作出响应。以上这些指令涉及的存储器是 64 位光刻 ROM,表 1 列出了它的各个定义。表 1 64 位光刻 ROM 各位定义8 位 48 位 8 位CRC 码 序列号 产品类型编号第 4 页64 位光刻 ROM 中的序列号是出厂前被光刻好的,他可以看做该 DS18B20 的地址序列码。其各位排列顺序是:开始 8 位为产品类型标号,接下来 48 位是该 DS18B20 自身的序列号,最后 8 位是前 56 位的 CRC 循环校验码(CRC=X8+X5+X4+1) 。光刻 ROM 的作用是使每一个DS18B20 都各不相同,这样就可以实现一条总线上接挂多个 DS18B20 的目的。4.3.6 DS18B20 的工作时序图下图为时序图中各个总线状态。(1)初始化时序图如下图 5 所示。先将数据线至高电平 1. 数据线拉到低电平 0。 延时(该时间要求不是很严格,但是要尽可能短一点 延时 750s(该时间范围可在 480960s) 。 数据线拉到高电平 1。 延时等待。如果初始化成功则在 1560s 内产生一个由 DS18B20 返回的低电平 0,据该状态可以确定温度传感器 ds18b20 的存在。但是应注意,不能无限地等待,不然会使程图(1) DS18B20 初始化时序图图 4.2.6 时序图中各个总线态第 5 页序进入死循环,所以要进行超时判断。若 CPU 读到数据上的低电平 0 后,还要进行延时,延时的时间从发出高电平算起(第步的时间算起)最少要 480s。将数据线再次拉到高电平 1 后结束。(2)DS18B20 写数据时序图如下图 6 所示。写数据步骤:数据线先置低电平 0。掩饰确定的时间为 15s。按从低位到高位的顺序发送数据(一次只发送一位) 。延时时间为 45s。将数据线拉到高电平 1。重复循环 步骤,直到发送完整个字节,注意最后将数据线拉到高位 1。(1) DS18B20 读数据时序图如下图 7 所示。(3)DS18B20 写数据时序图如上图所示。写数据步骤: 将数据线拉高到 1.图(2) DS18B20 写数据图(3) DS18B20 读数据第 6 页 延时 2s。 将数据线拉低到 0. 延时 6s。 将数据线拉高到 1。 延时 4s。 读数据线的状态得到一个状态位,并进行数据处理。重复 步骤,直到读取完一个字节后延时 30us。时序图见上图。4.4 显示模块采用三位一体共阴数码管显示温度,数码管驱动使用锁存器 74hc573。采用动态显示的原理,故段选和位选都用 p0 口,通过 p2.6 口和 p2.7 口确定位或者段的选通,接法见附录电路原理图。5 软件设计5.1 总程序流程图 总程序流程图如下图所示。图 5.1 总程序流程图5.2 程序设计其源程序见附录三。6 安装调试安装调试时,数码管会出现亮度不均匀或是数码管中有个别不显示的现象,经检查发现产生这种原因的可能是因为焊接的时候有虚焊、选用的上拉电阻阻值过大,或是接元器件的时候无意间把锁存器控制位导线弄断所导致。6.1 数码管引脚的判断用 5v 的直流电源串电阻接在数码管十二个引脚上,可以判断出各个引脚代表哪一段和第 7 页哪一位,其中 6 号引脚不起作用。哪个是 6 号引脚呢?让三位数码管正对自己右下角的引脚为 1 号引脚,逆时针依次为 2、3、4、5、6、7、8、9、12 号引脚。判断出它的内部电路图如下图所示。图 6.1 数码管内部电路图6.2 排除故障 6.2.1 排除逻辑故障 这类故障往往由于设计和连线过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的电路板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,必要时利用数字万用表的短路测试功能,可以缩短排错时间。6.2.1 排除元器件失效 造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。6.2.3 排除电源故障 在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查 VCC 与 GND 之间电位,若在 5V4.8V 之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。7 结论本文较详细的阐述了温度测量装置设计的整体方案与软件实现。DS18B20 的优势在于集

温馨提示

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

评论

0/150

提交评论