ATM89S8052为核心数字温度计

ATM89S8052为核心数字温度计[20200406112344]
摘要
温度计如今已经成为我们日常生活中最为常见的一种商品了。很广泛的应用于家庭、办公室、学校、商场等场所,为我们的日常生活带来的很大的便利。数字温度计和传统温度计相比有很大的优点:测量温度的范围比较广,而且读起数值来很方便,最主要的是测量到的温度也非常准确。因此进行数字温度计的设计是非常有必要的。
本文阐述了硬件设计和软件编写过程。首先是方案设计和元件选择,然后是包括以ATM89S8052为核心的单片机最小系统、数码管显示子电路、 温度传感器电路的设计,其次包括是数码管显示子程序等的编写,最后是硬件焊接和软件调试。
本设计以AT89C52型单片机作为主体, DSl8B20温度传感器进行温度转化,用4位共阴极LED数码管串口来传送数据,来实现温度的精确显示。另外,此温度计的优点就是能直接用测温器件测量精确温度,大大简化了数据传输与处理过程。
调试过程中发现了硬件及程序中的一些问题,通过排查电路和仿真都得到了解决,最终完成本智能温度计的制作。
 *查看完整论文请 +Q: 3 5 1 9 1 6 0 7 2 
关键字:数字温度计;AT89S52单片机;数码显示;DS18B20;
目录
前言 1
第一章 硬件选择 2
1.1单片机的选择 2
1.2数码管的选择 2
1.3传感器的选择 3
第二章 硬件电路设计 5
2.1设计目标 5
2.2数码管显示电路 6
2.3传感器电路 7
第三章 软件设计 8
3.1总框图 8
3.2数码管子程序 9
3.3传感器子程序 10
第四章 调试 11
4.1仿真调试 11
4.2硬件调试 12
结 论 19
参 考 文 献 20
致 谢 21
前言
在日常生活中,会遇到许多需要数字温度计的地方,例如测量室内实时温度,控制大棚内稳定的温度。数字温度计和传统温度计相比有很大的优点:测量温度的范围比较广,而且读起数值来很方便,最主要的是测量到的温度也非常准确.本设计所完成的温度计就是其中的一种。
数字温度计在家用电器中经常用于室内温度的测量。很多家用电器中都有用到数字温度计,如,冰箱,空调等等。还适用于很多公众场合,用以直观的显示当前的温度。因此数字温度计的发展必定大有前途。同时随着现代电子科学技术的发展,数字温度计也在不断的进步,朝更多用途、更高精度、更小体积发展。
第一章 硬件选择
本智能温度计的硬件主要包括——单片机(本设计的核心)、数码管(显示当前温度)、数码管驱动(点亮数码管,起驱动作用)、按键(控制电源的开关)、温度传感器(进行温度转化)。下面对重点器件的选择进行详细介绍。
1.1单片机的选择
MCS-51单片机将作为控制运用所需要的最主要部件出现在本电路中,它主要是由以下功能部件组成:中央处理器(CPU),只读存储器(ROM),随机数据存储器(RAM),定时器/计数器和多种功能的I/O端口等,它们通过片内单一总线连接而成。
1.2数码管的选择
共阴极数码管是一种通过数字显示的显示屏,只要对数码管的管脚输入相对的电流就能使它发亮,从而达到显示我们所需要知道的温度,日期,时间等数据的目的。相比较其它的显示屏,它的价格更加便宜性价比更加高,并且使用起来也极其方便,尤其是在家电上的应用最为常见,我们日常生活中的冰箱,热水器,空调等等都有用到此类数码管。
共阴极结构:一般来说数码管也是分为共阴极和共阳极两种结构的,共阴极的结构如图1.1所示;它的每段发光二极管的阴极是连接在一起的,只需要我们将这个连接在一起的公共点接地,等到其中一段发光二极管的阴极从低电平变成高电平的时候,此时这段就可以发光了。
图1.1共阴极数码管结构图
1.3传感器的选择
DS18B20芯片是一种单总线数字式的温度传感器,它的主要作用就是能把收集到的温度物理量转化成为数字信号,而且这种元器件各自都具有自己唯一的序列号,所以也可以被用来多点同时测量。该传感器的优点就是测量温度范围比较广,大概为零下55°C到12°C ,尤其在零下10°C到+85°C的范围内的测量精度非常精准,精准度能够达到±0.5°C,所以选用此传感器能满足本设计的要求。
此温度传感器不仅测温精准,而且结构简单,如图1.2所示,只有三个引脚, DQ、GND、VDD,能外部供电也可以直接由数据线本身寄生供电,所以用起来是非常方便快捷的,方便的同时也不可避免会有一些缺点,那就是次芯片的对时序的要求是非常严格的,所有的操作都必须严格按照规定的协议来一步步进行,缺一不可,必须要先开始初始化本芯片然后才能发送ROM的功能命令接着才能发送存储器操作命令,最后才是数据的处理过程。只要程序中中断比较多,或者是硬件在连接的时候连线过长,这些都会造成时序波形的畸形显示,从而会使测量到结果不准确,所以这也使得次芯片在使用的过程中有一定的限制。
图1.2传感器引脚图
传感器方框图如图1.3所示;
图1.3传感器方框图
第二章 硬件电路设计
2.1设计目标
本智能温度计的设计目标是做到-50~+110 ℃任意温度的显示,电源由用户用按键进行设置,由4位共阴极数码管显示,并使得温度精度在0.1 ℃;误差±0.2℃以内。
单片机最小系统
单片机最小应用系统,简单的说就是保持单片机正常工作的最基本电路部分,通常包括包括:单片机芯片、能使单片机正常工作的稳定电源、让系统有序工作的晶振电路和一个能让系统回到开始工作状态的复位电路。如图2-1所示。
图2-1 单片机最小系统
一、电源
电源电路出于简单便捷的考虑我采用三节1.5v的干电池来提供4.5V的稳定电压 ,给整个电路供电。
二、复位及晶振电路
MSC-51单片机有自带的外部复位电路用来实现单片机的复位功能,复位引脚RESET通过一个施密特触发器和复位电路连接在一起。通常复位电路也是有好几种类别的,基本上可分为上电自动复位和按钮复位,而此设计采用的是上电自动复位来完成复位功能。
单片机各功能部件的运行要想有序的进行那就少不了晶振电路,它等于让整个电路有了时间观念,知道什么时候该干什么什么,而不是运行的乱七八糟。而通常我们所用的时钟电路一般就只有外部方式和内部方式两种,本设计采用的是内部方式。
单片机内部本身自带振荡器,引脚XTAL1和XTAL2分别是它的输入端口和输出端口。然后在这两个端口连接上石英晶体振荡器和微调电容,就能够形成一个很稳定的自激振荡器,就如下图2-2所示;
图2-2 晶振及复位电路
2.2数码管显示电路
本设计采用共阴极数码管完成电路的显示部分,用来显示当前的温度,采用三极管进行动态驱动,如图2-3所示。
图2.3 数码管显示电路
2.3传感器电路
传感器电路为本设计的输入端。本设计采用的传感器为DS18B20,是采用三极管来作为驱动的,并通过显示电路的数码管来显示传感器电路的当前工作状态,工作时温度值会实时的显示在数码管上。其电路图如图2-4所示。
图2-4 传感器电路图
当电源接通时,传感器立即执行初始化时序,接下来发送跳过ROM的匹配命令,然后自动进行温度转化,延时一段时间来等待温度转化的完成,接下就会将当前温度值传送到显示电路部分通过数码管显示出当前温度并随着当前温度的不断变化而变化。
第三章 软件设计
由于本设计所采用的所有程序都是用C语言来进行编写的,在经过模块化、结构化的程序设计以后,软件的可靠性是非常高的,是值得信任的。
3.1总框图
本设计的总框图是:首先是芯片本身进行初始化,然后我们把芯片测量到的温度读出来并通过数码管显示出来。如图3.1所示;
图3.1总框图
3.2数码管子程序
数码管的运行流程图是通过P0口来传送显示数据,分别片选个,十,百以及小数位数码管,然后经过5毫秒的延时,最终分别关闭各数码管片选。如图3.2所示;
图3.2数码管流程图
3.3传感器子程序
传感器的基本运行流程图是:首先执行初始化时序,接下来发送跳过ROM匹配的命令,然后就是温度的转化过程,最终延时750ms等待温度转化完成并读取出来。如图3.3所示。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2309.html

好棒文