第十五章 宝马1768——DS18B20温度检测实验开发环境:集成开发环境μVision4 IDE版本4.60.0.0
主机系统:Microsoft Windows XP
开发平台:旺宝NXP LPC1768开发板
15.1 EEPROM
15.2 硬件描述
15.3 程序说明
15.4 实验现象
1、DS18B20:DS18B20 是由 DALLAS 半导体公司推出的一种的“单总线”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。测量温度范围为-55~+125℃ ,精度为±0.5℃。它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9~12 位的数字值读数方式。它工作在 3—5.5 V 的电压范围,采用多种封装形式,从而使系统设计灵活、方便,
设定的分辨率及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。
2、硬件说明:由于宝马1768开发板上标准配置是没有 DS18B20 这个传感器的,只有接口,所以要做本章的实验,大家必须找一个 DS18B20 焊接到预留的 18B20 接口上。本节实验是读取DS18B20的温度通过串口2打印出温度同时把温度值显示在3.2寸 LCD 上。
因为开发板P2.9与ds18b20数据脚、485_RX脚共用,所以我们要用跳线把P2.9与18b20的数据脚短接起来。
3、程序说明:
打开我们的Ds18b20实验的工程,可以看到工程里添加了 Ds18b20.c 文件以及其
头文件 Ds18b20.h 文件,所有 Ds18b20 驱动代码和相关定义都分布在这两个文件中。
根据18b20的通信协议,主机控制18b20完成温度转换必须经过3个步骤:每一次对18b20读写前都要进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对18b20进行预订的操作。对于18b20 的读写时序,我们可自行打开相关资料,对着其操作时序进行读写操作。
然后我们打开 ds18b20.h,该文件下面主要是一些 IO 口位带操作定义以及函数申明,没有什么需要特别讲解的地方。最后打开 main.c,
主函数里是一系列初始化过后,用串口2打印字符串和在LCD上显示相关信息,然后在循环里读取温度,打印并显示在3.2寸LCD上。
4、实验现象: