简易数字温度计的设计与制作_第1页
简易数字温度计的设计与制作_第2页
简易数字温度计的设计与制作_第3页
简易数字温度计的设计与制作_第4页
简易数字温度计的设计与制作_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

简易数字温度计的设计与制作摘要:单片机在日用电子产品中的应用越来越广泛,温度则是人们日常生活中常常需要测量和控制的一个量。本文作者采用 AT89C51 单片机和温度传感器AD590 从硬件和软件两方面介绍了一款简易数字温度计的设计过程, 并对硬件原理图和程序流程图作了简洁的描述。关键词:单片机 AT89C51;温度传感器 AD590;数字温度计;模数转换;数码显示1.前言随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器 AD590 具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点,本文作者利用集成温度传感器 AD590 设计并制作了一款基于 AT89C51 的 4 位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。2.系统功能原理及硬件组成该数字温度计利用 AD590 集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器 ADC0804 转换成单片机能够处理的数字信号,然后送到单片机 AT89C51 中进行处理变换,最后将温度值显示在 D4、D3、D2、D1 共位七段码 LED 显示器上。系统以 AT89C51 单片机为控制核心,加上 AD590 测温电路、ADC 模数转换电路、4 位温度数据显示电路以及外围电源、时钟电路等组成。系统组成框图如图 1 所示。 图 1 系统组成框图2.1AT89C51 单片机Atmel 公司的生产的 AT89C51 单片机是一种低功耗/低电压、高性能的 8 位单片机,内部除 CPU 外,还包括 128 字节 RAM,4 个 8 位并行 I/O 口,5 个中断优先级,2 层中断嵌套中断,2 个 16 位可编程定时计数器,片内集成 4K 字节可改变程序 Flash 存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。单片机 P0 口作为 ADC0804 转换数据的输入端,P2.0 接 ADC0804 的 INTR 端检测数据转换是否结束。P1.0P1.3 的输出信号接到译码器 7447 上作为数码管的显示,P1.4P1.7 则作为个数码管的位选信号控制。P3 口有特殊的功能,P3.6 用于控制 ADC0804 的启动,P3.7 用于控制读取 ADC0804 的转换结果。2.2AD590 温度传感器AD590 是美国模拟器件公司生产的单片集成两端感温电流源。AD590 测温范围为55150,满足人们日常生产和生活中的温度范围。AD590 电源电压可在 4V6V 范围变化,可以承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损坏。AD590 产生的电流与绝对温度成正比,它有非常好的线性输出性能,温度每增加 1,其电流增加 1A。AD590 温度与电流的关系如下表所示:摄氏温度 AD590 电流 经 10K 电压0 273.2 A 2.732 V10 283.2 A 2.832 V20 293.2 A 2.932 V30 303.2 A 3.032 V40 313.2 A 3.132 V50 323.2 A 3.232 V60 333.2 A 3.332 V100 373.2 A 3.732 V为了提高精度,扩大测量范围,在 A/D 转换前还要将信号加以放大并进行零点迁移,因而一个高稳定性的、高精度的放大电路是必须的。当温度变化时,AD590 会产生电流变化,当 AD590 的电流通过一个 10k 的电阻时,这个电阻上的压降为 10mV,即转换成 10mVK,为了使此 10k 电阻精确,可用一个9k 的电阻与一个 2k 的电位器串联,然后通过调节电位器来获得精确的 10k。运算放大器 A1 被接成电压跟随器形式,以增加信号的输入阻抗,由运放 A2 减去 2.732 做零位调整(即把绝对温度转成摄氏温度),最后由运放 A3 反相并放大倍输送给 A/D 转换器。具体硬件连接图如图 2 所示。 图 2 AD590 温度采集及模数转换电路2.3 ADC0804 模数转换器AD590 测温电路输出的电压信号为模拟信号,要进行数码显示,还需将此信号转换成数字信号。为此我们通过 A/D 转换器 ADC0804 将输入的模拟值转换成数字值,经 AT89C51 单片机处理后输出到 P1 以控制温度显示电路。ADC0804 是用 CMOS 集成工艺制成的逐次比较型摸数转换芯片,分辨率 8 位,转换时间 100s,输入电压范围为 05V,增加某些外部电路后,输入模拟电压可为 5V。该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在 CPU 数据总线上,无须附加逻辑接口电路。具体硬件连接图如图 2 所示。2.4 七段码 LED 温度显示电路由发光二极管组成的七段码 LED 显示器是单片机应用产品中最常用的廉价输出设备,用于显示各种数字和字符。该数字温度计的温度显示由 4 位七段码LED 显示器组成,单片机以并行通信方式从 P1.0P1.7 口输出段码和控制信号,通过 7447 TTL BCD 译码器译码,用 4 个共阳极 LED 动态显示温度的各个数位。具体硬件连接图如图 3 所示。图 3 温度显示及单片机时钟、复位电路3.系统软件设计与编程该数字温度计软件部分用 MCS-51 汇编语言编程实现,采用模块化程序设计思想,将软件划分成若干单元,主要包括主程序、十进制数据转换及调整子程序、LED 数码显示子程序和延时子程序等。本系统具体汇编源程序见后附。3.1 系统主程序 在主程序中,系统上电自动复位以后首先设置堆栈,然后启动 ADC0804,开始转换 AD590 测温电路输入的电信号,待数据转换结束后读入到累加器 A,然后进行十进制数据转换调整,输出给显示电路。主程序流程图如图 4 所示。 图 4 主程序流程图3.2 十进制数据转换调整子程序由于 ADC0804 转换后的数据是二进制数据,而七段码 LED 显示器所要显示的数据是十进制数据,因此需要进行二、十进制数据转换。ADC0804 输出的最大转换值为 FFH(255),由于运放放大倍,因此本数字温度计的最大测量温度为 5.1V/51.02,即 102。由 255*=102,得知0.4,即先乘再除 10。255*4=1020,其中高位 10 送高位显示缓冲区 R4,低位 20 送低位显示缓冲区 R5,将小数点设在 D2 位上,并将其分别显示为 1(D4) 0(D3) 2(D2) . 0(D1) 。所以,十进制转换调整流程为 A/D(二进制)十进制乘显示。程序流程图如图所示。 图 5 十进制数据转换调整子程序流程图3.3 LED 数码显示子程序十进制转换调整后的数据送到寄存器 R5、R4 中,然后通过 P1 口把数据输出给 D4、D3、D2、D1 四个数码显示器中,从而最终把测得的温度显示出来。显示子程序流程图如图所示。 图 显示子程序流程图.结束语本文采用 AT89C51 单片机做主控芯片,利用温度传感器 AD590 测量温度,并配上相应的外部接口电路,介绍了一款简易数字温度计的设计与制作过程。该温度计系统实现简单、功能稳定、使用方便,适用于人们日常生活和工、农业生产中的各种温度测量。参考文献:1白泽生. 用 MCS-51 单片机实现温度的检测J.现代电子技术,2005,(10):1-3.2张开生,郭国法.MCS-51 单片机温度控制系统的设计J.微计算机信息,2005,21(7):68-69.3何立民.单片机

温馨提示

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

评论

0/150

提交评论