5407|12

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于DS18B20的问题 [复制链接]

谁能给我个51单片机的DS18B20程序,晶振是11.0592的,搞了一天都一直显示85度

此帖出自51单片机论坛

最新回复

ds18b20采集模块lct2662m,                                     ds18b20采集仪表 LCT2201C   采集数据显示   培训视频    详情 回复 发表于 2019-9-27 12:32
点赞 关注
 

回复
举报

145

帖子

2

TA的资源

一粒金砂(中级)

沙发
 

回复 楼主 不觉细雨 的帖子

兄弟,我给你
此帖出自51单片机论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 电子研发_lp 的帖子

474795226@qq.com谢谢了啊
此帖出自51单片机论坛
 
 
 

回复

145

帖子

2

TA的资源

一粒金砂(中级)

4
 

回复 板凳 ylf175300 的帖子

你加我QQ吧,晚上发给你
此帖出自51单片机论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(高级)

5
 

老早以前写的   给你参考参考....希望对你有帮助

新建 Microsoft Word 文档.doc

47 KB, 下载次数: 40

此帖出自51单片机论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 沙发 电子研发_lp 的帖子

能给我发份吗?我们的要求是多个ddsb18b20+1602显示,还有报警电路,拓展功能是实现多机间的通信
此帖出自51单片机论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 楼主 不觉细雨 的帖子

一直显示85度?搞明白没?我的开始也是八十五,不过立马就变正确了,你知道为什么开始时显示85吗?有这些资料吗?可以给我份分享一下吗?
此帖出自51单片机论坛
 
 
 

回复

145

帖子

2

TA的资源

一粒金砂(中级)

8
 

回复 6楼 chhutiange 的帖子

按照你的要求的没有这个程序
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

9
 
终极幻想,能不能给我一份哦 1426227062@qq.com
此帖出自51单片机论坛
 
 
 

回复

119

帖子

0

TA的资源

纯净的硅(初级)

10
 

这是我几年前用430编的程序,虽然编的不太好,但是能用,给大家做参考吧。

// 以  下  为:  DS18b20 读温度的程序
// 接口程序为: uint Read_Temperature(void);    //读回的数如果是"256"那么温度为25.6度
#define  ds18b20_out   P1DIR|= BIT7;
#define  ds18b20_in    P1DIR&=~BIT7;

#define ds18b20_out_1   P1OUT|= BIT7;    //输出1
#define ds18b20_out_0   P1OUT&=~BIT7;    //输出0
#define ds18b20_io_in      P1IN&BIT7       //判断接受的数据是1还是0
#define DQ   BIT0

//****************温度程序****************************

void delay_u(uchar x)
{
uchar y;
for(y=0;y<=x;x++);  
}
//------------------------------------------------------------------------------
void delay_d(int Us)
{
    int Count=1,i,j;
    for(i = Us; i > 0; i--){for(j = Count;j > 0;j--); }
    return;
}
//------------------------------------------------------------------------------
char DS1820_Reset(void)
{
    char presence;  // 设定管脚为输出方向
    ds18b20_out;ds18b20_out_0;
    ds18b20_out;ds18b20_out_1;
    ds18b20_out;ds18b20_out_0;
      delay_d(25);// 延时480微妙
    ds18b20_out;ds18b20_out_1;
      delay_d(3); //延时60微妙
    ds18b20_out;ds18b20_out_0;
    ds18b20_in;
    presence = (char)(ds18b20_io_in);
    delay_d(2);// 延时60微妙
    return(presence);
}
//------------------------------------------------------------------------------
char DS1820_ReadByte(void)
{
        char i,value=0,presence;
       
        for (i = 8;i > 0;i--)
        {
          value >>= 1;
            ds18b20_out;ds18b20_out_1;
            ds18b20_out;ds18b20_out_1;
            ds18b20_out;ds18b20_out_0;
            ds18b20_out;ds18b20_out_1;
            ds18b20_out_1;               // 延时1微妙       
            ds18b20_in;
            presence = (char)(ds18b20_io_in);
                if(presence) value |= 0x80;
            delay_d(2);                  // 延时60微妙
            ds18b20_out;ds18b20_out_1;
        }
            return value;
}
//------------------------------------------------------------------------------
void DS1820_WriteByte(char val)
{
        char i,nBit;
        for (i=8; i>0; i--)
        {
       ds18b20_out;ds18b20_out_1;
       ds18b20_out;ds18b20_out_1;     
       ds18b20_out_1;           // 延时1微妙
       ds18b20_out;ds18b20_out_0;
        nBit = val & 0x01;
                if (nBit)
                {ds18b20_out_1;}
                else
                {ds18b20_out_0;}
        delay_d(2);             // 延时50微妙
        ds18b20_out;ds18b20_out_1;
                 val >>= 1;
        }
        i++;i++;i++;i++;i++;// 延时5微妙
}
//------------------------------------------------------------------------------
uint Read_Temperature(void)
{
        uint th, tl,ta;
        int data;
//_DINT();
        // 复位
        DS1820_Reset();// Skip ROM
        DS1820_WriteByte(0xCC);// 开始转换
        DS1820_WriteByte(0x44);
        DS1820_Reset();
        DS1820_WriteByte(0xCC);// Read Scratch
        DS1820_WriteByte(0xBE);//读取温度数据
       
    tl=DS1820_ReadByte();
    th=DS1820_ReadByte();
    th<<=8;
    ta=tl|th;
    data=ta;
    data/=2;
    return data;
//_EINT();     
}
//****************温度程序结束************************
此帖出自51单片机论坛
 
 
 

回复

119

帖子

0

TA的资源

纯净的硅(初级)

11
 

回复 楼主 不觉细雨 的帖子

做18B20最关键的是程序里面的延时一定要准
此帖出自51单片机论坛
 
 
 

回复

41

帖子

0

TA的资源

一粒金砂(中级)

12
 
我原来使用的是MSP430直接带一片DS18B20

新进开辟了“高速线阵式工业相机设计”的一个专项讨论区,不知道用这类东西的人多不多,多的话可以把资料也转发到这里来一些。
此帖出自51单片机论坛
 
个人签名第九单片机论坛 欢迎您的光临
www.9mcu.com
 
 

回复

203

帖子

0

TA的资源

一粒金砂(高级)

13
 

ds18b20采集模块lct2662m,                                     ds18b20采集仪表 LCT2201C

 

采集数据显示

 

培训视频 

此帖出自51单片机论坛
 
个人签名北京长信物联科技有限公司
专业的USB温湿度传感器、485温湿度传感器、气体传感器、64路DS18B20温度采集模块厂商。
www.lct2000.cn
QQ:1930227091
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表