DSB温度传感器课程方案设计书_第1页
DSB温度传感器课程方案设计书_第2页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、封面作者:PanHongliang仅供个人学习摘要随着社会的进步和工业技术的发展,温度因素在社会生活各个方面已不容 忽视。由于许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测 仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时 测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就 很有必要。在 单片机技术已经普及到我们生活、工作、科研、各个领域,已经 成为一种比较成熟的技术条件下,我们可以基于 89S51 单片机,利用液晶显示 器件以及 DS18B20 温度传感器等器件,通过温度传感

2、器在单片机下的硬件连 接,软件编程即可设计 DS18B20 温度传感器系统。该系统可以方便的实现实现 温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方 便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日 常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统 中,作为其他主系统的辅助扩展。DS18B20 与 AT89C51 结合实现最简温度检测 系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测 量,有广泛的应用前景。关键词: 单片机 AT89C51 DS18B20 温度传感器、液晶显示 LCD1602二、内容课程设计题目基于

3、 DS18B20 的温度传感器课题的背景 在人类的生活环境中, 温度扮演着极其重要的角色, 都无时无刻不在与温 度打交道。自 18 世纪工业革命以来,工业发展与是否掌握温度有着紧密的联 系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎 %80 的工 业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度 传感器的发展。1.1传感器三个发展阶段: 一是模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此 亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一( 仅测量温度) 、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等特 点,适合远距离测温、

4、控温,不需要进行非线性校准,且外围电路简单。它是 目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、 AD592、TMP17 LM135 等。二是模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编 程温度控制器,典型产品有 LM56 AD22105 和 MAX6509 某些增强型集成温度 控制器(例如TC652/653)中还包含了 A/D 转换器以及固化好的程序,这与智能 温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制, 这是二者的主要区别。三是智能温度传感器。智能温度传感器内部都包含温度传感器、 A/D 转换 器、信号处理器、存储器 ( 或寄存器

5、) 和接口电路。有的产品还带多路选择器、 中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM。智能温度传感器 的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,当然,其智能化程度也取决 于软件的开发水平。1.2 温度传感器的发展趋势进入 21 世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠 性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方 向迅速发展。1.3 传感器在温控系统中的应用目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主 要采用传统的模拟集成温度传感器,

6、其中又以热电阻、热电偶等传感器的测量 精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200C800C之间,分辨率 12 位,最小分辨温度在 0.0010.01 之间。自带 LED 显示 模块,显示 4 位到 1 6 位不等。有的仪表还具有存储功能,可存储几百到几千组 数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表, 相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂 贵。针对目前市场的现状,本设计提出了一种可满足要求、可扩展的并且性价比高 的单片机多路测温系统。2、课程设计目的通过基于 MCS-51 系列单片机 AT89C51 和 DS1

7、8B20 温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设 计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应 用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调 试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想, 使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综 合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打 下一个良好的基础。3、 设计任务和要求以 MCS-51 系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20 为检测器件,进行单点温度检测,检测精度为土

8、0.5 摄氏度。温度显示采用 LCD1602 显示,两位整数,一位小数。4、 正文(一)、方案选择与论证 根据设计任务的总体要求,本系统可以划分为以下几个基本模块,针对各个 模块的功能要求,分别有以下一些不同的设计方案:( 1 )、温度传感模块方案一 :采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测 1 摄氏度的信号是不适用的,也不能满足测量范围。在温度测量系统中,也常采 用单片温度传感器,比如 AD59Q LM35 等。但这些芯片输出的都是模拟信号, 必须经过 A/D 转换后才能送给计算机,这样就使测温系统的硬件结构较复杂。另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一

9、定程度上也 增加了软件实现的难度。方案二:采用单总线数字温度传感器 DS18B20 测量温度,直接输出数字信号。 便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元 件线形性能好,在 0100 摄氏度时,最大线形偏差小于 1 摄氏度。DS18B20 的 最大特点之一采用了单总线的数据传输,由数字温度计DS18B20 和微控制器AT89C51 构成的温度装置,它直接输出温度的数字信号到微控制器。每只 DS18B20具有一个独有的不可修改的 64 位序列号,根据序列号可访问不同的器 件。这样一条总线上可挂接多个DS18B2 0 传感器,实现多点温度测量,轻松的组建传感网络。综上分

