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

下载本文档

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

文档简介

内 容 摘 要本文将介绍一种基于单片机控制的数字温度计,就是用单片机实现温度测量,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于AT89S52单片机的数字温度计的设计用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求,可以用于温度等非电信号的测量,主要用于对测温比较准确的场所,或科研实验室使用,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。索引关键词:温度计 单片机 数字控制 DS18B20目 录第一章 绪论11.1 前言11.2 数字温度计设计方案11.3 总体设计框图1第二章 硬件电路设计12.1 主要芯片介绍12.2 温度传感器42.3 主板电路52.4 显示电路5第三章 软件设计63.1 主程序流程图63.2读出温度子程序流程图63.3 温度转换命令子程序流程图73.4 计算温度子程序流程图83.5 显示数据刷新子程序流程图9第四章 Proteus仿真调试94.1 Proteus软件介绍94.2 本次设计仿真过程10后记12参考文献13数字温度计设计第一章 绪论1.1 前言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机已经在测控领域中获得了广泛的应用本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求。1.2 数字温度计设计方案在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。1.3 总体设计框图温度计电路设计总体设计方框图如图1-1所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用LCD液晶显示屏以串口传送数据实现温度显示: 图1-1第二章 硬件电路设计2.1 主要芯片介绍一 AT89C51的介绍选用的AT89C51在功能上最突出是的可以实现在线的编程。用于实现系统的总的控制。其主要功能特性列举如下:与MCS-51 兼容 4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路二 AT89C51各引脚功能介绍VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。图2-1振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。2.2 温度传感器一 DS18B20介绍DS18B20是Dallas公司推出的数字温度测控器件。 2.7 5.0V供电电压,测量温度范围为-55+125,9位数字量表示温度值,分辨率为0.5。在0+70精确度为0.5,-400和+70+85精确度为1,-55-40和+85 +125精确度为2。TH和TL寄存器中的温度报警限设定值存放在非易失性存储器中,掉电后不会丢失。通过三线串行接口,完成温度值的读取和TH、TL的设定。DS18B20的外围接线简单,使用灵活。使用时请注意它的测量范围及精度能否满足要求。用作热继电器使用时必须写入控制寄存器操作模式和TH、TL寄存器的温度设定值。二 DS18B20引脚功能说明图2-2DS1620采用8脚DIP封装或8脚SOIC封装。引脚排列如图2-2所示,引脚功能说明如下所列。DS18B20引脚功能说明1DQ 三线制的数据输入/输出2CLK/CONV 三线制的时钟输入和标准转换输入3RST 三线制的复位输入4GND 地5TCOM 温度高/低限触发输出6TLOW 温度低限触发输出7THIGH 温度高限触发输出8VDD 35V电源2.3 主板电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等,如图2-3 所示:图2-32.4 显示电路显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用p2口串口的发送和接收,LCD液晶显示屏显示,显示比较清晰。温度显示电路如图2-4所示:图2-4第三章 软件设计3.1 主程序流程图初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY主程序的主要功能是负责温度的实时显示、读出并处理DS1620的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3-1示:图3-13.2读出温度子程序流程图Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正确?移入温度暂存器结束NNY图3-2读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图3-2所示:3.3 温度转换命令子程序流程图温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图3-3所示:发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图3-33.4 计算温度子程序流程图计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图3-4所示: 开始温度零下?温度值取补码置“”标志计算小数位温度BCD值 计算整数位温度BCD值 结束置“+”标志NY图3-43.5 显示数据刷新子程序流程图显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图3-5所示:温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束NNYY图3-5第四章 Proteus仿真调试4.1 Proteus软件介绍一 Proteus软件具有其它EDA工具软件的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真二 革命性的特点 1互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型 以上编程,再配合显示及输出,能看到运行后输入输出的效果。4.2 本次设计仿真过程一 创建原理图启动Proteus软件,单击挑选元件按钮,在元件库中选出所需元器件,出现如图4-1所示:图4-1二 绘制的仿真原理图如4-2所示:图4-2三 系统调试双击单片机出现下图所示画面图4-3,在Program File一栏中选取仿真项目的源程序代码,点击OK。图4-3四 开始仿真单击Play按钮,进入仿真状态,出现下图4-4所示图4-4后记经过将近几周的毕业设计,终于完成了我的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把仿真成功做了出来,高兴之余不得不深思呀!在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机毕业设计重点就在于软件算法的设计,需要有很巧妙的程序算法,。此外,本次毕业设计也使我对单片机技术有了更进一步的了解,实际操作和课本上的知识有很大的联系,又高于课本,一个看似很简单的电路,要动手做出来就比较困难了,因为是设计让我们在以后的学习中要注意这点,要把课本上所学的知识跟实际联系起来。有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握,同时本次电路的设计巩固了所学知识,也使我们把理论与实际从真正的意义上结合起来了,增强了学习的兴趣,考验了我们借助书店、互联网搜索、查阅相关资料,以及综合能力。从这次的毕业设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次毕业设计中的最大收获。毕业设计是对大学三年所学知识的一次综合运用和检阅,同时也对自学能力提出很高的要求。虽然本次设计顺利完成了,但我觉得自己的理论知识掌握的不够扎实,有很多不足和欠缺的地方,希望老师多多批评指正。在以后的实践学习中我会时刻提醒自己做到认真学习不求最好只求更好。参考文献1 戴军,袁惠新.膜技术在含油废水处理中的应用J.膜科学与技术,2002,22(2):59-642 毛侠,孙云.和谐图案的自动生成研究A.第一届中国情感计算及智能交互学术会议论

温馨提示

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

评论

0/150

提交评论