基于89C51和DS18B20的数字温度计设计说明_第1页
基于89C51和DS18B20的数字温度计设计说明_第2页
基于89C51和DS18B20的数字温度计设计说明_第3页
基于89C51和DS18B20的数字温度计设计说明_第4页
基于89C51和DS18B20的数字温度计设计说明_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 题目:基于89C51和DS18B20的数字温度计设计一 、设计要求数字式温度计要求测温围为55125C,精度误差在0.1C以,LED数码管直读显示。二 、方案论证根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以与进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理

2、,将把温度在显示电路上显示,本系统显示器用4位共阳LED数码管以动态扫描法实现。检测围-55摄氏度到125摄氏度。按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。AT89C51主控制器显示电路温度传感器DS18B20扫描驱动数字温度计总体电路结构框图如图1所示。图1 数字温度计总体电路结构框图三 、系统硬件电路的设计温度计电路设计原理图如图2所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管实现温度显示。图2 数字温度计设计电路原理图1、主控制器AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS

3、8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2、显示电路显示电路采用4位共阳LED数码管,从P0口输出段码,列扫描用P3.0P3.3口来实现,列驱动用8550三极管。3、温度传感器工作原理DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字

4、值读数方式。DS18B20 的性能特点如下:独特的单线接口方式仅需要一个端口引脚进行通信;多个DS18B20可以并联在唯一的三线上,实现多点组网功能;无需外部器件;可通过数据线供电,电压围:3.05.5V;测温围55125,在-10+85时精度为0.5零待机功耗温度以9或12位数字量读出;用户可定义的非易失性温度报警设置报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作DS18B20采用3脚PR35 封装或脚SOIC封装,其部结构框图如图3所示图3 DS18B20部结构框图64 b闪速ROM的结构如下:开始8位是产品类

5、型的编号,接着是每个器件的惟一的序号,共有48 位,最后8位是前面56 位的CRC 检验码,这也是多个DS18B20 可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。主机操作ROM的命令有五种,如表1所列指 令说 明读ROM(33H)读DS1820的序列号匹配ROM(55H)继读完64位序列号的一个命令,用于多个DS1820时定位跳过ROM(CCH)此命令执行后的存储器操作将针对在线的所有DS1820搜ROM(F0H)识别总线上各器件的编码,为操作各器件作好准备报警搜索(ECH)仅温度越限的器件对此命令做出响应表1 主机操作ROM的命令 DS18B20 温度传

6、感器的部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM 的结构为8字节的存储器,结构如图4所示。 图4高速暂存RAM结构图前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。温度低位LSB温度高位 MSBTHTL配置保留保留保留8位CRC当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线

7、接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5 /LSB形式表示。温度值格式如下:这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。图中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H,+25.0625

8、的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625LSB形式表示。表2是部分温度值对应的二进制温度表示数据。表2 部分温度值DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节容作比较,若TTH或TBCDDIV AB;B=A%100MOV R7,A;R7=百位数MOV A,#0AHXCH A,BDIV AB;B=A%BSWAP AORL A,BRET;=;Calculate CRC-8Values. Uses The C

9、CITT-8Polynomial,Expressed As;X8+X5+X4+1;=CRC8CAL:PUSH ACCMOV R7,#08H;Number Bits In ByteCRC8LOOP1:XRL A,B;Calculte CRCRRC A;Move To CarryMOV A,B;Get The Last CRC ValueJNC CRC8LOOP2;Skip If Data=0XRL A,#18H;Updata The New CRCCRC8LOOP2:RRC A;Position The New CRCMOV B,A;Store The New CRCPOP ACC;Get Th

10、e Remaining BitsRR A;Position The Next BitPUSH ACC;Save The Remaining BitsDJNZ R7,CRC8LOOP1;Repeat For 8 BitsPOP ACCRETEND六 、程序清单HEX输出文件:100FA:03000B0002012BC4:D9FB7589217542:100110008CE0758ABD2A9D2EE:100120008CD2AF75D000C202020141C0D075D01090:CB1758AE00FBF32047F00D201D0D038:202AA3001FAC20130020C120

11、1D51299:61202AA1201BFD:10016000D2B70000C2B77EA0DEFE7EA0DEFED2B710:100170007E32DEFE7E3CA2B74009DEFA7E64DEFE01:1001800080DE22D2B7227F08D2B70000C2B70000BB:1001900000D2B77E07DEFEA2B77E3CDEFE13D2B7EA:1001A000DFEA7E3CDEFE227F08D2B70000C2B77EC7:1001B00007DEFE1392B77E34DEFED2B7DFEF2212E7:1001C000016074CC120

12、1A77E34DEFE74441201A7D4:1001D0007E34DEFE2212016074CC1201A77E34DE72:1001E000FE74BE1201A77E34DEFE7D09783675F0FE:1001FF6081202F7DDF6E5F07008E558:1002000036F526E537F52722EC3E547:1002100026F42401F526E527F43400F52775280B8C:0C5280AE528C4F528E526AF:10022C00540F90026693F529E52654F0C4F526E5A3:10023C0027540FC4

13、45261202E9F52654F0C445286C:10024C00F528E526540FC44529F529EF600B540F0A:10025C00C4FFE528540F4FFC7:10026C80909E529540FF5706A:10027C00E529C4540FF571E528540FF572E528C42F:10028C00540FF573E52854F0B410028010E528548F:10029C000F700AE528C4540F75730AF:1002AC007DFE7580FFEDF5B0E79002D493F580EDFF:1002BC0020E102C28

14、71202E009ED30E30423FD4184:1002CC00AE7580FF75B0FF22C0F9A4B0999282F888:1002DC008090FFBF7E147F19DFFEDEFA2275F0647A:1002EC0084FF740AC5F084C445F022C0E07F086521:1002FC00F013E5FF5F0D0E003C0E001:05030C00DFEDD0E0224E:00000001FF六 调试与仿真经软件调试-仿真器MedWin调试通过,并烧录芯片,得到所要求的设计结果。试验成功。七 总结和体会这次为期三周的电子工程训练已经结束,但是带给我的影响是很大的。从查资料找合适的方案和电路开始,找元件焊接,调试程序,仿真,烧录元件都是由我们自己完成。途中遇到了很多问题。电子元件不全所以要改方案,焊接中检查是否焊错,修改程序使之符合自己的电路并调试成功,烧录芯片并调试成功。每一步都有可能出现问题,我们所做的就是迎接问题,改正错误,使自己的作品更加完善。过程中我对单片机的工作原理有了更深一步的体会,并

温馨提示

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

评论

0/150

提交评论