当前位置:首页 >> 信息与通信 >>

基于DS18B20的数字温度计设计


学士学位毕业设计(论文)

基于 DS18B20 的数字 温度计设计

学生姓名: 学生姓名 : 指导教师: 指导教师 : 所在学院: 所在学院 : 专 业:

摘要

摘要
温度的检测与控制是工业生产过程中比较典型的应用之一, 随着传感器在 生活中的更加广泛应用, 利用新型数字温度传感器

实现对温度的测试与控制得 到更快的开发,本文设计了一种基于 AT89S51 的温度检测及报警系统。该系 统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度, 它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优 点,适合于我们日常生活和工作、农业生产中的温度测量,也可以当作温度处 理模块嵌入其它系统中, 作为其他主系统的辅助扩展。 该系统设计和布线简单, 结构紧凑,抗干扰能力强,在大型仓库、工厂、智能化建筑等领域的温度检测 中有广泛的应用前景。 关键词: 关键词 : 单片机 DS18B20 温度传感器 智能化

I

ABSTRACT

ABSTRACT
Temperature measurement and control of industrial process is one of the typical applications, as sensors have more extensive application in today, to use the new digital temperature sensors for temperature testing and controlling get fast development, this paper design a system based on AT89S51 for temperature testing and displaying, convenient sensitivity, alarming. The system is easy to realize the temperature gathering and and can according to need set temperature for arming, it is very to use it, It has the advantages of high precision, ranging wide, high small volume, low power, it suits our daily life work and agriculture

temperature testing, also can be used as temperature processing modules in other systems as auxiliary part in other main system. The system design and wiring simple, compact structure, strong anti-jamming capability, it has broad application protest in large warehouse, factories, intelligent building and other areas of temperature testing. Keywords: Microcontroller Temperature sensor DS18B20 Intelligent

II

目录

目录
摘要 ...................................................... I ABSTRACT ................................................. II 前言 ..................................................... IV 1 绪论 .................................................... 1 1.1 多功能数字温度计设计的背景 ......................... 1 1.2 课程设计的目的和意义 ............................... 1 2 总体设计方案 ............................................ 2 2.1 整体功能说明 ....................................... 2 2.2 硬件功能模块组成 ................................... 2 2.3 软件功能组成模块 ................................... 2 2.4 测试计划 ........................................... 3 2.5 本章小结 ........................................... 3 3 系统硬件电路的设计 ...................................... 4 3.1 整体功能说明 ....................................... 4 3.2 硬件功能模块组成 ................................... 4 3.3 本章小结 .......................................... 15 4 系统的软件设计 ......................................... 16 4.1 主程序 ............................................ 16 4.2 读出温度子程序 .................................... 17 4.3 温度转换命令子程序 ................................ 17 4.4 计算温度子程序 .................................... 18 4.5 显示数据刷新子程序 ................................ 18 4.6 本章小结 .......................................... 19 参考文献 ................................................. 21 致谢 ..................................... 错误 ! 未定义书签 。 错误! 未定义书签。 附录Ⅰ ................................................... 23 附录Ⅱ ................................................... 24 附录Ⅲ ................................................... 30

III

前言

前言
当今社会,温度检测系统被广泛应用到社会生产、生活等各个领域中。在 工业、环境检测、医疗、家庭等多方面都有应用。日常生活及工农业生产中经 常要用到温度的检测及控制,在冶金、食品加工、化工等工业生产过程中,广 泛使用的各种加热炉、热处理炉、反应炉等,都要求对温度进行严格控制。在 日常生活中,电烤箱、微波炉、电热水器、烘干箱等电器也需要进行温度检测 与控制。传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般是 电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软 件调试复杂, 制作成本高。 而采用单片机对温度进行控制, 不仅具有控制方便, 简单和灵活等优点,而且可以大幅度提高温度控制的技术指标。并且单片机在 电子产品中的应用已经越来越广泛。 测量温度的关键是温度传感器,温度传感器正从模拟式向数字式、从集成 化向智能化、网络化的方向发展。随着温度检测理论与技术的不断更新,温度 传感器的种类也越来越多,在测温电路中,可以使用热敏电阻之类的器件利用 其感温效应,将随被测温度变化的电压或电流采集过来,先进行 A/D 转换, 然后用单片机进行数据的处理,再在显示电路上,将被测温度显示出来。这种 设计需要用到 A/D 转换电路,因此感温电路的设计比较复杂。在微机系统中 使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电 偶传感器、热电阻传感器和单导体传感器等,每种传感器根据其自身特性,都 有它自己的应用领域。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便、测温范 围广、测温准确、其输出温度采用数字显示等优点,主要用于对温度要求比较 精确的场所或科研实验室。该设计控制器使用单片机 AT89S51,温度传感器使 用 DS18B20,用 4 位共阴极 LED 数码管以串口显示数据,实现温度显示。由 于采用了改进型智能温度传感器 DS18B20 作为检测元件,与传统的温度计相 比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。DS1 8B20 温度计还可以在高温报警、远距离多点测温控制等方面进行应用开发, 具有很好的发展前景。

IV

1 绪论
1.1 多功能数字温度计设计的背景
温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不 开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、 粮食储存、酒类生产等领域,温度常常是表征对象和过程状态的最重要的参数 之一。传统的水银或酒精温度计来测量温度,不仅测量时间长、读数不方便、 而且功能单一,已经不能满足人们在数字化时代的要求。本文提出了一种新型 的数字式温度测量电路的设计方案,该方案集成了温度测量电路。在此利用集 成温度传感器 DS18B20 设计并制作了一款基于 AT89S51 的四位 LED 数码管显示 的数字温度计,其电路简单,软硬件结构模块化,易于实现。还采用了 24MHz 的晶振作为 AT89S51 的时钟源和 4 位的共阴极数码管作为温度的显示设备, 通 过编程的方式来实现实温度的显示、修改等功能,使产品更具实用性。

