《DSB数字温度计方案设计书实验报告 .docx》由会员分享,可在线阅读,更多相关《DSB数字温度计方案设计书实验报告 .docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习可编辑资料 - - - 欢迎下载精品名师归纳总结题单目课:片DS程18机B2设0 数原字计温度理报计姓名:吴远超告及书应用可编辑资料 - - - 欢迎下载精品名师归纳总结学号: 093521029指导老师:李东京老师设计时间: 2021 年 4 月 9 日 4 月 22 日电子与信息工程学院目 录1. 引言 31.1. 设计意义 31.2. 系统功能要求 42.方案设计43.硬件设计24.软件设计55.系统调试76.设计总结87.附录 98.作品呈现159.参考文献17DS18B20
2、数字温度计设计1. 引 言1.1. 设计意义在日常生活及工农业生产中,经常要用到温度的检测及把握,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。其缺点如下:可编辑资料 - - - 欢迎下载精品名师归纳总结 硬件电路复杂。 软件调试复杂。 制作成本高。本数字温度计设计接受美国 DALLAS半导体公司继 DS1820之后推出的一种改进型智能温度传感器 DS18B20作为检测元件,测温范畴为 -55 125,最高辨论率可达 0.0625 。DS18B20可以直接读出被测温度值,而且接受三线制与单片机相连,削减了外部的硬件电路,具有低
3、成本和易使用的热点。1.2. 系统功能要求设计出的 DS18B20数字温度计测温范畴在 -55 125,误差在 0.5 以内,接受 LED数码管直接读显示。2. 方案设计依据系统设计功能的要求,确定系统由3 个模块组成:主把握器、测温电路和显示电路。数字温度计总体电路结构框图如4.1 图所示:DS18B20AT89C2051主把握器显示电路扫描驱动图 4.13. 硬件设计温度计电路设计原理图如下图所示,把握器使用单片机AT89C2051,温度传感器使用 DS18B20,使用四位共阳 LED数码管以动态扫描法实现温度显示。可编辑资料 - - - 欢迎下载精品名师归纳总结主把握器单片机 AT89C
4、2051具有低电压供电和小体积等特点,两个端口刚好中意电路系统的设计需要,很适合便携手持式产品的设计使用。系统可用两节电池供电。AT89C2051的引脚图如右图所示:1、VCC:电源电压。2、GND:的。3、P1 口: P1 口是一个 8 位双向 I/O 口。口引脚 P1.2P1.7 供应内部上拉电阻, P1.0 和 P1.1 要求外部上拉电阻。 P1.0 和 P1.1 仍分别作为片内精密模拟比较器的同相输入 ANI0 和反相输入 AIN1 。P1口输出缓冲器可吸取20mA 电流并能直接驱动 LED 显示。当 P1 口引脚写入“ 1”时,其可用作输入端,当引脚P1.2P1.7 用作输入并被外部
5、拉低时,它们将因内部的写入“1” 时,其可用作输入端。当引脚P1.2P1.7 用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流。4、P3 口: P3 口的 P3.0P3.5 、P3.7 是带有内部上拉电阻 的七个双向 I/O 口引脚。 P3.6 用于固定输入片内比较器的输出信号并且它作为一通用I/O 引脚而不行拜望。 P3 口缓冲器可吸取20mA电流。当 P3 口写入“ 1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3 口脚将用上拉电阻而流出电流。5、RST:复位输入。 RST一旦变成高电平全部的 I/O 引脚就复位到“ 1”。当振荡器正在运行时,连续给出RS
6、T 引脚两个机器周期的高电平便可完成复位。每一个机器周期需12 个振荡器或时钟周期。6、XTAL1:作为振荡器反相器的输入和内部时钟发生器的输入。7、XTAL2:作为振荡器反相放大器的输出。总线驱动器 74LS24474LS244 为 3 态 8 位缓冲器,一般用作总线驱动器。引脚图见上图。显示电路显示电路接受4 位共阳极 LED 数码管,从 P1 口输出段码,列扫描用P3.0 P3.3 口来实现,列驱动用 8055 三极管。温度传感器 DS18B20可编辑资料 - - - 欢迎下载精品名师归纳总结DS18B20的性能特点:1、适应电压范畴更宽,电压范畴:3.0 5.5V ,在寄生电源方式下可
7、由数据线供电。2、特别的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通讯。3、 DS18B20 支持多点组网功能,多个DS18B20可以并联在唯独的三线上,实现组网多点测温。4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。5、温范畴 55 +125,在 -10 +85时精度为 0.5 。6、可编程 的辨论率为9 12 位,对应的可辨论温度分别为0.5 、0.25 、0.125 和 0.0625 ,可实现高精度测温。7、在 9 位辨论率时最多在 93.75ms 内把温度转换为数字, 1
8、2 位辨论率时最多在 750ms内把温度值转换为数字,速度更快。8、测量结果直接输出数字温度信号,以 一线总线 串行传送给 CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错才能。9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20与单片机的接口电路(引脚图见右图)DS18B20可以接受电源供电方式,此时DS18B20的第 1脚接的,第 2 脚作为信号线,第 3 脚接电源。4. 软件设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、运算温度子程序和显示数据刷新子程序等。4.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的
9、测量温度值。温度测量每 1s 进行一次。主程序流程图如图 4.1 所示。4.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的 9 字节。在读出时必需进行CRC校验,校验有错时不能进行温度数据的改写。读出温度子程序流程图如下可编辑资料 - - - 欢迎下载精品名师归纳总结图所示:初始化调用显示子程 序1s 到.初次上电读出温度值 温度计酸处理发温显度示转数换据开刷始新命令读出温度子程序读出温度子程序的主要功能是读出RAM中的 9 字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。得出温度子程序 流程图如下图所示。可编辑资料 - - - 欢迎下载精品名师归纳总结发 DS18
10、B20 复位指令发跳过 ROM 指令发读取温度指令读取操作, CRC 校验9 字节完?CRC校 验 正确?移入温度暂存器终止可编辑资料 - - - 欢迎下载精品名师归纳总结温度转换命令子程序温度转换命令子程序主要是发温度转换开头命令。 当接受 12 位辨论率时,转换时间约为750ms。在本程序设计中,接受1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如下图所示。发 DS18B20 复位命令发跳过 ROM 命令发温度转换开头命令可编辑资料 - - - 欢迎下载精品名师归纳总结运算温度子程序运算温结度束子程序将 RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。运算温度子
11、程序流程图如下左图所示.现实数据刷新子程序现实数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0 时,将符号显示位移入下一位。现实数据刷新子程序流程图如下右图所示.可编辑资料 - - - 欢迎下载精品名师归纳总结开头温度零下?温 度值 取补 码 置置 +运算小数位温度 BCD 值运算整数位温度 BCD 值温度数据移入显示寄存器十位数 0?百位数 0?可编辑资料 - - - 欢迎下载精品名师归纳总结一标志标志十位数显示符终止号百位数不显百位数显示数据(不显示符号)可编辑资料 - - - 欢迎下载精品名师归纳总结终止5. 系统调试系统的调试以程序调试为主。硬件调试比较简
12、洁,第一检查电感的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、运算温度子程序和现实数据刷新子程序等的编程及调试由于 DS18B20与单片机接受串行数据传送,因此,对DS18B20进行读/ 写编程时必需严格的保证读 / 写时序。否就将无法读取测量结果。本程序接受单片机汇编或 C语言编写用 Wave3.2 或 Keil C51编译器编程调试。软件调试到能显示温度值,并且在有温度变化时显示温度能转变,救基本完成。性能测试可用制作的温度机和已有的成品温度计同时进行测量比较。由于DS18B20的精度
13、很高,所以误差指标可以限制在0.5 以内。可编辑资料 - - - 欢迎下载精品名师归纳总结另外, -55+125的测温范畴使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计。DS18B20温度计仍可以在高低温报警、远距离多点测温把握等方面进行应用开发,但在实际设计中应留意以下问题。1、DS18B20工作时电流高大 1.5mA,总线上挂接点数较多且同时进行转换时要考虑增加总线驱动,可用单片机端口在温度转换时导通一个MOSFET供电。 2、连接 DS18B20的总线电缆是有长度限制的,因此在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配等问题
14、。3、在 DS18B20测温程序设计中,向 DS18B20发出温度转换命令后,程序总要等待 DS18B20的返回信号。一旦某个DS18B20 接触不好或断线,当程序读DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时要赐予确定的重视。6. 设计总结历时 2 个星期的单片机课程设计已经终止了,在这两个星期的时间里,我们在老师的指导下完成了基于DS18B20的数字温度计的设计和制作。在进行实验的过程中,我们明白并熟识DS18B2、0 AT89C2051以及 74LS244的工作原理和性能。并且通过温度计的制作,我们将电子技能实训课堂上学到的学问进行运用
15、,并在实际操作中发觉问题,解决问题,更加增加对学问的熟识和懂得。在课程设计的过程中,也遇到了一些问题。比如最开头依据课本上的电路图进行合理的设计布局和布线。有些同学的布局不合理,导致焊接的过程中任务相当繁重,并且不美观。在之后的烧程序调试的时候,显现问题之后,没有合理布线的同学在查找问题的过程中相当麻烦。在焊接过程中,显现最多的就是虚焊问题。对于这个问题,在焊接的过程中,我尽量依照书中的指导,尽量将焊点焊成水滴状,最终接电后再依据数码管的显示情形进行逐个排查。在将程序烧到 单片机之 后, 接上电源 , 发觉 数码管没有出 现正常的“ 000.0”,而是显现了“ 666.6”,在检查线路无误之后
16、,和其他的同学争辩之可编辑资料 - - - 欢迎下载精品名师归纳总结后得出结论:书中程序是对于单片机、电阻及数码管是直接连接而设计的,而在加入了 74LS244 之后,要将 8 个输入输出端口进行掉序。于是,我便将8 个端口进行调换,之后再次接通电源,数码管显示“000.0”,调试成功。在自己的温度计制作完成之后,我仍帮忙其他没有完成的同学进行检修, 并且成功帮忙 2 位同学找到问题进行解决,最终都调试成功。总之,在这 2 个星期中,通过自己在试验室动手制作数字温度计,不仅将课本的学问与实践相结合,而且在实践中更加深化明白书中原本抽象的学问。 这也是整个课程设计中最有收成的的方。7. 附 录源
17、程序代码/*/DS18B20温度计 C程序/2005.2.28通过调试/*/ 使用 AT89C2051单片机, 12MHZ晶振,用共阳 LED数码管/P1 口输出段码, P3 口扫描/#pragma srcd:aa.asm #include reg51.h#include intrins.h/_nop_。延时函数用#define DisdataP1/段码输出口#define discanP3/扫描口#define uchar unsigned char#define uint unsigned intsbit DQ=P37 。/温度输入口 sbit DIN=P10。/LED小数点把握uinth
18、。可编辑资料 - - - 欢迎下载精品名师归纳总结/*温度小数部分用查表法 */ Ucharcodeditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x0 7,0x08,0x08,0x09,0x09ucharcodedis_712=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf 。/*共阳 LED 段码表0 1 2 3 4 5 6 7 89 不亮 - */uchar code scan_con4=0xfe,0xfd,0xfb,0xf7。 /列扫描
19、把握字 uchar data temp_data2=0x00,0x00。/读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00。/ 显示单元数据 , 共4 个数据, 一个运算暂存用/*11微秒延时函数 */void delayuint tfor 。t0 。t-。/*显示扫描函数 */ scanchar k 。可编辑资料 - - - 欢迎下载精品名师归纳总结fork=0。k0 。 i- /DQ=1。_nop_ 。_nop_ 。DQ = 0。_nop_ 。_nop_ 。_nop_ 。_nop_ 。_nop_ 。/5usDQ = val&0x01 。/
20、最低位移出delay6 。val=val/2。/66us/右移一位DQ = 1。delay1 。/*18B20读 1 个字节函数 */ 从总线上读取一个字节uchar read_bytevoiduchar i。uchar value = 0。for i=8。i0 。i-DQ=1。_nop_ 。_nop_ 。value=1 。可编辑资料 - - - 欢迎下载精品名师归纳总结DQ = 0。/_nop_ 。_nop_ 。_nop_ 。_nop_ 。 /4usDQ = 1。_nop_ 。_nop_ 。_nop_ 。_nop_ 。 /4us ifDQvalue|=0x80。delay6 。/66usDQ
21、=1。returnvalue。/*读出温度函数 */ read_tempow_reset 。/总线复位write_byte0xCC。 /发 Skip ROM命令write_byte0xBE。 /发读命令temp_data0=read_byte。 /温度低 8 位temp_data1=read_byte。 /温度高 8 位ow_reset 。write_byte0xCC。 / Skip ROMwrite_byte0x44。 /发转换命令/*温度数据处理函数 */ work_tempuchar n=0 。/ iftemp_data1127可编辑资料 - - - 欢迎下载精品名师归纳总结temp_d
22、ata1=256-temp_data1。temp_data0=256- temp_data0。n=1。/负温度求补码display4=temp_data0&0x0f。display0=ditabdisplay4。display4=temp_data0&0xf04|temp_data1&0x0f4。/ display3=display4/100。display1=display4%100。display2=display1/10。display1=display1%10。if.display3display3=0x0A。if.display2display2=0x0A。/最高位为 0 时都不显示
23、ifndisplay3=0x0B。/负温度时最高位显示 -/*主函数 */ mainDisdata=0xff。 /初始化端口discan=0xff。forh=0 。h4。h+displayh=8。/开机显示 8888 ow_reset 。/开机先转换一次write_byte0xCC。 / Skip ROMwrite_byte0x44。 /发转换命令forh=0 。h500。h+scan。/开机显示 88882 秒while1read_temp。/读出 18B20 温度数据work_temp。/处理温度数据可编辑资料 - - - 欢迎下载精品名师归纳总结forh=0。h500。h+scan。/显
24、示温度值 2 秒/*终止*/作品呈现8. 参考文献1 楼然苗 ,李光飞 . 单片机课程设计指导 . 北京航天航空高校出版社,2007.7.2 陈杰 ,黄鸿 . 传感器与检测技术. 高等训练出版社,2002.8.3 康华光 .电子技术基础(模拟部分).高等训练出版社,2006.1.4 李忠明 . 微机原理与接口技术 . 华中科技高校出版社, 2021.6.5 张毅刚 . 单片机原理及应用. 高等训练出版社, 2021.5.1版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人全部This article includes some parts, including t
25、ext,pictures, and design. Copyright is Pan Hongliangs personalownership.用户可将本文的内容或服务用于个人学习、争辩或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵害本网站及相关权益人的合法权益。除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付酬劳。可编辑资料 - - - 欢迎下载精品名师归纳总结Users may use the contents or services of this article for personal study, re
26、search or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or se
27、rvice of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修 改,并自负版权等法律责任。Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.可编辑资料 - - - 欢迎下载