- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学
1
第 单总线温传感器
33.2 单总线温度传感器DS18S20
DS18S20是一种典型的1-Wire总线接口温度传感器,由Dallas Semiconductor公司生产。DS18S20数字温度传感器提供了9位高精度的摄氏温度测量,同时具有非易失性、用户可编程上下触发门限的报警功能。由于其独特的1-Wire总线接口,使得其可以占用极少的I/O引脚资源,使用起来十分方便。
第1页/共12页
33.2.1 温度传感器DS18S20概述
DS18S20采用带隙温度检测结构,是DS1820的升级产品。DS18S20内部有3个主要部件:64位激光刻制的唯一ROM序列号、温度传感器以及非易失性温度报警触发器TH和TL。DS18S20通过1-Wire总线结构,仅需一个引脚即可实现数据的发送或接收。另外,用于DS18S20的供电电源可以从数据线本身获得,无须外部电源。每个DS18S20在出厂时都有唯一的一个ROM序列号,可以将多个DS18S20同时连在一根单总线上,从而实现多点分布温度测量。
第2页/共12页
33.2.2 DS18S20的供电方式
DS18S20可以采用两种供电方式,即外部供电方式和寄生电源供电方式。如果采用外部供电方式,如图所示。此时DS18S20可以外接3.3V或者5V的电源,而GND引脚必需接地。
如果采用寄生电源供电方式,如图所示。此时,DS18S20的VDD引脚必须接地。另外为了得到足够的工作电流,应给1-Wire线提供一个强上拉,一般可以使用一个场效应管将I/O线直接拉到电源上。DS18S20从1-Wire单总线上汲取能量,在信号线DQ处于高电平期间把能量存储在内部电容里,在信号线DQ处于低电平期间消耗电容上的电量工作,直到高电平到来,再给DS18S20内部的寄生电源充电。
第3页/共12页
33.2.3 DS18S20的数据操作
1-Wire总线将通信时使用的引脚减少到只有1根,在数据传输时需要满足特定的格式才能进行。1-Wire总线通信的第一步是选择1-Wire设备,然后1-Wire主机发送各种命令来进行数据传输。
1.ROM操作命令
2.存储器操作命令
3.温度转换操作
第4页/共12页
33.3 单片机读写温度传感器DS18S20实例
一般的51系列单片机没有集成1-Wire总线控制器,因此常采用软件模拟的方法来实现。这里介绍如何使用51系列的单片机来读写1-Wire总线温度传感器DS18S20。
第5页/共12页
33.3.1 电路图
这里采用AT89S52单片机来读写温度传感器DS18S20。系统电路图,如图所示。
第6页/共12页
33.3.2 建立项目
首先在Keil μVison3集成开发环境中建立项目,具体操作步骤如下:
(1)首先打开μVison3,在μVison3中,选择“Project”→“New” →“μVison Project”命令,新建一个工程,并保存。
(2)在弹出的选择器件对话框中选择Atmel公司的AT89S52,如图33.10所示。
(3)单击“确定”按钮,此时弹出“μVison3”对话框,如图33.11所示。单击“是”按钮,完成工程的建立。
(4)选择“File”→“New”命令,新建一个程序文件,并保存为*.C文件,可以在其中输入程序代码。
第7页/共12页
33.3.3 DS18S20读写子函数
对于DS18S20的操作需要严格遵守1-Wire总线协议。这里将DS18S20所支持的ROM操作命令、存储器操作命令等封装为子函数,方便调用。
1.延时函数
2.复位函数
3.位写入函数
4.字节写入函数
5.位读取函数
6.字节读取函数
7.读取ROM代码函数
8.CRC校验函数
9.搜索器件函数
10.搜索第一个器件函数
11.读取暂存器函数
12.查找器件函数
13.读取温度函数
第8页/共12页
33.3.4 主函数
这里通过AT89S52来作为1-Wire的主机,定义P2.0引脚为1-Wire的数据总线。主函数中首先初始化串行口为模式1,波特率为4800bit/s。接着通过while循环语句来扫描串口输入,根据输入数据来调用函数执行不同的功能。
第9页/共12页
33.3.5 程序仿真
Keil μVison3集成开发环境提供了很好的信号仿真功能,下面就利用其进行程序的仿真分析。具体操作步骤如下:
(1)在Keil μVison3集成开发环境中,选择“Debug”→“Start/Stop Debug Session”命令,进入仿真分析模式。
(2)选择“Peripherals”→“Serial”命令,打开“串口仿真”接口。
(3)选择“Debug”→“Go”命令,开始执行仿真。
(4)此时,在串行仿真接口中便输出DS18S20的控
原创力文档


文档评论(0)