1.2 课程设计的目的和意义
通过课程设计使我进一步熟悉了单片机的内部结构和工作原理, 掌握了单 片机应用系统设计的基本方法和步骤,通过学习 MCS-51 单片机,了解单片 机在自动化装置中的作用以及掌握单片机的编程和调试方法, 通过一个简单的 实际应用输入控制以及显示系统,掌握 protel 和 keil 软件的使用。 目前温度计的发展很快, 从原始的玻璃管温度计发展到了现在的热电阻温 度计、热电偶温度计、数字温度计、电子温度计等等,温度计中传感器是它最 重要的组成部分,它的精度、灵敏度基本决定了温度计的精度、测量范围、控 制范围和应用领域等。传感器应用及其广泛,目前已经研制出多种传感器。但 是,作为系统的设计人员需要根据系统的实际情况选用适宜的传感器,并与自 己设计的系统相适应。

1

2 总体设计方案
方案一:由于本设计是测量电路,可以使用热电阻类的器件利用其感温效 应,在将随时测得的温度转变为电压或电流采集过来,进行 A/D 转换后,就 可以用单片机进行数据处理,在显示在电路上就可以将被测温度显示出来,这 种设计需要用到 A/D 转换电路,感温电路比较麻烦。 方案二: 考虑到用温度传感器, 在单片机电路设计中, 大多都使用传感器, 所以可采用温度传感器 DS18B20,这种传感器可以很容易直接读取被测量的 [1] 温度值,用起来非常方便,进行转换后,就可以满足设计要求 。 从以上两种方案很容易看出, 方案二电路比较简单, 软件设计也相对简单, 故本设计采用方案二。

2.1 整体功能说明
以 51 单片机为主控制器,以数字式温度传感器 DS18B20 为传感元件,以 LED 数码管作为显示器件实时显示测量温度(十进制数) 。数字式温度计测温 范围在-55~125℃,误差在±0.5℃以内。温度测量间隔时间选择 1s。 通过键盘扩展,实现温度上下限值的设定及温度报警功能。对温度采样值 实现数字滤波。通过硬件或软件方法实现时间显示。

2.2 硬件功能模块组成
温度计的控制器使用单片机 AT89S51,温度传感器使用 DS18B20,用 4 位共阴极 LED 数码管以动态扫描法实现温度显示。 主控制器: 单片机 AT89S51 具有低电压供电和小体积等特点, 两个端口刚 好满足电路系统的设计需要。 显示电路:显示电路采用 4 位共阴极 LED 数码管,从 P1 口输出段码,列 扫描用 P3.0~P3.3 口来实现,列驱动用 74LS04 来驱动数码管 [2] 。

2.3 软件功能组成模块
系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算 温度子程序和显示数据刷新子程序等 [3] 。 主程序:主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量 温度值。温度测量每 1s 进行一次。 读出温度子程序:主要功能是读出 RAM 中的 9 字节。在读出时须进行 CRC 校验,校验有错时不进行温度数据的改写。
2

温度转换命令子程序:主要是发温度转换开始命令。 计算温度子程序:将 RAM 中读取值进行 BCD 码的转换运行,并进行温 度值正负的判定。 显示数据刷新子程序:主要是对显示缓冲器中的显示数据进行刷新操作, 当最高数据显示位为 0 时,将符号显示位移入下一位。

2.4 测试计划
(1)硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单 程序来检测。 (2)软件测试:测试软件是否符合设计要求、是否存在 BUG。

2.5 本章小结
本章主要介绍了硬件电路的整体设计方案以及对整个设计的构思。 主要上 包括硬件组成模块、软件组成模块两大部分。

3

3 系统硬件电路的设计
3.1 整体功能说明
硬件总体框图如图 1 所示。以 51 单片机为主控制器,以数字式温度传感 器 DS18B20 为传感元件,以 LED 数码管作为显示器件实时显示测量温度(十 进制数) 。数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。温度 测量间隔时间选择 1s
[4]



测温

显示

单片机 复位电路 AT89S51

显示驱动

按键

时钟晶振

报警

图 1 硬件总体框图

3.2 硬件功能模块组成
温度计硬件电路设计原理图见附录Ⅰ,温度计的控制器使用单片机 AT89S51,温度传感器使用 DS18B20,用 4 位共阴极 LED 数码管以动态扫描 法来实现温度显示。 图中有 3 个独立式按键可以分别调整温度的上下限报警设置, 图中蜂鸣器 可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时 LED 数码管 将没有被测温度显示,这时可以调整上下限,从而测出被测的温度值。

4

3.2.1 主控制器
1.单片机的选择 1. 单片机的选择 单片机具有低电压供电和小体积等特点, 两个端口刚好满足电路系统的设 计需要。对于单片机的选择,可以考虑使用 8031 与 8051 系列,由于 8031 没 有内部 RAM,系统又需要大量内存存储数据,因而不适用。AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4kbyte 的可 编程的 Flash 只读程序存储器, 兼容标准 8051 指令系统及引脚 [5] 。 它集 Flash 程 序 存 储 器 既 可 在 线 编 程 ( ISP) , 也 可 用 传 统 方 法 进 行 编 程 , 所 以 低 价 位 AT89S51 单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制 领域,对于简单的测温系统已经足够。单片机 AT89S51 具有低电压供电和体 积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便 携手持式产品的设计使用系统可用三节电池供电。主要特性如下 [6] : ●与MCS-51 兼容 ●4K字节可编程闪烁存储器 ●寿命:1000写/擦循环 ●数据保留时间:10年 ●全静态工作:0Hz-24Hz ●三级程序存储器锁定 ●128*8位内部RAM ●32可编程I/O线 ●两个16位定时器/计数器 ●5个中断源 ●可编程串行通道 ●低功耗的闲置和掉电模式 ●片内振荡器和时钟电路 2 . 引脚功能介绍 AT89S51 单片机为40引脚双列直插式封装。其引脚排列和逻辑符号如图 2 所示:

