实验四DS18B20温度实验.doc

实验四DS18B20温度实验.doc

ID:59205866

大小:639.00 KB

页数:10页

时间:2020-09-10

实验四DS18B20温度实验.doc_第1页
实验四DS18B20温度实验.doc_第2页
实验四DS18B20温度实验.doc_第3页
实验四DS18B20温度实验.doc_第4页
实验四DS18B20温度实验.doc_第5页
资源描述:

《实验四DS18B20温度实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四DS18B20温度实验学号:68姓名:曾琼颖班级:2013级微电班【1】实验目的:用一片DS18B20构成测温系统,测量的温度精度达到0.1度,用8位数码管显示出来。【2】实验原理[1]DS18B20基本知识 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。1、DS18B20产品的特点(1)、只要求一个端口即可实现通信。  (2)、在DS18B20中的每个器件上都有独一无二的序列号。  (3)、实际应用中不需要外部任何元器件即可实

2、现测温。  (4)、测量温度范围在-55。C到+125。C之间。  (5)、数字温度计的分辨率用户可以从9位到12位选择。  (6)、内部有温度上、下限告警设置。2、DS18B20的引脚介绍表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3.DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,

3、我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序

4、两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 4.DS18B20的处理数据DS18B20的高速暂存存储器由9个字节组成

5、,其分配如图3所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。高速暂存存储器分配图DS18B20温度数据表温度/0C二进制表示十六进制表示符号位(5位)数据位(11位)+125000001111101000007D0H+25.062500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-

6、10.1251111111101011110FF5EH-25.6251111111001101111FE6FH-551111110010010000FC90H上表是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。温度转换计算方法举例:例如当DS18B20采集到+125℃的实际温度后,输出为07D0H,则:实际温度=07D0H╳0.0625=2

7、000╳0.0625=1250C。例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:实际温度=370H╳0.0625=880╳0.0625=550C。【3】实验步骤:1.打开Keil编译器,创建项目:Project---NewuVisionProject,创建一个文件夹来放工程相关的文件,给工程项目命名为mywork,点击保存。2.选择芯片类型,这里选择ATMEL---

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。