即可。22DS18B20硬件连接r
DS18B20器件都有一个唯一的64bitROM地址,通过协议就能识别这些序列号,这样多个DS18B20可以挂接在同一条单总线上,构成多点温度采集网络。由于DS18B20具有ldquo单总线rdquo的技术特点,因此可以采用两种不同的方式连接单片机。(1)单端口并联连接:所有DS18B20均连接在同一条总线上,然后再连接到单片机的某个IO端口。这种连接方式具有硬件开销小的优点,理论上一根总线可以挂接256个DS18B20,但若连接的数字传感器数量较多,单片机需要花较多的时间才能获得每个传感器的序列号,会降低系统的实时性,同时使得软件编程变得复杂。(2)多端口并行连接:每个DS18B20独占单片机某个IO端口。这种并行连接方式使得单片机能够对所有的数字传感器进行并行操作,同一时间能实现多个输入输出,实现对温度数据的快速读取,从而提高系统的实时性,同时也使得软件编程变得简单,缩短了项目的开发周期。这种连接方式的缺点是硬件开销比较大。根据空调检测系统的实际需要,系统使用16片DS18B20构成小型温度数据采集网络,结合单端口并联连接和多端口并行连接的连接特点,每个IO端口连接两片DS18B20,共使用8个IO端口,单片机与16片DS18B20连接框图。DS18B20芯片的DQ端和单片机的IO端口相连,并接上一个43kOmega的上拉电阻,芯片的GND端接地线,VDD端接5V电源线。AT89S52是一种低功耗、高性能CMOS8bit微控制器,具有8KBFlash,256BRAM,32bitIO口线,3个16bit定时器计数器,其资源性能可以满足空调检测系统温度采集的需要。r
r
单片机需要通过接口电路实现与DS18B20的连接,接口电路图。J1是接线端子台,DS18B20通过三芯电缆连接到J1;二极管IN4148实现电压钳位;RWDS1和单片机AT89S52的一个IO端口相连;16片DS18B20通过J1J8与温度采集模块连接。r
r
3程序设计31DS18B20温度采集DS18B20温度采集基本流程:单片机发出复位脉冲,当信号线上的DS18B20发出存在脉冲后,即完成DS18B20的初始化工作;单片机检测到存在脉冲,便发起ROM操作命令;发送内存操作指令,启动DS18B20温度转换;延时2mus等待温度转换完成;发出匹配ROM命令后紧接着发送片内ROM序列号;读取序列号对应的DS18B20暂存器,从而读出温度值;读完一个DS18B20温度值后,接着转向下一个DS18B20的操作。这样的操作循环进行,从而完成对所有DS18B20温度值的读取。温度采集基本流程图1。r
r
DS18B20作为智能集成温度传感器,其智能化实现要以高质量代码作保障。因为读取每一个DS18B20都需要匹配序列号,复位、读、写操作都需要针对不同的IO口,所以,16片r