5

图 2 AT89S51 引脚图

各引脚功能简单介绍如下 [7] : ●VCC:供电电压 ●GND:接地 ●P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电 流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时, P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外 部电位必须被拉高。 ●P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接 收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可 用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部 上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 ●P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收, 输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻 拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输 出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出 地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器 进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程 和校验时接收高八位地址信号和控制信号。 ●P3口: P3口管脚是8个带内部上拉电阻的双向I/O口, 可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
6

作为输入时,由于外部下拉为低电平,P3口将输出电流,也是由于上 拉的缘故。P3口也可作为AT89S51的一些特殊功能口: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 P3.3 P3.4 P3.5 INT0(外部中断0) INT1(外部中断1) T0(计时器0外部输入) T1(计时器1外部输入)

P3.6 WR (外部数据存储器写选通) P3.7 RD (外部数据存储器读选通) 同时P3口同时为闪烁编程和编程校验接收一些控制信号。 ●RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的 高电平时间。 ●ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁 存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。 在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频 率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注 意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止 ALE的输出可在SFR8EH地址上置0。另外,该引脚被略微拉高。如果微 处理器在外部执行状态ALE禁止,置位无效。 ●PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间, 每个机器周期PSEN两次有效。但在访问外部数据存储器时,这两次有效 的PSEN信号将不出现。 ●EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA 将内部锁定为RESET; 当EA端保持高电平时, 访问内部ROM。 在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP)。 ●XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ●XTAL2:来自反向振荡器的输出。

3.2.2 温度测量模块
主要用到的是 DS18B20 温度传感器,将采集到的温度模拟量(-55℃~ 125℃)转换成数字量,并接上一个上拉电阻后再送给单片机 P2.0 口。

3.2.3 显示电路
显示电路采用 4 位共阴极 LED 数码管, P1 口输出段码, 从 列扫描用 P3.0~ P3.3 口来实现,列驱动用 74ls04 。

7

3.2.4 温度传感器工作原理
1 . DS18B20 的性能特点 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型 智能温度传感器。 与传统的热敏电阻等测温元件相比, 它能直接读出被测温度, 并且可根据实际要求通过简单的编程实现 9-12 位的数字值读数方式。 DS18B20 的性能特点如下: ●独特的单线接口仅需要一个端口引脚进行通信; ●多个 DS18B20 可以并联在唯一的三线上,实现多点组网功能; ●不需要外部器件; ●可通过数据线供电,电压范围为 3.0-5.5 V; ●零待机功耗; ●温度以 9-12 位数字量读出; ●用户可定义的非易失性温度报警设置; ●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正 常工作。 [9] 2 . DS18B20 的内部结构 DS18B20 采用 3 脚 PR-35 封装或 8 脚 SOIL 封装,其内部结构框图如图 3 所示。
[8]

I/O

64 位 ROM 和

存储器与控制逻辑

高温触发器 TH 高 速 缓 存 低温触发器 TL 配置寄存器 8 位 CRC 发生

C

单 总 线 接

Vdd



图 3 DS18B20 内部结构框图

64 位 ROM 的位结构如图 4 所示。开始 8 位是产品类型的编号,接着是每 个器件的唯一的序号,共有 48 位;最后 8 位是前面 56 位的 CRC 检验码,这 也是多个 DS18B20 可以采用单线进行通信的原因。非易失性温度报警触发器 TH 和 TL,可通过软件写入用户报警上下限数据 [10] 。
8

8 位检验 CRC MSB LSB

48 位序列号 MSB LSB

8 位工厂代码(10H) MSB LSB

图 4 64 位 ROM 结构框图

DS18B20 温度传感器的内部存储器还包括一个告诉暂存器 RAM 和一个 非易失性的可擦除的 EERAM。高速暂存 RAM 的结构为 8 字节的存储器 。 头 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝,是易失 的,每次上电复位时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定 温度值的数字转换分辨率。DS18B20 工作时寄存器中的分辨率转换为相应精 度的温度数值。该字节各位的定义如图 5 所示。低 5 位一直为 1,TM 是工作 模式位,用于设置 DS18B20 在工作模式还是在测试模式,DS18B20 出厂时该 位被置为 0,用户要去改动,R1 和 R0 决定温度转换的精度位数,来设置分辨 率。
1 字节 2 字节 3 字节 4 字节 5 字节 6 字节 7 字节 8 字节 9 字节 TM R1 R0 1 1 1 1 1 TH 用户字节 1 TL 用户字节 2 EEPROM 温度 LSB 温度 MSB TH 用户字节 1 TL 用户字节 2 配置寄存器 保留 保留 保留 CRC
[11]

图 5 高速暂存 RAM 结构图与配置寄存器图

由表 1 可知,DS18B20 温度转换的时间较长。而且分辨率越高,所需的 温度数据转换时间越长。 因此, 在实际应用中要将分辨率和转换时间权衡考虑。 温度传感器 DS18B20 程序,采用器件默认的 12 位转化,最大转化时间 750 毫妙 [12] ,可以将检测到的温度直接显示到的四位数码管上。

