- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
陳慶逸、林柏辰編著---文魁資訊 ARM嵌入式系统 项目十 8路温度采集监控系统 计算机控制项目实战 DS18B20引脚功能 DS18B20通过一个单线接口发送或接收信息,因此在单片机和DS18B20之间仅需一条连接线(加上地线)。 DS18B20供电方式 寄生电源方式 是在信号线处于高电平期间把能量储存在内部寄生电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 外部供电方式 外部供电方式是从VDD引脚接入一个外部电源。 DS18B20内部结构及功能 主要包括: 寄生电源、温度传感器、64位ROM和单总线接口、存放中间数据的高速暂存器RAM、用于存储用户设定温度上下限值的TH和TL触发器、存储与控制逻辑、8位循环冗余校验码(CRC)产生器、配置寄存器等部分。 64位光刻ROM 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地址序列码。 64位光刻ROM的排列是: 开始8位(28H)是产品类型标号; 接着的48位是该DS18B20自身的序列号; 最后8位是前面56位的循环冗余校验码。 光刻ROM的作用是使每一个 DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 温度传感器 完成对温度的测量,以12位转化为例: 用16位符号扩展的二进制补码读数形式提供; 这是12位转化后得到的12位数据,存储在两个8比特的RAM中,二进制中的前面5位是符号位。 如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度; 如果温度小于0,这 5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 温度/数据转换关系 存储器 暂存存储器包含了8个连续字节 第一个字节的内容是温度的低八位,第二个字节是温度的高八位。 第三个和第四个字节是TH、TL 的易失性拷贝,第五个字节是配置寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。 第六、七、八个字节用于内部计算。 第九个字节是冗余检验字节。 一个非易失性的可电擦除的EEPROM,后者存放高温度和低温度触发器TH、TL和配置寄存器。 配置寄存器 配置寄存器字节各位的意义如下: 低五位一直都是1。 TM用于设置DS18B20在工作模式还是在测试模式。出厂时该位被设置为0,用户不要去改动。 R1和R0用来设置分辨率,出厂时被设置为12位。 DS18B20通讯协议 通过单线总线端口访问DS18B20的协议主要包括 初始化; ROM操作命令; 存储器操作命令及执行/数据。 初始化 和DS18B20之间的任何通讯都需要以初始化序列开始。 初始化序列包括一个由总线控制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。 DS18B20初始化代码如下: void Init_DS18B20(void) { DQ = 1; //DQ复位 Delay(8); //稍做延时 DQ = 0; //单片机将DQ拉低 Delay(80); //精确延时大于480us DQ = 1; //拉高总线,释放总线 Delay(14); Delay(20); } ROM 操作命令 一旦总线控制器探测到一个存在脉冲,它就可以发出5个ROM命令中的任一个,所有ROM操作命令都8位长度。 Read ROM[33h] Match ROM[55h] Skip ROM[CCh] 这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下用以节省时间。 例如:向DS18B20写一个dat=0xCC字节,跳过读序列号的操作,代码如下: void WriteOneChar(unsigned char dat) { unsigned char i=0; for (i=8; i0; i--) { DQ = 0; DQ = dat0x01;//先写低位 Delay(5); DQ = 1; dat=1; } } Search ROM[F0h] Alarm Search[ECh] 这条命令和Search ROM相同,只有在最近一次测温后遇到符合报警条件的情况,DS18B20才会响应这条命令。 报警条件定义为温度高于TH或低于TL。 只要DS18B20不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。 存储器操作命令 Write Scratchpad[4E] 这个命令向DS18B20的暂存器中写入数据,开始位置在地址2。 接下来写入的两个字节将被存到暂存器中的地址位置2和3。 可以在任何时刻发出
文档评论(0)