网站大量收购独家精品文档,联系QQ:2885784924

数字温度控制器的设计与制作PPT.ppt

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

;; 1.单总线数字温度传感器DS18B20;(1)DS18B20的优点 采用单总线的接口方式。与微处理器连接时,仅需要一条口线即可实现微处理器与 DS18B20 的双向通信。 每个器件上都有独一无二的序列号。 测量温度范围宽,测量精度高。 在使用中不需要任何外围元件即可实现测温。 内部有温度上、下限告警设置。?? 支持多点组网功能。 供电方式灵活。 测量参数可配置。 负压特性。 掉电保护功能。体积小、适用电压宽、更经济。;(2) DS18B20芯片结构;(1) 初始化时序;(2) 对DS18B20的写和读操作时序;3.传感器的操作使用 ;(2)发送一条 ROM 指令 DS18B20的ROM指令集如表8-2所示:;(3)发送存储器指令 DS18B20的存储器指令集如表8-3所示:;DS18B20进行一次温度转换的具体操作如下: 1)主机先作个复位操作 2)主机再写跳过ROM的操作(CCH)命令 3)然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制在写到总线上时要从低位开始写,写的顺序是“0、0、1、1、0、0、1、1”。整个操作的总线状态如下图8-6所示。 ;读取RAM内的温度数据的具体操作如下: 1)主机发出复位操作并接收DS18B20的应答(存在)脉冲。 2)主机发出跳过对ROM操作的命令(CCH)。 3)主机发出读取RAM的命令(BEH),随后主机依次读取DS18B20发出的从第0一第8,共九个字节的数据。如果只想读取温度数据,那在读完第0和第1个数据后就不再理会后面DS18B20发出的数据即可。同样读取数据也是低位在前的。整个操作的总线状态如下图8-7所示。 ; 第二步跳过对ROM操作的命令是在总线上只有一个器件时,为节省时间而简化的操作,若总线上不止一个器件,那么跳过ROM操作命令将会使几器件同时响应,这样就会出现数据冲突。;;引脚功能如表8-4所示。 ;(2)1602LCD液晶显示模块控制指令 ; 2.液晶模块读写操作时序 ;(2)读时序; 从图8-10和图8-11可以看出,1602液晶的读写操作时序可总结成表8-8所示。;(3)RAM地址映射图;(4)液晶操作步骤 ;2)数据控制;液晶初始化子程序:;初始化子程序参考如下: void init( ) { lcde=0; //使能端E清零 write_com(0x38); //显示模式设置 write_com(0x0f); //开显示,显示光标,光标闪烁 write_com(0x06); //当写一个字符后,地址指针自 动加1,且光标加1,字符不动 write_com(0x01); //清屏 write_com(0x80); //设置数据指针 };写命令子函数:;参考程序如下: void write_data(unsigned char data1) { lcdrs=1; //RS置1,代表数据操作 D0~D7=data1; delay(5); lcde=1; delay(5); lcde=0; //产生高脉冲 };3.液晶显示模块应用实例; 分析:Proteus中LCD1602液晶显示元件名称是LM016L(在元件查找里面可以找到),这个元件接法与LCD1602相同。;void write_com(unsigned char com) { lcdrs=0; P3=com; delay(5); lcde=1; delay(5); lcde=0; } void write_data(unsigned char data1) { lcdrs=1; P3=data1; delay(5); lcde=1; delay(5); lcde=0; };void init( ) { lcde=0; //使能端E清零 write_com(0x38); //显示模式设置 write_com(0x0f); //开显示,显示光标,光标闪烁 write_com(0x06); //当写一个字符后,地址指针自动加1, 且光标加1,字符不动 write_com(0x01);

文档评论(0)

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

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

1亿VIP精品文档

相关文档