9

表 1 DS18B20 温度转换时间表 R1 0 0 1 1 R0 0 1 0 1 分辨率/位 9 10 11 12 温度最大转换时间/MS 93.75 187.5 375 750

高速暂存 RAM 的第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节 读出前面的所有 8 字节的 CRC 码,可用来检测数据,从而保证通信数据的正 确性。 当 DS18B20 接受到温度转化命令后,开始启动转换。转换完成后的温度 值就可以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、 2 字节。单片机可以通过单线接口读出该数据,读出数据低位在先,高位在后, [13] 数据格式以 0.0625C°/LSB 式表示 。温度值格式如表 2 所示。
表 2 温度值数据格式 LS 2
3

字节 2
2

2

1

2

0

2

-1

2

-2

2

-3

2 -4 24 字节

S MS

S

S

S

S

26

25

当符号位 S=0 时,表示测得的温度为正直,可以直接将二进制维转换为 十进制;当符号位 S=1 时,表示测得的温度值为负值要先将补码变成原码, 在计算十进制数值。表 3 为一部分温度值对应的二进制温度数据。 DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、TL 字节 内容作比较。若 T>TH 或 T<TL,则将该器件内的报警标志置位,并对主机发 出的报警搜索命令做出响应 [14] 。因此,可用多只 DS18B20 同时测量温度并进 行报警搜索。 在 64 位 ROM 的最高有效字节中存储有循环冗余检验码(CRC) 。主机 ROM 的前 56 位来计算 CRC 值,并和存入的 DS18B20 的 CRC 值作比较,以 判断主机收到的 ROM 数据是否正确。

10

表 3 DS18B20 温度预测得值对应表 温度/C +125 +85 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.0625 -55 二进制表示 0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 十六进制数 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H

另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时序概念, 因此读写时时序很重要。 系统对 DS18B20 的各种操作按协议: 初始化 DS18B20 (发复位脉冲)发 ROM 功能命令发存储器操作命令处理数据。 分别说明如下: 1.初始化:单线的所有处理均从初始化开始。初始化过程是主机通过向作 为从主机的 DS18B20 芯片发一个有时间宽度要求的初始化脉冲实现的。初始 化后,才可进行读写操作。 2.ROM 操作命令:总线主机检测到 DS18B20 的存在便可以发出 ROM 操 作命令之一 [15] 。这些命令表 4:
表 4 ROM 操作命令 指令 Read ROM (读 ROM) Match ROM(匹配 ROM) Skip ROM (跳过 ROM) Search ROM (搜索 ROM) Alarm search (警告搜索) 代码 [33H] [55H] [CCH] [F0H] [ECH]

存储器操作命令如表 5:

11

表 5 存储器操作命令 指令 Write Scratchpad (写暂存存储器) Read Scratchpad (读暂存存储器) Copy Scratchpad (复制暂存存储器) Convert Temperature (温度变换) Recall EPROM (重新调出) Read Power supply (读电源) 代码 [4EH ] [BEH] [48H ] [44H ] [B8H ] [B4H ]

3.DS18B20 3. DS18B20 测温原理 DS 如图 6 所示,图中低温度系数振荡器的振荡频率受温度的影响很小,用于 产生固定频率的脉冲信号送给减法计数器 1。高温度系数振荡器随温度变化其 振荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。

斜率累加器 预置 计数比较

低温度系数振荡

减法计数 1 增加 减到 0

预置

温度寄存器 停止

高温系数振荡器

减法计数器 2

减到 0

图 6 DS18B20 的测温原理图

图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡 器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度 系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减 法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在-55℃所对 应的一个基数值 [16] 。 减法计数器 1 对低温度系数振荡器产生的脉冲信号进行减法计数, 当减法 计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置值 将被重新装入,并重新开始对低温度系数振荡器产生的脉冲信号进行计数。如
12

此循环,直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度 寄存器中的数值就是所测温度值。 6 中的斜率累加器用于补偿和修正测温过 图 程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭 就重复上述过程,直到温度寄存器值达到被测温度值。 另外,由于 DS18B20 单线通信功能是分时完成的,有严格的时隙概念, 因此读/写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协 议为:初始化 DS18B20(发复位脉冲)→发 ROM 功能命令→发存储器操作命令→ 处理数据。 DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据 I/O 均由 [17] 同一条线来完成 。DS18B20 可以采用两种方式供电:一种是采用电源供电 方式,如图 7 所示。此时 DS18B20 的第 1 脚接地,第 2 脚作为信号数据线, 第 3 脚接电源。 另一种是寄生电源供电方式, 工作于寄生电源方式时, VDD 和 GND 均接地,它在需要远程温度探测和空间受限的场合特别有用,原理是当 1-Wire 总线的信号线 DQ 为高电平时,窃取信号能量给 DS18B20 供电,同 时一部分能量给内部电容充电, 当 DQ 为低电平时释放能量为 DS18B20 供电
[18]

。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度 转换和拷贝数据 EEPROM 时),同时芯片的性能也有所降低。因此,在条件允

许的场合, 尽量采用外供电方式。无论是内部寄生电源还是外部供电,为保 证在有效的 DS18B20 时钟周期内提供足够的电流,I/O 口线要接 4.7K 左右 的上拉电阻。当 DS18B20 处于写存储器操作和温度 A/D 转换操作时,总线上 必须有强的上拉,上拉开启时间最长为 500ms。在这里采用前者方式供电。 DS18B20 与芯片连接电路如图 7 所示:

