1、毕 业 设 计 任 务 书设计题目:温度计的设计软件设计专 业: 通信工程 班级学号: 姓 名: 指导教师: 设计期限:2011年3月07日开始2011年5月20日结束院、系: 信息工程学院 2011年 3 月 07 日一、毕业设计的目的了解一种温度计的结构和工作原理,提高学生实际动手能力,掌握电路设计的系统流程。不仅让学生掌握一种高精度温度计的设计方法,而且能够通过此设计,使学生熟悉做设计时的一些常识及软件综合操作技巧。二、主要设计内容首先用Proteus软件画出硬件电路图,硬件方面主要是利用DS18B20采集温度然后通过I/O总线送到AT89C52单片机,首先通过单片机的P0口驱动LED数
2、码管显示温度;接着用Keil软件将程序编译生成.hex文件烧进单片机进行仿真。三、重点研究问题本文详细分析高精度温度计的性能特点及设计方法;并用C语言编出了温度计工作的描述程序;使用Proteus软件画出电路图进行仿真,并给出分析。四、主要技术指标或主要设计参数1、系统允许的误差范围在以内。2、测温范围为-55至+125,精度为0.01。3、系统具有数码显示功能,能实时显示测得的温度值。4、温度超过一定的范围时系统具有报警功能。五、设计成果要求1、掌握温度计设计原理和设计方法;2、掌握Proteus仿真软件的使用;3、掌握Keil软件对程序进行编译;毕业设计(论文)开题报告 2011年3月18
3、日 学生姓名学号专业题目名称温度计的设计软件设计课题来源自选主要内容(一) 毕业设计的背景介绍随着现代工业的发展,人们的生活水平得到了前所未有的提高。而现代的工业的发展水平的关键就是人类对工业控制当中的各种参数的准确的测量和控制,也就要依靠各种各样的传感器的发展水平。传感器是信息采集的重要工具。传感器技术与通信技术(信息传输)和计算机技术(信息处理),构成了现代信息技术的三大支柱。它们分别在信息系统中起着感官神经和大脑的作用。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。日常生活中经常要用到温度的检测及控制,传统的测温元件
4、有热电偶和热电阻。热电偶和热电阻测出的一般都是电压,然后转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂。美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55125,最大分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,DS18B20具有独特的单线总线接口方式,使用起来更为的方便,其精度也是相当的高。具有低成本和易使用的特点。由于其以上的特点,因此其应用于多路温度监控与检测中能够使系统更加的简单,测量精度也更高,系统也就更可靠。本文介绍了一种基于
5、DS18B20的高精度的温度测量。设计选用AT89C52型单片机作为主控制器件,DSl8B20作为测温传感器,通过DSl8B20直接读取被测温度值,进行数据转换,通过共阴极LED数码管串口传送数据,实现温度显示。这个基于单片机的高精度温度系统有着反应迅速灵活,测温准确,越线报警,其最大特点,就是精度很高,误差低至0.01,如此高精度的温度检测在现代化的生产和生活中应该会有很广阔的发挥空间(二) 整体设计思路单片机的接口信号是数字信号。要想用单片机获取温度这类非电信号的信息,必须使用温度传感器,将温度信息转换为电流或电压输出。如果转换后的电流或电压输出是模拟信号,还必须进行AD转换,以满足单片机
6、接口的需要。传统的温度检测大多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度准确率低,而且还必须经专门的接口电路转换成数字信号后才能由单片机进行处理。温度计由传感器输出与温度值相对应的电流值。该电流值经过IV转换电路得到电压值,最后经过AD转换电路将模拟信号转换为数字信号送入单片机。单片机对采样值进行数字处理后驱动显示电路显示出采集到的温度值。对于传感器、IV转换电路、AD转换电路这三部分的功能可以用美国达拉斯(DALLAS)公司的单线数字温度传感器芯片DS18B20来实现。本设计主要介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其
7、主要功能和指标如下:(1)利用温度传感器(DS18B20)测量某一点环境温度(2)测量范围为-55125,精度为0.01(3)用LED数码管进行实际温度值显示(4)超过报警温度范围报警该系统利用AT89C52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。(三) 设计所用主要器件及相应电路(1)单片机AT89C52(40引脚PDIP封装)(2)显示电路显示电路采用三个2位一体共阴LED数码管,从P0口串口输出段码,P2端口进行位选控制。(3)温度检测电路DS18B20可以采用两种方式供电,一种是采用外部电源供电方式,此时DS1
8、8B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,为保证在有效的DS18B20时钟周期内提供足够的电源,可用一个MOSFET管来完成对总线的上拉。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路简单,因此本文采用外部电源供电方式。(四) 硬件设计所需软件工具 本部分先介绍了硬件仿真所用的Proteus仿真软件的特点及仿真界面。接着介绍了软件设计部分所用的C语言设计以及利用Keil软件生成可执行文件-hex文件的过程。 接着是介绍设计过程中所遇问题及解决。这部分中首先介绍了DS18B20的问题及解决。 (1) DS18B20从测温结束到
9、将温度值转换成数字量需要一定的转换时间,这是必须保证的。(2)在实际使用中发现,应使电源电压保持在5v左右。(3)在对DS18B20进行读写编程时,必须严格保证读写时序,否 则将无法读取测温结果。(4) 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20 接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。采取的主要技术路线或方法查阅相关的文献,确定主要设计思路,用C语言编程,Proteus完成软件仿真,采用该方法设计的高精度温
10、度计具有高性能、高性价比,电路结构简单等特点。预期的成果及形式1.翻译不少于3000汉字的外文资料;2.用充分的理论证据和分析向导师提交最优的设计方法。3.提交正文在10000字以上毕业设计说明书,要求格式规范,文字叙述严谨流畅,图形图表清晰美观,正文中应包括目录、中英文摘要、序言、研究内容、存在问题、进一步改进的工作、参考文献等。时间安排第35周 搜集资料,完成开题第67周 确定方案,展开编程第8 9周 阶段总结,调试编译第10 11周 后期仿真,得出结论第1214周 撰写论文,完成答辩指导教师意见签 名:年 月 日备注摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入
11、,同时带动传统控制检测不断更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,不过仅单片机方面知识是不够的,还应根据具体硬件结构,以及具体应用对象特点的软件结合,以作完善。 本设计主要是研究基于DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件,并通过三个二位一体数码管来显示实时温度的一种数字温度计。该高精度温度系统与传统温度计相比有着反应迅速灵活,测温准确,越线报警等优点,其最大特点,就是精度很高,误差低至0.01,如此高精度的温度检测在现代化的生产和生活中应该会有很广阔的发挥空间。关键词:高精度温度计;温度控制;DS18B20;AT89C52 A
12、bstractIn recent years, with the computer penetration in the social field, the application of SCM is to keep at the same time, traditional control testing update on Crescent benefits. In real-time detection and automatic control system of single-chip applications, often as a single-chip core compone
13、nt to use only single-chip is not enough knowledge, but also the specific hardware structure and the specific features of application software objects combine to make perfect. The design study one digital temperature what mainly through the digital temperature sensor DS18B20 collecting ambient tempe
14、rature to single-chip microcomputer as the core control components, and through three of two real-time digital display. The monolithic machine-based high-accuracy temperature system is had having a swift response nimbly , is measure the temperature accurate, whose maximal characteristic, be accuracy
15、 is very high, so-called high-accuracy temperature checks error low till 0.01, ought to be able to have very vastly bringing space into play in childbirth and life being modernized.Keywords: High precision thermometer; The feeling temperature is measured; DS18B20; AT89C52目 录第一章 概 述11.1 课题开发背景11.2 设计
16、任务与要求11.3 设计的目的和意义2第二章 系统总体方案32.1 总体方案说明32.2 器件选择32.2.1 单片机的选择32.2.2 温度传感器的选择32.2.3 显示器的选择42.3 总体方框图4第三章 硬件电路设计53.1 器件介绍53.1.1 AT89C52芯片简介53.1.2 DS18B20温度传感器73.1.3 LED显示器133.2 温度测量电路133.3 显示电路143.4 报警上下限调整电路实现15第四章 系统的软件设计164.1 主程序流程图164.2 读取温度子程序174.3显示温度子程序184.4 初始化DS18B20子程序184.5 温度数据的计算处理方法19第五章
17、 软件调试205.1 软件调试205.2 仿真20第六章 全文总结22参考文献23致 谢24附录一 外文资料及翻译25附录二 原理图43附录三 源程序44第一章 概 述1.1 课题开发背景随着现代工业的发展,人们的生活水平得到了前所未有的提高。而现代工业的发展水平的关键就是人类对工业控制当中的各种参数的准确的测量和控制,也就要依靠各种各样的传感器的发展水平。传感器是信息采集的重要工具。传感器技术与通信技术(信息传输)和计算机技术(信息处理),构成了现代信息技术的三大支柱。它们分别在信息系统中起着感官神经和大脑的作用。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研
18、究和生活等领域,数量高居各种传感器之首。日常生活中经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。热电偶和热电阻测出的一般都是电压,然后转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂。美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55125,最大分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,DS18B20具有独特的单线总线接口方式,使用起来更为方便,其精度也相当高,具有低成本和易使用的特点。由于其以上的特点,因此其应用于多路温
19、度监控与检测中能够使系统更加的简单,测量精度也更高,系统也就更可靠。本文介绍了一种基于DS18B20的高精度的温度测量。设计选用AT89C52型单片机作为主控制器件,DSl8B20作为测温传感器,通过DSl8B20直接读取被测温度值,进行数据转换,通过共阴极LED数码管串口传送数据,实现温度显示。1.2 设计任务与要求本设计主要研究由单片机作为主控制器的DS18B20数字温度计的设计制作。系统主要由主控制器、测温电路和显示电路组成。控制器使用单片机AT89C52,温度传感器使用DS18B20,用三个二位一体共阴极LED数码管实现温度显示。主要任务: (1) 掌握单片机AT89C52的基本结构及
20、工作原理(2) 了解温度传感器DS18B20的工作原理(3) 实现温度的测量,设置温度的上下限和报警功能(4) 掌握单片机系统的分析和设计方法(5) 掌握仿真软件与编译软件的使用方法1.3 设计的目的和意义单片机应用系统具有体积小、功耗低、功能强、性能价格比高、数据大都在单片机内部传送,运行速度快,抗干扰能力强,可靠性高,结构灵活,易于开发和推广等优点,在自动化控制、仪器仪表和家用电器等领域中得到了广泛的应用。因此,掌握单片机技术是通信工程专业学生必备的技能。通过毕业设计,加深掌握理解单片机技术、熟练掌握硬件电路设计、软件编程,是一个自我提高,自我学习,提高专业素质,提高动手能力的过程;同时运
21、用单片机的基本原理和方法解决实际问题,掌握系统分析和设计也能为今后的工作打下基础。50第二章 系统总体方案2.1 总体方案说明该温度计由电源电路、晶振电路、复位电路、单片机、数字显示电路、温度测量电路、报警电路和控制电路组成。可以实现基本范围-50125的测量和任意设置温度的上下限功能,当所设置的温度高于所设置的上限或低于所设置的下限时可通过蜂鸣器报警。2.2 器件选择2.2.1 单片机的选择(一) 方案一 采用凌阳单片机,凌阳单片机的优势是硬件性能、抗干扰能力强,但是凌阳单片机我们没有系统的学习,且其价格昂贵(二) 方案二 采用AT89C52单片机,其I/O口多,程序空间大,开发环境要求较低
22、,软件资源十分丰富,且价钱便宜。 从以上两种方案,很容易看出,采用方案二,软件设计比较简单。2.2.2 温度传感器的选择(一) 方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。(二) 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两
23、种方案,很容易看出,采用方案二。2.2.3 显示器的选择(一) 方案一 采用液晶显示模块,本方案的优点是电路相对简单,显示字符内容较为丰富,考虑到本报警系统只需要显示测量的温度,不需要过多的复杂功能,实用液晶显示会增加系统的成本,此方案的缺点也在于此。(二) 方案二 采用数码管显示,此方案的最大优点就是成本较低,缺点是电路相对复杂,需要驱动电路,在软件上也需要作出处理。但是此方案完全可以满足本报警系统的功能和要求,软件处理上也不是特别的复杂,驱动电路也相对简单。 从以上两种方案,综合考虑,采用方案二,虽然电路相对复杂一点,但在成本上却占了很大的优势,并可以完全实现本系统的要求,选择方案二。综上
24、,本设计系统器件主要包括: 单片机AT89C52,传感器DS18B20、显示器LED数码管等。其中单片机主要完成外围硬件的控制以及一些运算功能,传感器完成信号的采样功能,LED完成字符、数字的显示功能。2.3 总体方框图 单片机控制系统LED显示电路复位电路时钟电路报警电路按键控制电路温度传感电路 图2.1 总体方框图第三章 硬件电路设计3.1 器件介绍本设计所用到的硬件有单片机AT89C52,温度传感器DS18B20,共阴极数码管等。下面分别对它们进行介绍。3.1.1 AT89C52芯片简介AT89C52(图3.1)是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机片内含8K by
25、tes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合1。图3.1 AT89C52芯片AT89C52具有以下标准功能:4k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52 可降至0Hz静态逻辑
26、操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 AT89C52各个管脚简介如下:VCC:供电电压。 GND:接地。 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,
27、需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。表3-1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入,时钟输出)P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOS
28、I(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口为一个内部上拉电阻的8 位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的 管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个
29、带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止A
30、LE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA /VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间为内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源
31、(VPP)2。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.1.2 DS18B20温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式3。DS18B20的性能特点如下:1) 采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(12位二进制数,含符号位)2) 测温范围为-55- +125,测量分辨率最小为0.06253) 内
32、含64位经过激光修正的只读存储器ROM,在DS18B20中的每个器件上都有独一无二的序列号;4) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内5) 适配各种单片机或系统机6) 测量结果直接输出数字温度信号,以“一线总线“串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力7) 用户可分别设定各路温度的上、下限8) 适应电压范围宽,3.05.5V,在寄生电源方式下可由数据线供电9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20温度分辨力可编程。DS18B20的数字温度输出只用9位二进制表示,分
33、辨力固定为0.5摄氏度。欲提高分辨力,只能依靠软件计算来实现。而DS18B20的数字温度输出可进行9位12位的编程。通过便签式RAM中CONFIG寄存器的可编程温度分辨力为R0,R1进行编程,可设定不同的温度分辨力及最大转换时间,详见表3-2表3-2 利用R0,R1位来设定分辨力和最大转换时间R0R1 DS18B20的工作模式/位温度分辨力最大转换时间0090.593.75ms01100.25187.5ms10110.125375ms11120.0625750ms由表可见,设定的分辨力越高,所需要的转换时间温度数据转换时间就越长。因此,在实际应用中需要在分辨力与转换时间二者之间权衡考虑。在芯片
34、出厂时R1和R0均被置1,即在12位模式下工作。DS18B20分别工作在9,10,11和12位模式下,所对应的分辨力为0.5,0.25,0.125,0.0625。 64位ROM的位结构(图3.2):开始8位是产品类型的编号;接着是每个器件的唯一的序号,共有48位;最后8位是前面的56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非容易失性温度报警触发器TH和TL,可以通过软件写入用户报警上下限数据。8位检验CRC48位序列号8位工厂代码(10H)MSB LSB MSB LSB MSB LSB图3.2 DS18B20的64位ROM的位结构64位ROM与单线接口电源检测存储
35、器与逻辑控制便签式RAM温度传感器高温触发器低温触发器8位CRC发生器I/OVD1内部UDDVD2CGNDUDD图3.3 DS18B20的内部框图DS18B20温度传感器的内部存储器还包括一个高速暂存RAM(图3.3)和一个非易失性的可擦除的EEPROM。高速暂存RAM的结构为9字节的存储器,前2字节包含测得的温度信息。第三和第四字节是TH和TL的拷贝,易失的,每次上电复位时刷新。第五字节为配置寄存器,其内容用于确定值的数字分辨率,DS18B20工作时按此寄存器的分辨率将温度转换为相应精度的数值。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节是前面所有8字节的CRC码,可以
36、用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动温度转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。温度 LSB1字节温度 MSB2字节TH 用户字节13字节TL 用户字节24字节配置寄存器5字节保留6字节保留7字节保留8字节CRC9字节TH 用户字节1TL 用户字节2EEPROM图3.4 DS18B20的高速暂存RAM结构温度值格式如图3.5:232222202-12-22-32-4SSSSS262524低字节高字节图3.5 DS18B20的温度数据值格式图3.5中,S表示符号位。当S=0时,表示测得的温
37、度值为正值,可以直接将二进制为转换为十进制,当S=1,表示测得的温度值为负值,要先将补码变成原码,再计算十进制值。表3-3 DS18B20的部分温度值对应的二进制温度表示数据。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或TTL,则将该器件内的标志位置位,并对主机发出的报警搜索命令作出响应。表3-3 温度转换温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 101
38、0 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H在64位ROM的最高有效字节存储有循环冗余检验码(CRC)。主机根据ROM的前56位来计算CRC值,并与存入DS18B20的CRC值作比较,以判断主机接收到的ROM数据是否正确。如图3.6中低温度系数振荡器的振荡频率受温度的影响很小,用
39、于产生固定频率的脉冲信号送给减法计数器1;高温度系数振荡器的振荡频率受温度的影响明显,所产生的信号作为减法计数器2的脉冲输入。图中还隐含着计数门,当计数门打开时DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间有高温度系数振荡器来决定,每次测量前,首先将-55摄氏度所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0失,温度寄存器的值将加1,减法计数器1的预置值将被重新装入,并重新开始对低温度系数振荡器产生的脉冲信
40、号进行计数。如此循环,直到减法计数器2计数到0,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测得的温度值。图中的斜率累加器用于补偿和修正测温过程中非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。低温度系数振荡器减法计数器1高温度系数振荡器预置斜率累加器计数比较器减法计数器2减到零减到零温度寄存器预置增加停止设置或清除最低有效位图3.6 DS18B20内部测温电路框图由于DS18B20的单线通讯功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行,操作协议为:初始化DS18B20发
41、复位脉冲-写ROM功能指令-发存储器操作命令-处理数据。DS18B20有六条控制命令,如表3-4。表3-4 控制命令指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU 3.1.3 LED显示器显示电路采用LED数码管,LED数码管按段数分为七段数码管和八段
42、数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极
43、为低电平时,相应字段就不亮。本论文的显示部分是由3个二位一体的共阴数码管组成(图3.7) 图3.7 数码管3.2 温度测量电路DS18B20可以采用两种方式供电,一种是采用外部电源供电方式,此时DS18B20的1脚接地,2脚座位信号线,3脚接电源。另一种是寄生电源供电方式,为保证在有效地DS18B20时钟周期内提供足够的电源,可用一个MOSFET管来完成对总线的上拉。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路简单,因此本文采用外部电源供电方式,如下图所示:图3.8 DS18B20和单片机的接口连接3.3 显示电路本次设计中采用共阴极数码管作为显示器。L
44、ED的驱动电路简单,使用方便,具有耗电少、成本低廉、配置简单灵活、安装方便、耐振动、使用寿命长等优点。LED显示器与单片机的接口一般有动态显示与静态显示接口两种电路5。1、静态显示方式:是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制,显示稳定,提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。2、动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数
45、据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间轮流点亮。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关, 由于扫描速度极快,显示效果与静态驱动相同。通过调整电流和时间参数,可以既保证亮度,又保证显示。本次设计中,由于单片机本身提供的I/O口有限,本次设计采用动态显示,数码管采用的是共阴极接法。用AT89C52的P0口作段码输出时, 驱动能力相当大,但由于输出极为漏极开路电路,驱动拉电流负载,引脚上应外接上拉电阻。因此,在本次设计中我们将数码管各段加上拉电阻后接单片机P0口。我们把P2口的输出信号直接接到数码管的位选端作为位选信号,低电平有效6。 图3.9 显示电路3.4 报警上下限调整电路实现