《嵌入式操作系统及ARM Cortex-MO》课件第十一章.pptx

《嵌入式操作系统及ARM Cortex-MO》课件第十一章.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第十一章 智能温度检测报警系统; 美信公司的DS18B20芯片是最常用的温度传感器,工作在单一总线模式下,称作“一线”芯片,

只占用LPC824的一个通用I/O口,测温精度为±0.5℃,表示测量结果的最高精度为0.0625℃,主

要用于测温精度要求不高的环境温度测量。本节介绍了DS18B20芯片的单总线访问工作原

理,11.3小节介绍了温度实时测量与显示的程序设计方法。

本节内容参考自DS18B20芯片手册。

DS18B20是一款常用的温度传感器,只有3个管脚,即电源VDD、地GND和双向数据口DQ。根据

第三章图3-7可知,在LPC824学习板上,将P1的第2、3脚用跳线短接后,DS18B20的DQ与LPC824的

PIO0_12相连接。DS18B20的测温精度为±0.5℃(10~85℃间),可用9~12位表示测量结果,默

认情况下,用12位表示测量结果,数值精度为0.0625℃。

DS18B20内部集成的快速RAM结构如图11-1所示。

图11-1 DS18B20存储配置; 在图11-1中8位的配置寄存器只有第6位R1和第5位R0有意义(第7位必须为0,第0~4位必须为

1),如果R1∶R0=11b时,用12位表示采样的温度值,数据格式如图11-2所示。

图11-2 温度值数据格式

图11-2中,S表示符号位和符号扩展位,1表示负,0表示正;其余位标注了各位上的权值。例

如,0000000110010001b表示25.0625。

在图11-1中字节0和字节1用于保存温度值,字节2和字节3分别对应着TH寄存器和TL寄存器,

用于表示高温报警门限和低温报警门限,如果不使用温度报警命令,这两个字节可用作用户存

储空间。字节8为CRC检验码,用于检验读出的RAM数据的正确性。DS18B20CRC校检使用的生成

函数为x8+x5+x4+1。例如,读出RAM的9个字节的值依次为:0xDD、0x01、0x4B、0x46、0x7F、

0xFF、0x03、0x10和0x1E,其中0x1E为CRC检验码,当前温度值为0x01DD,即29.8125℃。

DS18B20的常用操作流程如图11-3所示。

图11-3请看下页;

图11-3 DS18B20的常用操作流程

在图11-3中,DS18B20的复位时序如图11-4所示。

图11-4 DS18B20复位时序

; 在图11-4中,将LPC824的PIO0_12口设为输出口,输出宽度为480μs的低电平,然后,将

PIO0_12口配置为输入模式,等待约60μs后,可以读到低电平,再等待420μs后,DS18B20复位完

成。在图11-3中当DS18B20复位完成后,LPC824向DS18B20发送0xCC,该指令跳过ROM指令,再发

送0x44,启动温度转换??在12位的数据模式下,DS18B20将花费较多的时间完成转换(最长为

750ms),在转换过程中,DQ被DS18B20锁住为0,当转换完成后,DQ被释放为1。LPC824的PIO0_12

口读取DQ的值,直到读到1后,才进行下一步的操作。然后,再一次复位DS18B20,发送0xCC指令

给DS18B20。最后,发送0xBE指令,启动读RAM的9个数据,接着读出RAM中的9个字节,其中前2个

字节为温度值。

DS18B20位的读写时序如图11-5所示。

图11-5 DS18B20位读写时序; 图11-5给出了LPC824读写DS18B20的位访问时序,对于写而言:令LPC824的PIO0_12为输出口,

先输出15μs宽的低电平,然后输出所要求输出的电平(0或1),等待15μs后DS18B20将识别

LPC824芯片PIO0_12输出的位的值,再等待30μs后才能进行下一个位操作。对于读时序:当

LPC824读DS18B20时,首先令PIO0_12为输出口,输出2μs宽的低电平,然后,将PIO0_12配置为输

入模式,等待6μs后读出值,此时读到的值即为DS18B20的DQ输出值,然后,再等待52μs后,才能

进行下一个位操作。; 拟基于LPC824学习板设计具有以下功能的智能温度检测报警器:

(1)在LCD屏上实时显示温度值,精确度为0.5℃。

(2)可设定温度报警的上限值,报警温度精确度为1℃。

(3)当温度实时值超过设定的上限值时,蜂鸣器响以报警;当温度值低于设定的上限值时,蜂

鸣器将自动关闭。

; 在项目ZLX16的基础上新建项目ZLX23,保存在目录D:\ZLXLPC824\ZLX23下,此时的项目ZLX23

与项目ZLX16相同。下面按表11-1所示修改项目ZLX23。

表11-1 项目ZLX23在ZLX16的基础上的改动

;11.3 智能温度检测报警系统程序设计;11.3 智能温度检测报警系统程序设计

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档