U3 DS18B20

VCC GND VDD VCC 3 DQ 2

4.7k

.

图 7 DS18B20 采用电源供电方式电路图

外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能 力强, 而且电路也比较简单, 可以开发出稳定可靠的多点温度监控系统。 所以,
13

1

R2

在本设计中采用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引 线。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使 电源电压VCC降到3V时,依然能够保证温度测量的精度。 由于 DS18B20 只有一根数据线,因此它和主机(单片机)通信是需要串 行通信,而 AT89S51 有两个串行端口,所以可以不用软件来模拟实现。经过 单线接口访问 DS18B20 必须遵循如下协议:初始化、ROM 操作命令、存储器 操作命令和控制操作。要使传感器工作,一切处理均严格按照时序。对 DS18B20 初始化后,主机发出 SKIPROM 命令,此命令执行后的存储器操作 命令将对所在线的 DS18B20 发出温度转换启动码(44H),等待 750ms 后, 先发出匹配 ROM 命令(55H)紧接着主机提供一片 DS18B20 的 64 位序列号, 读取其温度存储器值,存入数据缓存。 主机发送(TX)复位脉冲(最短为480?s的低电平信号)。接着主机便释 放此线并进入接收方式(RX)。总线经过4.7K的上拉电阻被拉至高电平5V状 态。在检测到I/O 引脚上的上升沿之后,DS18B20等待15~60?s,并且接着发 送脉冲(60~240?s的低电平信号) [19] 。然后以存在复位脉冲表示DS18B20已 经 准 备 好 发 送 或 接 收 , 然 后 给 出 正 确 的 ROM命 令 和 存 储 操 作 命 令 的 数 据 。 DS18B20通过使用时间片来读出和写入数据, 时间片用于处理数据位和进行何 种指定操作的命令。它有写时间片和读时间片两种: 写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写 时间片。有两种类型的写时间片:写1时间片和写0时间片。所有时间片必须有 60微秒的持续期,在各写周期之间必须有最短为1微秒的恢复时间。 读时间片:从DS18B20读数据时,使用读时间片。当主机把数据线从 逻辑高电平拉至逻辑低电平时产生读时间片。 数据线在逻辑低电平必须保持至 少1微秒;来自DS18B20的输出数据在时间下降沿后的15微秒内有效。为了读 出从读时间片开始算起15微秒的状态,主机必须停止把引脚驱动拉至低电平。 在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平,所有读时间片的 最短持续期为60微秒,包括两个读周期间至少1?s的恢复时间 [20] 。一旦主机检 测到DS18B20的存在,它便可以发送一个器件ROM操作命令。所有ROM操作 命令均为8位长。 所有的串行通讯,读写每一个bit位数据都必须严格遵守器件的时序逻辑 来编程,同时还必须遵守总线命令序列,对单总线的DS18B20芯片来说,访问 每个器件都要遵守下列命令序列:首先是初始化;其次执行ROM命令;最后 就是执行功能命令(ROM命令和功能命令后面以表格形式给出)。 如果出现序列 混乱,则单总线器件不会响应主机。当然,搜索ROM命令和报警搜索命令, 在执行两者中任何一条命令之后,要返回初始化。 基于单总线上的所有传输过程都是以初始化开始的, 初始化过程由主机发 出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从 机,且准备就绪。

14

在主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设 备 的 唯 一 64 位 ROM 代 码 相 关 。 在 主 机 发 出 ROM 命 令 , 以 访 问 某 个 指 定 的 DS18B20,接着就可以发出DS18B20支持的某个功能命令。这些命令允许主机 写入或读出DS18B20便笺式RAM、启动温度转换。软件实现DS18B20的工作 严格遵守单总线协议: (1)主机首先发出一个复位脉冲,信号线上的DS18B20器件被复位。 (2)接着主机发送ROM命令,程序开始读取单个在线的芯片ROM编码并保 存在单片机数据存储器中,把用到的DS18B20的ROM编码离线读出,最后用 一个二维数组保存ROM编码,数据保存在寄存器中。 (3)系统工作时,把读取了编码的DS18B20挂在总线上。发温度转换命令, 再总线复位。 (4)然后就可以从刚才的二维数组匹配在线的温度传感器,随后发温度读 取命令就可以获得对应的温度值了。 在主机初始化过程,主机通过拉低单总线至少480?s,来产生复位脉冲。 接着,主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将单总线 拉高。在单总线器件检测到上升沿后,延时15~60?s,接着通过拉低总线60~ 240?s,以产生应答脉冲 [21] 。 写时序均起始于主机拉低总线,产生写1时序的方式:主机在拉低总线后, 接着必须在15?s之内释放总线。产生写0时序的方式:在主机拉低总线后,只 需在整个时序期间保持低电平即可(至少60?s)。在写字节程序中写一个bit位的 时候,没有按照通常的分别写0时序和写1时序,而是把两者结合起来,当主机 拉低总线后在15?s之内将要写的位c给DO:如果c是高电平满足15?s内释放总 线的要求,如果c是低电平,则DO=c这条语句仍然是把总线拉在低电平,最 后都通过延时58?s完成一个写时序(写时序0或写时序1)过程。 写时序:当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开 始。有两种写时间间隙,写1时间隙和写0时间隙。所有写时间隙必须最少持续 60?s,包括两个写周期至少1?s的恢复时间。I/O线电平变低后,DS18B20在一 个15?s到60?s的窗口内对I/O 线采样。如果线上置高电平,就是写1,如果是 低电平,就是写0。主机要生成一个写时间隙,必须把数据线拉到低电平然后 释放,在写时间隙开始后的15?s内允许数据线拉到高电平。所有读时序至少需 要60?s。