10、析,我们选用第二种方案。温度传感模块仿真图(2)、显示模块方案一: 采用 8 位段数码管,将单片机得到的数据通过数码管显示出来。该方 案简单易行,但所需的元件较多,且不容易进行操作,可读性差,一旦设定后 很难再加入其他的功能,显示格式受限制,且大耗电量大,不宜用电池给系统 供电。方案二: 采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要 求,对后续的园艺通兼容性高, 只需将软件作修改即可, 可操作性强, 也易于 读数, 采用RT1602两行十六个字符的显示,能同时显示其它的信息如日期、时 间、星期、温度。综上分析,我们采用了第二个方案 显示模块仿真图三、系统的具体设计与实现(1)、

11、系统的总体设计方案采用 AT89S52 单片机作为控制核心对温度传感器 DS18B20 控制,读取温度信号 并进行计算处理,并送到液晶显示器LCD1602 显示。按照系统设计功能的要求,确定系统由 3 个模块组成:主控制器、测温电路和显示电路。数字温度计 总体电路结构框图如图下所示。( 2)、硬件电路设计a、单片机控制模块该模块由 AT89C51 单片机组成在设计方面,AT89C51 的 EA 接高电平,其外围 电路提供能使之工作的晶振脉冲、复位按键,四个 I/O 分别接 8 路的单列 IP 座 方便与外围设备连接。当 AT89C51 芯片接到来自温度传感器的信号时,其内部 程序将根据信号的类

12、型进行处理,并且将处理的结果送到显示模块,发送控制 信号控制各模块。b、温度传感器模块DS18B2C 相目关资料1、DS18B20 原理与分析DS18B2Q 是美国 DALLAS 半导体公司继 DS1820 之后最新推出的一种改进型智能 温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实 际要求通过简单的编程实现 912 位的数字值读数方式。可以分别在 93.75 ms 和 750 ms 内完成 9 位和 12 位的数字量,并且从 DS18B20 读出的信息或写 入 DS18B20 的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数 据总线,总线本身也可以向所挂接的

13、DS18B20 供电,而无需额外电源。因而使 用 DS18B20 可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、 传输距离、分辨率等方面较 DS1820 有了很大的改进,给用户带来了更方便的 使用和更令人满意的效果。 以下是 DS18B20勺特点:(1)独特的单线接口方式:DS18B20 与微处理器连接时仅需要一条口线即可 实现微处理 器与 DS18B20 勺双向通讯。( 2)在使用中不需要任何外围元件。(3) 可用数据线供电,电压范围: +3.0 +5.5 V 。(4) 测温范围:-55 - +125C。固有测温分辨率为 0.5C。(5) 通过编程可实现 9-12 位的数字读数方

14、式。(6) 用户可自设定非易失性的报警上下限值。(7) 支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上,实现多点 测温。( 8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工 作。2、DS18B20 勺测温原理 DS18B20 勺测温原理上图所示,图中低温度系数晶振的 振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1 ,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法 计数器2 的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的 开启时间由高

15、温度系数振荡器来决定,每次测量前,首先将-55C所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置 在-55C所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲 信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1 ,减法计数器 1 的预置将重新被装入, 减法计数器 1 重新开始对低温度系数 晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止 温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累 加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置 值,只要计数门

16、仍未关闭就重复上述过程,直至温度寄存器值达到被测温度 值,这就是 DS18B20 勺测温原理。另外,由于 DS18B2C单线通信功能是分时完 成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20 勺各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)一发 ROM 功能命令一发存储器操作命令一处理数据。DS18B20 工作过程一般遵循以下协议:初始化一一 ROMft作命令一一存储器操作命令一一处理数据1初始化 单总线上的所有处理均从初始化序列开始。初始化序列包括总线主机发出一复 位脉冲,接着由从属器件送出存在脉冲。存在脉冲让总线控制器知道DS1820在总线上且已准

17、备好操作。2ROM 操作命令一旦总线主机检测到从属器件的存在,它便可以发出器件ROM 操作命令之一。所有 ROM 操作命令均为 8 位长。这些命令如下:Read ROM 读 ROM)33h此命令允许总线主机读 DS18B20 的 8 位产品系列编码,唯一的 48 位序列 号,以及 8 位的 CRC 此命令只能在总线上仅有一个 DS18B20 的情况下可以使 用。如果总线上存在多于一个的从属器件,那么当所有从片企图同时发送时将 发生数据冲突的现象(漏极开路会产生线与的结果)。Match ROM( 符合 ROM)55h此命令后继以 64 位的 ROh 数据序列,允许总线主机对多点总线上特定的DS1

18、 寻址。只有与 64 位 ROM 序列严格相符的 DS18B20 才能对后继的存贮器操作命令作 出响应。所有与 64 位 ROM 序列不符的从片将等待复位脉冲。此命令在总线上有 单个或多个器件的情况下均可使用。Skip ROM( 跳过 ROM )CCh在单点总线系统中,此命令通过允许总线主机不提供64 位 ROMS码而访问存储器操作来节省时间。如果在总线上存在多于一个的从属器件而且在 Skip ROM命令之后发出读命令, 那么由于多个从片同时发送数据, 会在总线 上发生数据冲突 (漏极开路下拉会产生线与的效果)。Search ROM( 搜索 ROM)F0h当系统开始工作时,总线主机可能不知道单

19、线总线上的器件个数或者不知道其 64 位ROMS码。搜索 ROM 命令允许总线控制器用排除法识别总线上的所有从机的64位编码。Alarm Search( 告警搜索 )ECh此命令的流程与搜索 ROM 命令相同。但是,仅在最近一次温度测量出现告警的情况下,DS18B20 才对此命令作出响应。告警的条件定义为温度高于TH 或低于 TL。只要 DS18B20-上电,告警条件就保持在设置状态,直到另一次温度测 量显示出非告警值或者改变 TH 或 TL 的设置,使得测量值再一次位于允许的范 围之内。贮存在 EEPROI 内的触发器值用于告警。3存储器操作命令Write Scratchpad (写暂存存储

20、器) 4Eh这个命令向 DS18B20 的暂存器中写入数据,开始位置在地址 2。接下来写入 的两个字节将被存到暂存器中的地址位置 2 和 3。可以在任何时刻发出复位命 令来中止写入。Read Scratchpad (读暂存存储器) BEh这个命令读取暂存器的内容。读取将从字节 0 开始,一直进行下去,直到第 9 (字节 8,CRC 字节读完。如果不想读完所有字节,控制器可以在任何时间 发出复位命令来中止读取。Copy Scratchpad (复制暂存存储器) 48h这条命令把暂存器的内容拷贝到 DS18B20 的 E2 存储器里,即把温度报警触 发字节存入非易失性存储器里。如果总线控制器在这条

21、命令之后跟着发出读时 间隙,而DS18B20 又正在忙于把暂存器拷贝到 E2 存储器,DS18B20 就会输出一 个“ 0 ”,如果拷贝结束的话,DS18B20 则输出“ 1 ”。如果使用寄生电源,总线控制器必须在这条命令发出后立即起动强上拉并最少保持 10msCon vert T (温度变换)44h这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后 DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙, 而 DS18B20 又忙于做时间转换的话, DS18B20 将在总线上输出“ 0”, 若温度转 换完成, 则输出“ 1”。如果使用寄生电源, 总线控制器必须

22、在发出这条命令后 立即起动强上拉, 并保持 500msRecall E2 (重新调整 E2) B8h这条命令把贮存在 E2 中温度触发器的值重新调至暂存存储器。这种重新调 出的操作在对 DS18B20 上电时也自动发生,因此只要器件一上电,暂存存储器 内就有了有效的数据。在这条命令发出之后,对于所发出的第一个读数据时间 片,器件会输出温度转换忙的标识:“ 0” =忙,“1”=准备就绪。Read Power Supply (读电源)B4h对于在此命令发送至 DS18B20 之后所发出的第一读数据的时间片,器件都会 给出其电源方式的信号:“ 0” =寄生电源供电,“ 1” =外部电源供电。4处理数

23、据DS18B20 的高速暂存存储器由 9 个字节组成,其分配如图 3 所示。当温度转换 命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的 第 0 和第 1 个字节。单片机可通过单线接口读到该数据,读取时低位在前,高 位在后。DS18B2C 温度数据表上表是 DS18B20 温度采集转化后得到的 12 位数据,存储在 DS18B20 的两个 8 比 特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于或等于0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1 再乘于 0.0625

24、 即可得到实际温度。温度转换计算方法举例:例如当 DS18B20 采集到+125C的实际温度后,输出为 07D0H 贝U:实际温度=07D0HK0.0625=2000X0.0625=1250C。例如当 DS18B20 采集到-55C的实际温 度后,输出为 FC90H 则应先将 11 位数据位取反加 1 得 370H (符号位不变,也 不作为计算),贝U:实际温度=370HX0.0625=880X0.0625=550C。2、显示模块 LCD1602 资料(这里主要介绍下指令说明及时序)1602 液晶模块内部的控制器共有 11 条控制指令,如表 10-14 所示:序号指令RSR/W D7D6D5D

25、4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/C R/L *6置功能00001DLNF*7置字符发生存贮器地 址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM 或DDRAM)10要写的数据内容11从CGRAM或DDRAM 读数11读出的数据内容表 10-14 :控制命令表1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1 为高电平、0 为低电平)指令 1:

26、清显示,指令码 01H,光标复位到地址 00H 位置。指令 2 :光标复位,光标返回到地址 00H。指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低 电平表示关显示 C :控制光标的开与关,高电平表示有光标,低电平表示无光 标 B :控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5 :光标或显示移位 S/C :高电平时移动显示的文字,低电平时移动光 标。指令 6:功能设置命令 DL :高电平时为 4 位总线,低电平时为 8 位总

27、线 N:低 电平时为单行显示,高电平时双行显示 F:低电平时显示 5x7 的点阵字符,高电 平时显示 5x10的点阵字符。指令 7 :字符发生器 RAM 地址设置。指令 8: DDRAM 地址设置 指令 9 :读忙信号和光标地址 BF :为忙标志位,高电平表示忙,此时模块不能 接收命令或者数据,如果为低电平表示不忙。指令 10 :写数据。指令 11 :读数据。与 HD44780 相兼容的芯片时序表如下:读状态输入RS=L, R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入R

28、S=H,R/W=L,D0D7=数据,E= 高脉冲输出无表 10-15 :基本操作时序表读写操作时序如图 10-55 和 10-56 所示:图 10-55 读操作时序图 10-56 写操作时序四、软件设计系统程序主要包括主程序、读出温度子程序、温度转换子程序、计算温度子 程序、显示等等。1、主程序主要功能是完成 DS18B20 的初始化工作, 并进行读温度, 将温度转化成为压 缩 BCD码 并在显示器上显示传感器所测得的实际温度。2、读出温度子程序读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需要进行 CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如下图所示。3、温

29、度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辩率时转换时间约为 750ms 在本程序设计中采用 1s 显示程序延时法等待转换的完成。流 程图图如下4、计算温度子程序计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定。流程图如下:五、完整程序如下:#include #include typedef unsigned char uint8。#define uint unsigned int#define uchar unsigned charsbit DQ = P3A3o/ 定义 DQ 引脚为 P3.3uchar code Bw10

30、= 0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39 。/ 百位编码uchar codeXsw16=0 x30,0 x31,0 x31,0 x32,0 x33,0 x33,0 x34,0 x34,0 x35,0 x36,0 x36,0 x37,0 x38,0 x38,0 x39,0 x39o/小数位编码sbit RS = P2A0osbit RW = P2A1osbit EN = P2A2osbit BUSY = P0A7ouchar wenduouchar temp_g,temp_dounsigned char code

31、word1=Temperature:ovoid delay(uint xms)uint i,jofor(i=xmsoi0o-i)for(j=110oj0o-j)ovoid Delayus(int t) /在 11.059MHz 的晶振条件下调用本函数需要 24 卩 s,然后 每次计数需 16 卩 sint sofor (s=0ostos+)o等待繁忙标志void wait(void)P0 = 0 xFFodoRS = 0oRW = 1oEN = 0oEN = 1owhile (BUSY = 1)oEN = 0写数据void w_dat(uint8 dat)wait()。EN = 0。P0 =

32、dat。RS = 1。RW = 0。EN = 1。EN = 0。写命令void w_cmd(uint8 cmd)wait()。EN = 0。P0 = cmd。RS = 0。RW = 0。EN = 1。EN = 0。发送字符串到 LCDvoid w_string(uint8 addr_start, uint8 *p)w_cmd(addr_start)。while (*p != 0)w_dat(*p+) 。初始化 1602void Init_LCD1602(void)w_cmd(0 x38)。 / 16*2 显示, 5*7 点阵, 8 位数据接口 w_cmd(0 x0c)。 / 显示器开、光标开、

33、光标允许闪烁 w_cmd(0 x06)。 / 文字不动,光标自动右移w_cmd(0 x01)。 / 清屏uchar Reset()/完成单总线的复位操作。uchar d。DQ = 0。/ 将 DQ 线拉低Delayus(29)。/保持 480 卩 s .复位时间为 480 卩 s,因此延时时间为(480-24)/16 = 28.5,取 29 卩 s。DQ = 1。/ DQ 返回高电平Delayus(3)。/等待存在脉冲.经过 70 卩 s 之后检测存在脉冲,因此延时时间为(70-24)/16 = 2.875,取 3 卩 s。d = DQ。/ 获得存在信号Delayus(25)。/ 等待时间隙结

34、束return(d)。/ 返回存在信号, 0 = 器件存在 , 1 = 无器件void write_bit(uchar bitval)/ 向单总线写入 1 位值: bitvalDQ = 0。 / 将 DQ 拉低开始写时间隙if(bitval=1)DQ =1。/ 如果写 1, DQ 返回高电平Delayus(5)。 / 在时间隙内保持电平值,DQ = 1。 / Delayus 函数每次循环延时 16 卩 s , 因此Delayus(5)=5*16+24=104 卩 svoid ds18write_byte(char val) 向单总线写入一个字节值:valuchar i。uchar temp。f

35、or (i=0。 ii。temp &= 0 x01 。write_bit(temp)。Delayus(5)。uchar read_bit()/从单总线上读取一位信号,所需延时时间为15 卩 s,因此无法调用前面定义/的 Delayus()函数,而米用一个 for()循环来实现延时。uchar i。DQ = 0。/将 DQ 拉低开始读时间隙DQ = 1。/ 然后返回高电平for (i=0。 i3。 i+)。/延时 15 卩 sreturn(DQ)。/ 返回 DQ 线上的电平值uchar ds18read_byte()从单总线读取一个字节的值uchar i。uchar value = 0。for

36、(i=0oi8。i+)if(read_bit()value|=0 x01i。Delayus(6)。return(value)。int Readtemperature()如果单总线节点上只有一个器件则可以直接掉用本函 数。如果节点上有多个器/ 件,为了避免数据冲突,应使用 MatchROM 函数来选中特定器件。uchar temp_d,temp_g,k,get2,temp。Reset()。ds18write_byte(0 xcc)。 ds18write_byte(0 x44)。Delayus(5)。Reset()。 ds18write_byte(0 xcc)。ds18write_byte(0 x

37、be)。 for (k=0。 k4)|(temp_g&0 x0f)4)|(temp_g&0 x0f)4) 。w_cmd(0 xc1)。 w_dat(Bwtemp/100)。return temp。main()Init_LCD1602() 。w_string(0 x80,word1) 。while (1)wendu=Readtemperature(。) temp_g=wendu%100/10+0。 /这里要特别注意啊少了 %10 0 就差很多 temp_d=wendu%10+0。w_cmd(0 xc2)。delay(2)。w_dat(temp_g)。delay(2)。w_dat(temp_d)。

38、delay(2)。w_cmd(0 xc4)。delay(2)。w_dat(0 x2e)。 /小数点delay(2)。w_cmd(0 xc6)。delay(2)。 w_dat(0 xdf)。 /温度符号delay(2)。 w_dat(0 x43)。六、设计体会通过这次基于 DS18B20 传感器测量温度的设计,我学到了不少新的知识。首 先,这次设计让我把书本上学到的理论知识转化成为现实生活中有价值的实 物。如果没有这次设计为我 搭建的平台,我就不能对书本上的知识进行很好的 理解,也不能熟练的把它们应用到现实生活中。还有,我们学会不能手高眼 低,要踏踏实实,从基础学起、做起。但是,具体到设计时,我

39、遇到了很多麻 烦,比如如何将传感器得到的温度转换成为对应的电信号,如何将电信号输送 到单片机进行控制,如何把测得的温度用数字显示出来等等。这就要求我们学 习要一步一个脚印,掌握扎实的理论基础了。最重要的一点是,我在这次设计 中培养了自己的学习能力。由于好多知识超出了我们的课本范围,这就要求我 们自己通过资料来增加我们的知识,解决遇到的一些问题。在短时间内从书本 资料中筛选出我们所需要的知识,对我们的自主学习能力有很大的帮助。就拿 DS18B20 来说,我们书本上没有介绍到这种温度传感器,所以我们就通过学习DS18B20 的说明书,了解它工作的原理以及特性,清楚在实际应用时要注意的 事项,对 DS18B20 进行初始化、编程的要求和规定等。培养了自主学习的能 力,无论以后我要做什么样的设计,我都能够通过查阅资料来实现。最后,本 次设计能够顺利完成。七、参考文献【1】 梁森,欧阳三泰,王侃夫.自动检测技术及应用【M .北京:机械工业 出版社.【2】 万隆.单片机原理及应用技术教程 清华大学出版社

温馨提示

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

评论

0/150

提交评论