找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2551|回复: 0
打印 上一主题 下一主题
收起左侧

DS18B20多路采集 ROM编码的读取与使用

[复制链接]
跳转到指定楼层
楼主
如用Proteus 需更改DS18B20的ROM值多路采集 需单个读取其ROM值
/*ROM编码读取*/
void DS18B20_Read_8Rom(uchar *buffer)
{
        uchar i;
          init_ds18b20();
        Write_DS18B20(0x33);
        for(i=0;i<8;i++)
        buffer[i]=Read_DS18B20();
}

void send(uchar x)
{
        SBUF=x;
        while(!TI);
        TI=0;
}       
void read_DS18B20bm()
{                               
        uchar ww=0;
        delay(222);
        DS18B20_Read_8Rom(cun);  
        for(ww=0;ww<8;ww++)
        {
                send(cun[ww]);         
                delay(222);          
        }
}
/*温度读取*/

void DS18B20_Write_Rom(uchar *buffer)
{

        signed char i;       
        for(i=0;i<8;i++)
        Write_DS18B20(buffer[i]); //写入8个字节的ROM

}
uchar rd_temperature(uchar *buffer)
{
        uchar high,low;
        char temp;
          init_ds18b20();       
        Write_DS18B20(0x55);                                  
        DS18B20_Write_Rom(buffer);
        Write_DS18B20(0x44);
          Delay_OneWire(200);       
          init_ds18b20();          
        Write_DS18B20(0x55);
        DS18B20_Write_Rom(buffer);   
        Write_DS18B20(0xbe);  
          Delay_OneWire(200);       
       
          low = Read_DS18B20();
          high = Read_DS18B20();

          temp = high<<4;  
          temp |= (low>>4);
          return temp;
}
附 DS18B20手册多路采集表



_O]R4KJ72JN3YCDH4UQBGA3.png (201.95 KB, 下载次数: 66)

_O]R4KJ72JN3YCDH4UQBGA3.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表