3.3本章小结
本章对硬件进行了系统的设计, 主要介绍了单片机的基本知识和各引脚的 基本功能。另外,还对DS18B20的内部结构进行了详细的介绍。

15

4 系统的软件设计
系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算 温度子程序和显示数据刷新子程序等。

4.1 主程序
主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 测量当 前温度数值,温度测量每 1 秒进行一次。主程序需要调用 4 个子程序,分别为 数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序 [22] 。 各模块程序功能如下: ●数码管显示程序:向数码的显示送数,控制系统的显示部分。 ●温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和 显示。 ●报警子程序:进行温度上下限判断及报警输出。 主程序流程见图 8:

初始化

调用显示子程 N 是否到 1 s Y 初次上电 N 读温度值 温度计算处理

Y

温度转换命

图 8 主程序流程图
16

4.2 读出温度子程序
读出温度子程序的主要功能是读出 RAM 中的 9 字节。在读出时须进行 CRC 校验(Cyclical Redundancy Check 循环冗余校验) ,这是一种使用广泛、 检错能力很强的差错检测方法。它对数据进行多项式计算,并将得到的和数作 [23] 为这个文件的一个实用特征码 。校验有错时不进行温度数据的改写。其流 程如图 9 所示。

发 DS18B20 复位命令

发跳过 ROM 命令 N 发读取温度命令 CRC 校验正确? ? 读取操作,CRCY Y

N 9 字节完?

移入温度暂存器

结束 Y

图 9 读 DS18B20 流程图

4.3 温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令。 其流程如图 10 所示 [24] :

17

发 DS18B20 复位 命

发跳过 ROM 命令

发温度转换开始命令

结束

图 10 温度转换命令子程序流程图

4.4 计算温度子程序
计算温度子程序的主要功能是将 RAM 中读取值进行 BCD 码的转换运行, 并进行温度值正负的判定
[25]

。其流程如图 11 示。

开始

N 温度零下? 温度零下 ? 计算小数位温度 BCD 码 Y 温度值取补码 置“—”标志 置“+” 标志 计算整数位温度 BCD 码

结束 图 11 计算温度子程序流程

4.5 显示数据刷新子程序
显示数据刷新子程序的主要功能是对显示缓冲器中的显示数据进行刷新 操作,当最高数据显示位为 0 时,将符号显示位移入下一位 [26] 。
18

其流程如图 12 所示。

温度数据移入显示寄存器

N 十位数 0?

Y N 百位数 0? ?

Y 十位数显示符号 百位数不显示 百位数显示数据 (不显示符号)

结束

图 12 显示数据刷新子程序流程

4.6 本章小结
本章主要是对软件进行了设计,主要包括主程序、读出温度子程序、温度 转换命令子程序、计算温度子程序和显示数据刷新子程序等。软件的设计对于 整个设计来说非常重要,也是整个设计的难点,相比硬件设计来说较复杂。在 进行软件设计时需要翻阅很多相关书籍,上网查找相关资料。

19

结论

结论
经过四个多月的方案论证、系统的硬件和软件的设计、系统的调试。查阅 了大量的关于传感器、单片机及其接口电路、以及控制方面的理论。经过了一 番特殊的体验后,经历了失败的痛苦,也尝到了成功的喜悦。第一次靠用所学 的专业知识来解决问题。检查了自己的知识水平,使我对自己有一个全新的认 识。通过这次设计,不仅锻炼了自己分析问题、处理问题的能力,还提高了自 己的动手能力。这些培养和锻炼对于我们来说,是很重要的。 通过分析表明:本系统是一个性价比比较好的系统,不论对于生产者还是 使用者来说,它都可以带来好的经济效益。此设计设计成本较低,如果采用大 批量生产的话,生产成本会更低。本系统能够很稳定的控制温度而且稳定性很 高,只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动 控制。 这次设计基本完成了任务书的要求,实现了温度的控制。在本次设计中我 也学会了很多书本上所没有的知识。脚踏实地,认真严谨,实事求是的学习态 度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我 想这也是一次意志的磨练,是对我实际能力的一次升华,同时也将对我未来的 学习和工作产生巨大的影响。

20

参考文献

参考文献
[1]魏伟,胡玮,王永清.51 单片机 C 语言开发与应用技术案例详解[M].北京: 化学工业出版社.2010.177-192 [2]李广第,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版 社.2001:224-235 [3]余发山.单片机原理及应用技术[M].中国矿业大学出版社.2003.31-32 [4]康华光,陈大钦,张林.电子技术基础[M].高等教育出版社.2006.103-108 [5]李朝青.单片机原理及接口技术(简明修订版)[M].杭州:北京航空航天 大学出版社.1998 [6]李广第. 单片机基础[M].北京: 北京航空航天大学出版社.1994 [7] 廖 月 琴 . 基 于 AT89S51 单 片 计 数 字 温 度 计 的 设 计 [J]. 咸 宁 学 院 学 报.2010.12 [8]顾春禄,贾姝娟,刘茹敏.基于单片计的数字温度计设计[J].科协论坛(下 半月).2010.12 [9]韩志军, 刘新民.数字温度传感器 DS18B20 及其应用[J].南京工程学院 学报:自然科学版.2003(1) :9-14 [10]金伟正.单线数字温度传感器的原理与应用[J] .电子技术应用. 2000.(6) [11]徐敏.基于 AT89C51 单片机的数字温度计设计[J].数字技术与应 用.2009 [12] 龙 吉 . 基 于 AT89C2051 单 片 机 的 数 字 温 度 计 的 设 计 [J]. 科 学 之 友.2010.20 [13]马云峰.单片机与数字温度传感器 DS18B20 的接口设计[J].计算机测 量与控制. 2002.04 [14]江太辉,邓展威.DS18B20 数字式温度传感器的特性与应用[J].电子技 术. 2003.12 [15]郭铁桥.基于 DS18B20 的温度测量液晶显示系统[J].可编程控制器 与工厂自动化. 2008.12 [16]江太辉,邓展威.DS18B20 数字式温度传感器的特性与应用[J].电子技 术.2003.12 [17]柴卫华,何文昌,孙庆安.新型数字温度传感器 DS18B20 组成的温度巡 检系统[J].传感器世界 2001.01 [18]吴志忠,王克家,吴利予,刘彤.一种基于单线数字温度传感器 DS18B20 的储粮温度检测系统的设计[J]. 应用科技. 2001.07 [19]丁元杰主编.单片微机原理及应用[M].机械工业出版社.1994
21

