logo资料库

基于51单片机及DS18B20温度传感器的数字温度计设计.doc

第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
资料共37页,剩余部分请下载后查看
1 概 述
1.1系统概述
2 系统总体方案及硬件设计
2.1 系统总体方案
2.1.1系统总体设计框图
2.1.2各模块简介
2.2 系统硬件设计
2.2.1 单片机电路设计
2.2.2 DS18B20温度传感器电路设计
2.2.3 显示电路设计
2.2.4 按键电路设计
2.2.5 报警电路设计
3 软件设计
3.1 DS18B20程序设计
3.1.1 DS18B20传感器操作流程
3.1.2 DS18B20传感器的指令表
3.1.3 DS18B20传感器的初始化时序
3.1.4 DS18B20传感器的读写时序
3.1.5 DS18B20获取温度程序流程图
3.2 显示程序设计
3.3 按键程序设计
4实物制作及调试
5电子综合设计体会
参考文献
附1 源程序代码
附2 系统原理图
基于 51 单片机及 DS18B20 温度传感器 的数字温度计设计 www.zicreate.com
欢迎访问知创学院(zicreate.com)。知创学院,致力于打造一款 智能硬件及物联网相关开发技术的在线教育平台。知创学院会陆续发 布更新 Wifi、Zigbee、Bluetooth、OpenWrt、Linux、Arm、Sch&PCB... 等开发课程及套件,敬请关注。
基于 51 单片机及 DS18b20 温度传感器的数字温度计设计 摘 要 本设计采用的主控芯片是 ATMEL 公司的 AT89S52 单片机,数字温度传感器是 DALLAS 公司的 DS18B20。本设计用数字传感器 DS18B20 测量温度,测量精度高,传感器体积小,使 用方便。所以本次设计的数字温度计在工业、农业、日常生活中都有广泛的应用。 单片机技术已经广泛应用社会生活的各个领域,已经成为一种非常实用的技术。51 单片 机是最常用的一种单片机,而且在高校中都以 51 单片机教材为蓝本,这使得 51 单片机成为 初学单片机技术人员的首选。本次设计采用的 AT89S52 是一种 flash 型单片机,可以直接在 线编程,向单片机中写程序变得更加容易。本次设计的数字温度计采用的是 DS18B20 数字温 度传感器,DS18B20 是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优 点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。 本设计根据设计要求,首先设计了硬件电路,然后绘制软件流程图及编写程序。本设计 属于一种多功能温度计,温度测量范围是-55℃到 125℃。温度值的分辨率可以被用户设定为 9-12 位,可以设置上下限报警温度,当温度不在设定的范围内时,就会启动报警程序报警。 本设计的显示模块是用四位一体的数码管动态扫描显示实现的。在显示实时测量温度的模式 下还可以通过查询按键查看设定的上下限报警温度。 关键词:单片机、数字温度计、DS18B20、AT89S52
基于 51 单片机及 DS18b20 温度传感器的数字温度计设计 目 录 1 概 述 ................................................................................................................................................................... - 1 - 1.1 系统概述 ................................................................................................................................................... - 1 - 2 系统总体方案及硬件设计 .................................................................................................................................- 2 - 2.1 系统总体方案 .......................................................................................................................................... - 2 - 2.1.1 系统总体设计框图 ........................................................................................................................- 2 - 2.1.2 各模块简介....................................................................................................................................- 2 - 2.2 系统硬件设计 .......................................................................................................................................... - 5 - 2.2.1 单片机电路设计 ...........................................................................................................................- 5 - 2.2.2 DS18B20 温度传感器电路设计 ...................................................................................................- 6 - 2.2.3 显示电路设计 ...............................................................................................................................- 6 - 2.2.4 按键电路设计 ...............................................................................................................................- 7 - 2.2.5 报警电路设计 ...............................................................................................................................- 8 - 3 软件设计............................................................................................................................................................. - 9 - 3.1 DS18B20 程序设计 .................................................................................................................................. - 9 - 3.1.1 DS18B20 传感器操作流程 ...........................................................................................................- 9 - 3.1.2 DS18B20 传感器的指令表 ...........................................................................................................- 9 - 3.1.3 DS18B20 传感器的初始化时序 .................................................................................................- 10 - 3.1.4 DS18B20 传感器的读写时序 .....................................................................................................- 10 - 3.1.5 DS18B20 获取温度程序流程图 .................................................................................................- 11 - 3.2 显示程序设计 ........................................................................................................................................ - 13 - 3.3 按键程序设计 ........................................................................................................................................ - 13 - 4 实物制作及调试 ................................................................................................................................................- 14 - 5 电子综合设计体会 ............................................................................................................................................- 15 - 参考文献 ............................................................................................................................................................... - 15 - 附 1 源程序代码 ................................................................................................................................................ - 17 - 附 2 系统原理图 ................................................................................................................................................ - 32 -
基于 51 单片机及 DS18b20 温度传感器的数字温度计设计 1 概 述 1.1 系统概述 本系统所设计的数字温度计采用的是 DS18B20 数字温度传感器测温,DS18B20 直接输出 的就是数字信号,与传统的温度计相比,具有读数方便,测温范围广,测温准确,上下限报 警功能。其输出温度采用 LED 数码管显示,主要用于对测温比较准确的场所。 该设计控制器使用的是 51 单片机 AT89S52,AT89S52 单片机在工控、测量、仪器仪表 中应用还是比较广泛的。测温传感器使用的是 DS18B20,DS18B20 是一种可组网的高精度数 字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并 可使多点温度测量电路变得简单、可靠。显示是用 4 位共阴极 LED 数码管实现温度显示,LED 数码管的优点是显示数字比较大,查看方便。蜂鸣器用来实现当测量温度超过设定的上下限 时的报警功能。 www.zicreate.com - 1 -
基于 51 单片机及 DS18b20 温度传感器的数字温度计设计 2 系统总体方案及硬件设计 2.1 系统总体方案 2.1.1 系统总体设计框图 由于 DS18B20 数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感 器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用 DS18B20 数字温度 传感器测量温度。 温度计电路设计总体设计框图如图 2-1 所示,控制器采用单片机 AT89S52,温度传感器 采用 DS18B20,显示采用 4 位 LED 数码管,报警采用蜂鸣器、LED 灯实现,键盘用来设定 报警上下限温度。 图 2-1 温度计电路总体设计框图 2.1.2 各模块简介 1.控制模块 AT89S52 单片机是美国 ATMEL 公司生产的低功耗,高性能 CMOS 8 位单片机,片内含 有 8kb 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存 储技术生产,兼容标准 8051 指令系统及引脚。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程的 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗 定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行 口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选 择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个 中断或硬件复位为止。 2.显示模块 显示电路采用 4 位共阴 LED 数码管,从 P0 口输出段码,P2 口的高四位为位选端。用动 态扫描的方式进行显示,这样能有效节省 I/O 口。 www.zicreate.com - 2 -
3.温度传感器模块 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感 基于 51 单片机及 DS18b20 温度传感器的数字温度计设计 器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过 简单的编程实现 9~12 位的数字值读数方式。DS18B20 的性能特点如下:独特的单线接口仅 需要一个端口引脚进行通信;多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能; 无须外部器件;可通过数据线供电,电压范围为 3.0~5.5v;零待机功耗;温度以 9 或 12 位 二进制数字表示;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度 报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常 工作; DS18B20 采用 3 脚 TO-92 封装或 8 脚 SO 或µSOP 封装,其其封装形式如图 2-2 所示。 图 2-2 DS18B20 的封装形式 DS18B20 的 64 位 ROM 的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的 序号,共有 48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一 线进行通信的原因。温度报警触发器 TH 和 TL,可通过软件写入户报警上下限。 DS18B20 温度传感器的内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦 除的 EEPRAM。高速暂存 RAM 的结构为 8 字节的存储器,结构如图 2-3 所示。 www.zicreate.com - 3 -
基于 51 单片机及 DS18b20 温度传感器的数字温度计设计 图 2-3 DS18B20 的高速暂存 RAM 的结构 头 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝是易失的,每次上 电复位时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率, DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值,该字节各位的定义如表 2-1 所示。 D7 TM D6 R1 D5 R0 表 2-1:配置寄存器 D2 1 D3 1 D4 1 D1 1 D0 1 配置寄存器的低 5 位一直为 1,TM 是工作模式位,用于设置 DS18B20 在工作模式还是 在测试模式,DS18B20 出厂时该位被设置为 0,用户要去改动,R1 和 R0 决定温度转换的精 度位数,来设置分辨率,“R1R0”为“00”是 9 位,“01”是 10 位,“10”是 11 位,“11”是 12 位。当 DS18B20 分辨率越高时,所需要的温度数据转换时间越长。因此,在实际应用中 要将分辨率和转换时间权衡考虑。 高速暂存 RAM 的第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节读出前面所有 8 字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。 当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带 符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线接口 www.zicreate.com - 4 -
分享到:
收藏