DS18B20 构成测温系统内容摘要:

1、实验任务用一片 成测温系统,测量的温度精度达到 ,测量的温度的范围在20 度到50 度之间,用 4 位数码管显示出来。 硬件电路图实验原理字温度计是 司生产的 1单总线器件,具有线路简单,体积小的特点。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计。 品的特点(1) 、只要求一个I/O 口即可实现通信。 (2) 、在 的每个器件上都有独一无二的序列号。 (3) 、实际应用中不需要外部任何元器件即可实现测温。 (4) 、测量温度范围在55。 C 到125。 C 之间。 (5) 、数字温度计的分辨率用户可以从 9 位到 12 位选择。 (6) 、内部有温度上、下限告警设置 2、。 细引脚功能描述 1 信号;2 据输入/ 输出引脚。 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源;3 选择的 脚。 当工作于寄生电源时,此引脚必须接地。 使用方法。 由于 用的是 1线协议方式,即在一根数据线实现数据的双向传输,而对 片机来说,我们必须采用软件的方法来模拟单总线的协议时序来完成对 片的访问。 由于 在一根 I/O 线上读写数据,因此,对读写的数据位有着严格的时序要求。 协议定义了几种信号的时序:初始化时序、读时序、写时序。 所有时序都是将主机作为主设备,单总线器件作为从设备。 而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后, 3、主机需启动读时序完成数据接收。 数据和命令的传输都是低位在先。 C 语言源程序 程序一#1= 0 /显示段码; /数据输入/输出脚 据情况设定;/小数第一位;/两位小数; /温度正负标志/*显示延时程序*/= 0 )i;i=0; i 1); j,i;j=1;j 1; 0; /写 0i+; i+; 1;i=0;a=a; b=b+1; /补码转换,取反加一; /读取温度为负时 a/16+b*16; /整数部分 (a&010/16; /小数第一位 (a&0100/16%10;/小数0+ ;/); /如果是不断地读取的话可以不延; /读取温度,执行完毕温度将存于if(1) /温度为正时显示的数据 2&00 4、=0; /输); 2|02&00=0|0(8); 2|02&00= /输出小数点); 2|02&00= /输出小); 2|0if(0) /温度为负时显示的数据 2&00=1; /负号); 2|02&00=0|0(8); 2|02&00=0; /输出个位); 2|0 2&00= /输出小); 2|0;);C 语言源程序 程序二#1= 0 /显示段码; /数据输入/输出脚 据情况设定;/小数第一位;/两位小数; /温度正负标志/*显示延时程序*/= 0 )i;i=0; i 1); j,i;j=1;j 1; 0; /写 0i+; i+; 1;i=0;a=a; b=b+1; /补码转换,取反加一; / 5、读取温度为负时 a/16+b*16; /整数部分 (a&010/16; /小数第一位 (a&0100/16%10;/小数0+ ;/); /如果是不断地读取的话可以不延; /读取温度,执行完毕温度将存于if(1) /温度为正时显示的数据 2&00=0; /输出十位); 2|02&00=0|0(8); 2|02&00= /输出小数点); 2|02&00= /输出小); 2|0if(3);if(35);/if(0) /温度为负时显示的数据 2&00=1; /负号); 2|02&00=0|0(8); 2|02&00=0; /输出个位); 2|02&00= /输出小); 2|0;);C 语言源程序 程序 6、三#1= 0 /显示段码; /数据输入/输出脚 据情况设定21;22;j=10;/小数第一位;/两位小数; /温度正负标志/*显示延时程序*/= 0 )i;i=0; i 1); j,i;j=1;j 1; 0; /写 0i+; i+; 1;i=0;a=a; b=b+1; /补码转换,取反加一; /读取温度为负时 a/16+b*16; /整数部分 (a&010/16; /小数第一位 (a&0100/16%10;/小数0+ ;/); /如果是不断地读取的话可以不延; /读取温度,执行完毕温度将存于if(1) /温度为正时显示的数据 2&00=0; /输出十位); 2|02&00=0|0(8); 2|02=0=j/10; /输出十位); 2|02&00=j%10。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。