单片机数字温度计设计5元.doc

上传人:PIYPING 文档编号:10555686 上传时间:2021-05-23 格式:DOC 页数:10 大小:181.50KB
返回 下载 相关 举报
单片机数字温度计设计5元.doc_第1页
第1页 / 共10页
单片机数字温度计设计5元.doc_第2页
第2页 / 共10页
单片机数字温度计设计5元.doc_第3页
第3页 / 共10页
单片机数字温度计设计5元.doc_第4页
第4页 / 共10页
单片机数字温度计设计5元.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《单片机数字温度计设计5元.doc》由会员分享,可在线阅读,更多相关《单片机数字温度计设计5元.doc(10页珍藏版)》请在三一文库上搜索。

1、摘要:单片机在日用电子产品中的应用越来越广泛,温度则是人们日常生活中常常需要测量和控制的一个量。本文作者采用AT89C51单片机和温度传感器AD590从硬件和软件两方面介绍了一款简易数字温度计的设计过程,并对硬件原理图和程序流程图作了简洁的描述。关键词:单片机AT89C51;温度传感器AD590;数字温度计;模数转换;数码显示1.前言随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器AD590具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大

2、等缺点,本文作者利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。2.系统功能原理及硬件组成该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。系统组成框图如图1所示。 图1 系统

3、组成框图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用于控

4、制ADC0804的启动,P3.7用于控制读取ADC0804的转换结果。2.2AD590温度传感器AD590是美国模拟器件公司生产的单片集成两端感温电流源。AD590测温范围为55150,满足人们日常生产和生活中的温度范围。AD590电源电压可在4V6V范围变化,可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。AD590产生的电流与绝对温度成正比,它有非常好的线性输出性能,温度每增加1,其电流增加1A。AD590温度与电流的关系如下表所示:摄氏温度AD590电流经10K电压0273.2 A2.732 V10283.2 A2.832 V20293.2 A2.932 V30303.

5、2 A3.032 V40为了提高精度,扩大测量范围,在A/D转换前还要将信号加以放大并进行零点迁移,因而一个高稳定性的、高精度的放大电路是必须的。当温度变化时,AD590会产生电流变化,当AD590的电流通过一个10k的电阻时,这个电阻上的压降为10mV,即转换成10mVK,为了使此10k电阻精确,可用一个9k的电阻与一个2k的电位器串联,然后通过调节电位器来获得精确的10k。运算放大器A1被接成电压跟随器形式,以增加信号的输入阻抗,由运放A2减去2.732做零位调整(即把绝对温度转成摄氏温度),最后由运放A3反相并放大倍输送给A/D转换器。具体硬件连接图如图2所示。 图2 AD590温度采集

6、及模数转换电路2.3 ADC0804模数转换器AD590测温电路输出的电压信号为模拟信号,要进行数码显示,还需将此信号转换成数字信号。为此我们通过A/D转换器ADC0804将输入的模拟值转换成数字值,经AT89C51单片机处理后输出到P1以控制温度显示电路。ADC0804是用CMOS集成工艺制成的逐次比较型摸数转换芯片,分辨率8位,转换时间100s,输入电压范围为05V,增加某些外部电路后,输入模拟电压可为5V。该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线上,无须附加逻辑接口电路。具体硬件连接图如图2所示。2.4 七段码LED温度显示电路由发光二极管组

7、成的七段码LED显示器是单片机应用产品中最常用的廉价输出设备,用于显示各种数字和字符。该数字温度计的温度显示由4位七段码LED显示器组成,单片机以并行通信方式从P1.0P1.7口输出段码和控制信号,通过7447 TTL BCD译码器译码,用4个共阳极LED动态显示温度的各个数位。具体硬件连接图如图3所示。 图3 温度显示及单片机时钟、复位电路3.系统软件设计与编程该数字温度计软件部分用MCS-51汇编语言编程实现,采用模块化程序设计思想,将软件划分成若干单元,主要包括主程序、十进制数据转换及调整子程序、LED数码显示子程序和延时子程序等。本系统具体汇编源程序见后附。3.1 系统主程序 在主程序

8、中,系统上电自动复位以后首先设置堆栈,然后启动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送高位显示

9、缓冲区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-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1