欢迎来到天天文库
浏览记录
ID:24751709
大小:248.05 KB
页数:10页
时间:2018-11-15
《DSB温度传感器温控系统Proteus仿真.docx》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、安徽理工大学机械电子工程基于DS18B20温度传感器温控系统的Proteus仿真DS18B20温度传感器是美国DALLAS半导体公司推出的支持“一线总线”接口的传感器。具有功耗低、性能高、抗干扰能力强的特点,可以直接将温度转化为串行数字信号供处理器处理。DS18B20传感器具有以下一些特性:(1)测温范围-55℃至+125℃,在-10℃至+85℃时的精度为正负0.5℃;(2)适应电压的范围在3.0至5.5V;(3)单线接口,只用一条口线就可以与微处理器的双向通信;(4)支持多点组网,多个DS18B20并接在一根口线上就可实现多点测温;(5)测量结果直接输出
2、数字温度信号,通过单线串行传输给微处理器;(6)具有负压特性,电源极性接反芯片不会烧坏,只是不能正常工作;(7)可编程分辨率为9至12位,对应的分辨温度分别是0.5℃,0.25℃,0.125℃,0.0625℃,能够实现高精度测温。(8)在9位分辨率时可在93.75ms内把温度值转换为数字;在12位分辨率时可在750us内把温度值转换为数字;(9)传送数据时可传送CRC校验码,抗干扰纠错能力强。DS18B20的引脚封装图如下:各引脚定义如下:10/10来自jasmine。email:zkchen@aust.edu.cn安徽理工大学机械电子工程GND:电源地D
3、Q:信号输入输出VDD:电源正极NC:空DS18B20单总线技术:DS18B20采用单条信号线,既可以传输数据,也可以传输时钟。其数据传输是双向的,这种单总线技术线路简单,硬件开销小,成本低廉,便于总线扩展与维护。单总线通常需要外接一个4.7K的上拉电阻。它与处理器的连接非常简单,通常连接方式如下图:DQ端外接一个上拉电阻,与处理器的任一端口连接。DS18B20工作原理1.ROM功能命令(1)[33H]ReadROM读ROM。把DS18B20传感器的ROM中编码读出来。(2)[55H]MatchROM匹配ROM。发出该命令接着会发送64位包含具体DS18B
4、20序列号的ROM编码,与该编码序列号相同的DS18B20就会做出响应,序列号不匹配的DS18B20继续等待,不做响应。由于不同的DS18B20序列号不一样,所以通过该命令可以访问控制具体的DS18B20。(3)[F0H]SearchROM搜索ROM。用于识别各个DS18B20的64位ROM。(4)[CCH]SkipROM跳过ROM。当只有一个DS18B20时,使用该命令可以忽略64位ROM地址,直接向DS18B20发送温度变换命令。10/10来自jasmine。email:zkchen@aust.edu.cn安徽理工大学机械电子工程(5)[ECH]Ala
5、rmSearch告警搜索。执行后,温度超出上限或者下限的芯片做出响应。主机与多个DS18B20连接,要对众多在线DS18B20的某一个进行通信,首先要逐个与DS18B20连接,读出其序列号;然后将所有的DS18B20挂接到总线上,单片机发出匹配指令55H,接着主机提供64位序列,之后就可以与序列号相应的DS18B20进行数据交换。主机与单个DS18B20连接时,不需要读取或者匹配ROM,只要使用跳过指令CCH,就可以进行数据转换和读取操作。(1)[44H]ConvertT温度转换。启动DS18B20进行温度转换。12位精度转换时最长为750ms,转换结束后
6、将数据存入内部9字节的RAM。(2)[4EH]WriteScratchpad写暂存器。发出该命令后,将两字节的数据写入内部RAM的第2、3字节,作为上、下限温度数据。(3)[BEH]ReadScratchpad读暂存器。读取内部9字节的温度数据。(4)[48H]CopyScratchpad复制暂存器。将RAM中的第2、3字节的内容复制到E2PROM。(5)[B8H]RecallE2重调E2PROM。将E2PROM内容恢复到RAM中的第3、4字节。(6)[B4H]ReadPowerSupply读供电方式。读取DS18B20的供电模式。2.工作时序图(1)初始
7、化Step1:数据线置低电平Step2:延时800us左右(时间范围为480us至960us)Step3:数据线拉高电平Step4:延时40us左右(时间范围为15us至60us)(2)读数据逐位读取数据,然后把8位数据组成1个字节。编写程序时分为两个部分10/10来自jasmine。email:zkchen@aust.edu.cn安徽理工大学机械电子工程,一个实现读取一位数据,另一个实现读取一个字节数据。读取数据步骤:Step1:数据线置低电平Step2:延时5us左右(大于1us即可)Step3:数据线拉高电平Step4:延时10us左右(这次延时和第
8、一次延时之和接近15us左右)Step5:读取一位数据Step6:
此文档下载收益归作者所有