《DS18B20 测量温度系统〖AT89S52单片机实用例程〗》由会员分享,可在线阅读,更多相关《DS18B20 测量温度系统〖AT89S52单片机实用例程〗(5页珍藏版)》请在金锄头文库上搜索。
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=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;);