参考文献

[20] 张 齐 , 杜 群 贵 编 著 . 单 片 机 应 用 系 统 设 计 技 术 [M]. 电 子 工 业 出 版 社 . 2004 [21]李光飞,李良儿,楼然苗等编著.单片机 C 程序设计实例指导[M].北京航 空航天大学出版社.2005 [22]Philips Semiconductors. The12C-B?s Specification Version (2.1).2000 [23]Dallas Semiconductor.DS2450 1-Wire Quad A/D Converer [24]DAVICOM.ISA Plug & Play Super Ethernet Controller.1997 [25]Dallas Seniconductor.M sing the DS2480B Serial 1-Wire Line Driver [26]Intel.Interfacing an MCS-51 Microcontroller to an 82527 CAN Controller

22

2 3 1

K K

3 8 K K K K K K

3 8

3 8

3 8

J1 PWR2.5 VCC DS3 DS2 DS1 LS1 Bell VCC Q1 QNPN R4 1K

7 6 4 2 1 9 10 5 a b c d e f g DP a b c d e f g DP a b c d e f g DP

a b c d e f g DP

7 6 4 2 1 9 10 5

7 6 4 2 1 9 10 5

7 6 4 2 1 9 10 5

VCC

DS4

VCC

C1

S1 10uF

SW-PB

附录

附录Ⅰ

硬件电路设计原理图

23
U3 DS18B20 R3 510 VCC GND VDD DQ R2 1 3 2 4.7k 1 C3 U1 AT89s51 VCC

VCC

1 2 3 4 5 6 7 8

16 15 14 13 12 11 10 9

P3_0

1 2 P3_1 3 4 P3_2 5 6 7

14 13 12 11 10 9 8 U2 74ls04 P3_3

R1

10K

2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1 GND VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PESN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

30pF 12MHZ XTAL C2

30pF

附录

附录Ⅱ
程序清单 //DS18B20 的读写程序,数据脚 P2.0

// // // //

//温度传感器 DS18B20 汇编程序,采用器件默认的 12 位转化 //最大转化时间 750 微秒,显示温度-55 到+125 度,显示精度 // //为 0.1 度,显示采用 4 位 LED 共阳显示测温值 //P1 口为段码输入,P3.0~P3.3 为位选 #include <reg52.h> #include <intrins.h> #define #define #define #define sbit sbit sbit sbit uint uchar Disdata P1 discan uint P3 unsigned int uchar unsigned char DQ=P2^0; DIN=P1^7; buzzer=P2^4; key1=P2^1; h, max=30,min=10; flag;

/***************************************************/ //_nop_();延时函数用 //段码输出口 //扫描口

//温度输入口 //LED 小数点控制 //蜂鸣器 //按键 //报警上下限

//**************温度小数部分用查表法***********// uchar code ditab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79 ,0x71,0x80}; // 0 e uchar 0x5e,0x79,0x71,0x80}; //共阴 LED 段码表 "0" "b" uchar code scan_con[4]={0x08,0x04,0x02,0x01}; uchar data temp_data[2]={0x00,0x00}; 据和一个运算暂用
24

1 f

2

3

4

5

6

7

8

9

a

b

c

d code

dis_7[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39, "1" "2" "3" "4" "5" "6" "7" "8" "9" "a"

//列扫描控制字 //读出温度暂放

uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共 4 个数

附录

/***********11 微秒延时函数**********/ // void delay(uint t) { for(;t>0;t--); } /***********显示扫描函数**********/ scan() { char k; for(k=0;k<4;k++) { Disdata=0xff; Disdata=dis_7[display[k]]; if(k==1){DIN=1;} else DIN=0; discan=scan_con[k]; delay(90); discan=0xff; } } // // /***********18B20 复位函数**********/ ow_reset(void) { char presence=1; while(presence) { while(presence) { DQ=1;_nop_();_nop_(); DQ=0; delay(50); DQ=1; // 550?s //四位 LED 扫描控制

25

附录

delay(6); presence=DQ; } delay(45); presence = ~DQ; } DQ=1; } // // /**********18B20 写命令函数*********/

// 66?s // presence=0 继续下一步 //延时 500?s

//向 1-WIRE 总线上写一个字节 void write_byte(uchar val) { uchar i; for (i=8; i>0; i--) { DQ=1;_nop_();_nop_(); DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ = val&0x01; delay(6); val=val/2; } DQ = 1; delay(1); } // /*********18B20 读 1 个字节函数********/ //从总线上读取一个字节 uchar read_byte(void) { uchar i; uchar value = 0; for (i=8;i>0;i--) { DQ=1;_nop_();_nop_(); value>>=1;
26

