欢迎来到天天文库
浏览记录
ID:40209880
大小:1.87 MB
页数:46页
时间:2019-07-26
《数字温度控制器的设计与制作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/8/41项目8数字温度控制器的设计与制作掌握单总线数字温度传感器的使用掌握液晶显示器的使用掌握温度报警器及数字温度控制器的设计本章要点:2021/8/428.1任务1认识单总线1-wire,即单线总线,又叫单总线。它是美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)近年来推出的一项特有的技术。该技术采用单根信号线,系统中的数据交换、控制都由这根线完成,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。1.单总线数字温度传感器DS18B20DS18B20是美国
2、DALLAS公司生产的单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微机处理,在一条总线上可挂接多个DS18B20芯片。单总线通常要求外接一个约为4.7kΩ的上拉电阻,当总线闲置时,其状态为高电平。DS18B20数字温度传感器可提供9~12位温度读数。读取或写入DS18B20的信息仅需一根总线,总线本身可以向所有挂接的DS18B20芯片提供电源,而不需额外的电源。由于DS18B20这一特点,非常适合于温度检测系统。(1)DS18B20的优点采用单总线的接口方式。与微处理器连接时,仅需要一条口线即可实现微处理器与DS18B20的双向通信。每个器件上都有
3、独一无二的序列号。测量温度范围宽,测量精度高。在使用中不需要任何外围元件即可实现测温。内部有温度上、下限告警设置。支持多点组网功能。供电方式灵活。测量参数可配置。负压特性。掉电保护功能。体积小、适用电压宽、更经济。(2)DS18B20芯片结构DS18B20外形和引脚图如8-1所示,各引脚功能如表8-1所示:图8-1DS18B20外形和引脚配置图表8-1DS18B20引脚功能DS18B20内部结构如图8-2所示。图8-2DS18B20内部结构图光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。第一个八位为单总线器件识别码(DS
4、18B20为28h),接下来48位是器件的惟一系列码,最后八位是前56位的CRC校验码。每个DS18B20的序列号都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。2.传感器的读写时序由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。包括初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的一线工作协议流程是:初始
5、化→ROM操作指令→存储器操作指令→数据传输。(1)初始化时序DS18B20初始化时序如图8-3所示。图8-3DS18B20初始化时序图(2)对DS18B20的写和读操作时序DS18B20的读和写操作时序分别如图8-4、8-5所示。图8-4DS18B20读操作时序图图8-5DS18B20写操作时序图3.传感器的操作使用DS18B20单线通信功能是分时完成的,它有严格的时隙概念,如果出现序列混乱,1-WIRE器件将不响应主机,因此读写时序很重要。根据DS18B20的协议规定,微控制器控制DS18B20完成温度的转换必须经过以下几个步骤:(1)每次读写前对DS18B
6、20进行复位初始化。复位要求主CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待16us~60us左右,然后发出60us~240us的存在低脉冲,主CPU收到此信号后表示复位成功。(2)发送一条ROM指令DS18B20的ROM指令集如表8-2所示:表8-2DS18B20的ROM指令集(3)发送存储器指令DS18B20的存储器指令集如表8-3所示:表8-3DS18B20的存储器指令集DS18B20进行一次温度转换的具体操作如下:1)主机先作个复位操作2)主机再写跳过ROM的操作(CCH)命令3)然后主机接着写个转换温度的操作命令,后面释放总线至少
7、一秒,让DS18B20完成转换的操作。在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为11001100,在写到总线上时要从低位开始写,写的顺序是“0、0、1、1、0、0、1、1”。整个操作的总线状态如下图8-6所示。图8-6DS18B20进行一次温度转换的状态图读取RAM内的温度数据的具体操作如下:1)主机发出复位操作并接收DS18B20的应答(存在)脉冲。2)主机发出跳过对ROM操作的命令(CCH)。3)主机发出读取RAM的命令(BEH),随后主机依次读取DS18B20发出的从第0一第8,共九个字节的数据。如果只想读取温度数据,那在读
8、完第0和第1个数据后就不
此文档下载收益归作者所有