//5?s //最低位移出 //66?s //右移一位

附录

DQ = 0; _nop_();_nop_();_nop_();_nop_(); DQ = 1;_nop_();_nop_();_nop_();_nop_(); if(DQ)value|=0x80; delay(6); } DQ=1; return(value); } // /***********读出温度函数**********/ // read_temp() { ow_reset(); write_byte(0xCC); write_byte(0xBE); temp_data[0]=read_byte(); temp_data[1]=read_byte(); ow_reset(); write_byte(0xCC); write_byte(0x44); } // /***********温度数据处理函数**********/ void work_temp() { uchar n=0; uchar doth,dotl; uchar flag3=1,flag2=1; if((temp_data[1]&0xf8)!=0x00) { temp_data[1]=~(temp_data[1]); temp_data[0]=~(temp_data[0])+1; n=1; flag=1; }
27

//4?s //4?s //66?s

//总线复位 // 发 Skip ROM 命令 // 发读命令 //温度低 8 位 //温度高 8 位 // Skip ROM // 发转换命令

//数字显示修正标记

//负温度求补码

附录

if(temp_data[0]>255) { temp_data[1]++; } display[4]=temp_data[0]&0x0f; display[0]=ditab[display[4]]; doth=display[0]/10; dotl=display[0]%10; display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x07)<<4); display[3]=display[4]/100; display[2]=display[4]%100/10; display[1]=display[4]%10; if(!display[3]) { display[3]=0x00; flag3=0; if(!display[2]) { display[2]=0x00; flag2=0; } } if(display[4]>max||display[4]<min) buzzer=0; if(key1==0) buzzer=1; else delay(1000); buzzer=1; if(n) { display[3]=0x0b; flag3=0; } } //负温度时最高位显示"-" //最高位为 0 时都不显示

28

附录

/**************主函数****************/ main() { Disdata=0xff; discan=0xff; for(h=0;h<4;h++){display[h]=8;} ow_reset(); write_byte(0xCC); write_byte(0x44); for(h=0;h<500;h++) {scan();} while(1) { read_temp(); work_temp(); scan(); //读出 18B20 温度数据 //处理温度数据 //显示温度值 2 秒 //开机显示"8888"2 秒 //开机显示 8888 // 开机先转换一次 // Skip ROM // 发转换命令 //初始化端口

} }

29

附录

附录Ⅲ
元件清单

序号

品名

规格型号

数量

1

按键式开关

1

2

驱动

74ls04

1

3

电解电容

5v/10uf

1

4

单片机

AT89S51

1

5

数码管

4 位共阴极数码管

1

6

温度传感器

DS18B20

1

7

石英晶振

12.000Hz

1

8

瓷片电容

30

2

9

发光二极管

5

10

电阻

510K

8

11

电阻

1K

4

30

12

电阻

1.5K

1

13

电阻

4.7K

1

14

电阻

5K

1

31


相关文章:
基于DS18B20 +89C52单片机的数字温度计设计)
本文是基于 AT89C52 单片机,采用数字温度传感器 DS18B20,利用 DS18B20 不需要 A/D 转换,课直接进行温度采集显示,报警的数字温度计设计。包括传感 器数据采集电路...
基于DS18B20 数字温度计设计
《测控系统原理与设计》课程设计 课题:基于 DS18B20 数字温度计设计 班级 学生姓名 专业 系别 指导教师 学号 测控技术与仪器 测控系杨银贤 李华 淮阴工学院 电子...
基于DS18B20温度计课程设计报告
课程设计任务书 设计题目: 基于 DS18B20 和 1602 的温度计 设计内容与要求:设计内容:采用 STC89C51 单片机,DS18B20 数字温度采集器件,单 总线驱动等电路设计制作...
基于DS18B20的温度测量系统设计
课程设计(论文) 题目名称课程名称学生姓名学系 、专号业 基于 DS18B20 温度测量...个基于 STC89C52 单片机的测 温系统, 详细描述了利用数字温度传感器 DS18B20 ...
基于51单片机的DS18B20数字温度计的设计
本次采用 DS18B20 数字温度传感器来实现基于 51 单片机的数字温度计设计。 传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用 集成温度...
基于DS18B20的数字温度计设计
DS18B20 采集温度 复位按键电路 外部晶振电路 中断电路 单片机 AT89S51 主控部分 LED 显示温度值 图 3-1 四、硬件设计 1、硬件设计图见附件。 数字温度计设计...
基于ds18b20的数字温度计设计_图文
设计目的(基于 ds18b20 的数字温度计设计) 课程设计是单片机课程教学的最后一个环节, 是对学生进行全面的系统的训 练, 让学生把学过的比较零碎的知识系统化, ...
基于ds18b20数字温度计的设计
基于ds18b20数字温度计的设计_城乡/园林规划_工程科技_专业资料。基于 DS18B20 数字温度计的设计 六位数码管电子钟 摘要 数字钟是一个将“ 时”,“分”,“秒...
基于DS18B20的数字温度计设计
基于DS18B20的数字温度计设计_工学_高等教育_教育专区。***综合性设计实验 开题报告 实验题目: 专业班级:___ 学生姓名: 学号: ___ 数字温度计设计___ ___...
开题报告基于DS18B20数字温度计的设计_图文
XXXX 大学综合电子课程设计 开 题 报 告 设计项目: 基于 DS18B20 的数字温度计设计 一、立论依据 1.项目的研究意义(限 200 字) 温度数我们日常生产和生活...
更多相关标签: